使用Maven搭建一个Web项目
生活随笔
收集整理的這篇文章主要介紹了
使用Maven搭建一个Web项目
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 設計需求
- 設計思路
- 代碼部分
- 目錄結構
- 頁面截圖
設計需求
完成添加客戶信息的操作
設計思路
1) 獲得請求參數(封裝成一個對象)
2)調用業務,進行保存
3)響應
代碼部分
pom.xml
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.byc</groupId><artifactId>customer</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>customer Maven Webapp</name><!-- FIXME change it to the project's website --><url>http://www.example.com</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!-- https://mvnrepository.com/artifact/junit/junit --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!--https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java--><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.16</version></dependency><!-- https://mvnrepository.com/artifact/com.alibaba/druid --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.23</version></dependency><!-- https://mvnrepository.com/artifact/commons-dbutils/commons-dbutils --><dependency><groupId>commons-dbutils</groupId><artifactId>commons-dbutils</artifactId><version>1.6</version></dependency><!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils --><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.3</version></dependency><!-- https://mvnrepository.com/artifact/javax.servlet.jsp/jsp-api--><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.1</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/javax.servlet/jstl --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!--加入lombok依賴--><!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12</version></dependency><!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12</version><scope>provided</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><configuration><!-- 指定端? --><port>8080</port><!-- 請求路徑 --><path>/</path></configuration></plugin> </plugins></build> </project>創建數據庫
CREATE TABLE `cst_customer` ( `cust_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '客戶編號(主鍵)', `cust_name` varchar(32) NOT NULL COMMENT '客戶名稱(公司名稱)', `cust_source` varchar(32) DEFAULT NULL COMMENT '客戶信息來源', `cust_industry` varchar(32) DEFAULT NULL COMMENT '客戶所屬?業', `cust_level` varchar(32) DEFAULT NULL COMMENT '客戶級別', `cust_phone` varchar(64) DEFAULT NULL COMMENT '固定電話', `cust_mobile` varchar(16) DEFAULT NULL COMMENT '移動電話', PRIMARY KEY (`cust_id`) )
在IDEA中安裝Lombok插件
Customer.java
package com.byc.pojo;import lombok.Data;@Data public class Customer {private Long cust_id;private String cust_name;private String cust_source;private String cust_industry;private String cust_level;private String cust_phone;private String cust_mobile; }index.jsp文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body> <form action="/register"method="post">客戶名稱:<input type="text" name="cust_name"/><br/>客戶來源:<input type="text" name="cust_source"/><br/>客戶行業:<input type="text" name="cust_industry"/><br/>客戶級別:<input type="text" name="cust_level"/><br/>客戶手機:<input type="text" name="cust_phone"/><br/>客戶電話:<input type="text" name="cust_mobile"/><br/><input type="submit" value="保存"/><br/> </form> </body> </html>resourses
driverClassName=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/mydb?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true username=root password=root用戶注冊
package com.byc;import com.byc.pojo.Customer; import com.byc.service.CustomerService; import org.apache.commons.beanutils.BeanUtils;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.sql.SQLException; import java.util.Map;@WebServlet("/register") public class RegisterCustomerServlet extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.處理中文request.setCharacterEncoding("utf-8");response.setContentType("text/html;charset=utf-8");//2.獲取瀏覽器發來的數據Map<String, String[]> map = request.getParameterMap();//3.封裝數據到客戶Bean中Customer customer = new Customer();try {BeanUtils.populate(customer,map);}catch (Exception e){e.printStackTrace();}//4.調用service層方法,保存客戶CustomerService service = new CustomerService();try {service.save(customer);} catch (SQLException e) {e.printStackTrace();}//5.響應結果返回給頁面response.getWriter().print("保存成功!!!");}@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);} }DruidUtils.java
package com.byc.util;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource; import java.io.InputStream; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties;/*** 阿?巴巴的連接池 Druid ?具類*/ public class DruidUtils {/*1. 加載 druid.properties 配置?件2. 創建 Druid 連接池對象3. 提供 獲得 連接池對象的?法4. 提供 從連接池中 獲取連接對象Connection的 ?法*/public static DataSource ds = null;static {try { //1. 加載 druid.properties 配置?件InputStream is =DruidUtils.class.getClassLoader().getResourceAsStream("db.properties");Properties prop = new Properties();prop.load(is); //2. 創建 Druid 連接池對象ds = DruidDataSourceFactory.createDataSource(prop);} catch (Exception e) {e.printStackTrace();}}/*3. 提供 獲得 連接池對象的?法*/public static DataSource getDataSource() {return ds;}/*4. 提供 從連接池中 獲取連接對象Connection的 ?法*/public static Connection getConnetion() throws SQLException {Connection conn = ds.getConnection();return conn;} }CustomerService.java
package com.byc.service;import com.byc.dao.CustomerDao; import com.byc.pojo.Customer;import java.sql.SQLException;public class CustomerService {/*** 保存客戶* @param c*/public void save(Customer c) throws SQLException {//調用dao層的方法,保存客戶CustomerDao customerDao = new CustomerDao();customerDao.save(c);} }CustomerDao.java
package com.byc.dao;import com.byc.pojo.Customer; import com.byc.util.DruidUtils; import org.apache.commons.dbutils.QueryRunner;import java.sql.SQLException;public class CustomerDao {private QueryRunner queryRunner = new QueryRunner(DruidUtils.getDataSource());/*** 保存客戶* @param c*/public void save(Customer c) throws SQLException {String sql = "insert into cst_customer values(?,?,?,?,?,?,?)";Object[] params = {c.getCust_id(), c.getCust_name(),c.getCust_source(),c.getCust_industry(),c.getCust_level(), c.getCust_phone(), c.getCust_mobile()};queryRunner.update(sql,params);} }目錄結構
頁面截圖
常見錯誤解決辦法
總結
以上是生活随笔為你收集整理的使用Maven搭建一个Web项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MAC mini主要干什么用([Opin
- 下一篇: com.alibaba.druid.po