環境:css
要求:html
1-1:建立一個數據庫前端
1 CREATE DATABASE `ssm-books`; 2 3 USE `ssm-books`; 4 5 CREATE TABLE `books` ( 6 `bookId` INT(10) NOT NULL AUTO_INCREMENT COMMENT '書id', 7 `bookName` VARCHAR(100) NOT NULL COMMENT '書名', 8 `bookNumber` INT(11) NOT NULL COMMENT '數量', 9 `bookPrice` INT(20) NOT NULL COMMENT '價格', 10 KEY `bookId` (`bookId`) 11 ) ENGINE=INNODB DEFAULT CHARSET=utf8 12 13 INSERT INTO `books`(`bookId`,`bookName`,`bookNumber`,`bookPrice`)VALUES 14 (1,'西遊記',5,55), 15 (2,'水滸傳',6,66), 16 (3,'三國演義',7,77);
1-2:建立數據庫須要的database.propertiesjava
jdbc.Driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/ssm-books?useSSL=true&useUnicode=true&characterEncoding=utf-8 jdbc.username=root jdbc.password=123456
1-3:導入數據庫驅動包mysql
1 <dependency> 2 <groupId>mysql</groupId> 3 <artifactId>mysql-connector-java</artifactId> 4 <version>5.1.47</version> 5 </dependency>
1-4:IDEA關聯數據庫web
2-1:實體類 com.qsh.pojo.Booksspring
1 public class Books { 2 3 private int bookId; 4 private String bookName; 5 private int bookNumber; 6 private int bookPrice; 7 8 public Books() { 9 } 10 11 public Books(int bookId, String bookName, int bookNumber, int bookPrice) { 12 this.bookId = bookId; 13 this.bookName = bookName; 14 this.bookNumber = bookNumber; 15 this.bookPrice = bookPrice; 16 } 17 18 public int getBookId() { 19 return bookId; 20 } 21 22 public void setBookId(int bookId) { 23 this.bookId = bookId; 24 } 25 26 public String getBookName() { 27 return bookName; 28 } 29 30 public void setBookName(String bookName) { 31 this.bookName = bookName; 32 } 33 34 public int getBookNumber() { 35 return bookNumber; 36 } 37 38 public void setBookNumber(int bookNumber) { 39 this.bookNumber = bookNumber; 40 } 41 42 public int getBookPrice() { 43 return bookPrice; 44 } 45 46 public void setBookPrice(int bookPrice) { 47 this.bookPrice = bookPrice; 48 } 49 50 @Override 51 public String toString() { 52 return "Books{" + 53 "bookId=" + bookId + 54 ", bookName='" + bookName + '\'' + 55 ", bookNumber=" + bookNumber + 56 ", bookPrice=" + bookPrice + 57 '}'; 58 } 59 }
2-2:Dao層接口 com.qsh.dao.BookDaosql
1 import org.apache.ibatis.annotations.Param; 2 import com.qsh.pojo.Books; 3 import java.util.List; 4 5 public interface BookDao { 6 7 //增長books 8 int addBook(Books books); 9 10 //經過id刪除books 11 int delBookById(@Param("bookId") int bookId); 12 13 //更新books 14 int upBook(Books books); 15 16 //經過id獲取books 17 Books allBookById(@Param("bookId") int bookId); 18 19 //獲取所有books 20 List<Books> allBook(); 21 }
2-3:編寫接口對應的Mapper文件時須要導入MyBatis的包數據庫
1 <dependency> 2 <groupId>org.mybatis</groupId> 3 <artifactId>mybatis</artifactId> 4 <version>3.5.1</version> 5 </dependency>
2-4:編寫BookMapper.xml文件apache
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.qsh.dao.BookDao"> <!--1.增長books--> <insert id="addBook" parameterType="Books"> insert into books (bookId,bookName,bookNumber,bookPrice) values (#{bookId},#{bookName},#{bookNumber},#{bookPrice}) </insert> <!--2.經過id刪除books--> <delete id="delBookById" parameterType="Books"> delete from books where bookId=#{bookId} </delete> <!--3.更新books--> <update id="upBook" parameterType="Books"> update books set bookName=#{bookName},bookNumber=#{bookNumber},bookPrice=#{bookPrice} where bookId=#{bookId} </update> <!--4.經過id獲取books--> <select id="allBookById" resultType="Books"> select * from books where bookId=#{bookId} </select> <!--5.獲取所有books--> <select id="allBook" resultType="Books"> select * from books </select> </mapper>
2-5:編寫Mybatis-config.xml配置文件;配置別名,註冊映射文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!--別名--> <typeAliases> <package name="com.qsh.pojo"/> </typeAliases> <!--關聯映射文件--> <mappers> <mapper resource="com/qsh/dao/BookMapper.xml"/> </mappers> </configuration>
3-1:接口 com.qsh.service.BookService
1 import com.qsh.pojo.Books; 2 import org.apache.ibatis.annotations.Param; 3 import java.util.List; 4 5 public interface BookService { 6 7 //增長books 8 int addBook(Books books); 9 10 //經過id刪除books 11 int delBookById(@Param("bookId") int bookId); 12 13 //更新books 14 int upBook(Books books); 15 16 //經過id獲取books 17 Books allBookById(@Param("bookId") int bookId); 18 19 //獲取所有books 20 List<Books> allBook(); 21 }
3-2:實現類 com.qsh.service.BookServiceImpl
1 import com.qsh.dao.BookDao; 2 import com.qsh.pojo.Books; 3 import java.util.List; 4 5 public class BookServiceImpl implements BookService { 6 7 //組合Dao層,設置一個set接口,方便spring管理 8 private BookDao bookDao; 9 10 public void setBookDao(BookDao bookDao) { 11 this.bookDao = bookDao; 12 } 13 14 @Override 15 public int addBook(Books books) { 16 17 return bookDao.addBook(books); 18 } 19 20 @Override 21 public int delBookById(int bookId) { 22 return bookDao.delBookById(bookId); 23 } 24 25 @Override 26 public int upBook(Books books) { 27 28 return bookDao.upBook(books); 29 } 30 31 @Override 32 public Books allBookById(int bookId) { 33 34 return bookDao.allBookById(bookId); 35 } 36 37 @Override 38 public List<Books> allBook() { 39 return bookDao.allBook(); 40 } 41 }
4-1:咱們這裏數據源使用c3p0鏈接池;先導入相關jar包
1 <!--1.mybatis-spring整合包 --> 2 <dependency> 3 <groupId>org.mybatis</groupId> 4 <artifactId>mybatis-spring</artifactId> 5 <version>1.3.1</version> 6 </dependency> 7 8 <!-- 2.spring mvc和 spring 系列包 --> 9 <dependency> 10 <groupId>org.springframework</groupId> 11 <artifactId>spring-webmvc</artifactId> 12 <version>4.3.24.RELEASE</version> 13 </dependency> 14 <dependency> 15 <groupId>org.springframework</groupId> 16 <artifactId>spring-jdbc</artifactId> 17 <version>4.3.24.RELEASE</version> 18 </dependency> 19 20 <!-- 3.第三方數據源:c3p0 --> 21 <dependency> 22 <groupId>com.mchange</groupId> 23 <artifactId>c3p0</artifactId> 24 <version>0.9.5.2</version> 25 </dependency>
4-2:配置spring-dao.xml
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:context="http://www.springframework.org/schema/context" 5 xsi:schemaLocation="http://www.springframework.org/schema/beans 6 http://www.springframework.org/schema/beans/spring-beans.xsd 7 http://www.springframework.org/schema/context 8 http://www.springframework.org/schema/context/spring-context.xsd"> 9 10 <!-- 1.關聯數據庫--> 11 <context:property-placeholder location="classpath:database.properties"/> 12 13 <!-- 2.數據庫鏈接池 --><!-- c3p0:自動化操做(自動的加載配置文件 而且設置到對象裏面)--> 14 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> 15 <!-- 2-1.配置鏈接池屬性 --> 16 <property name="driverClass" value="${jdbc.Driver}"/> 17 <property name="jdbcUrl" value="${jdbc.url}"/> 18 <property name="user" value="${jdbc.username}"/> 19 <property name="password" value="${jdbc.password}"/> 20 </bean> 21 22 <!-- 3.配置SqlSessionFactory對象--> 23 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 24 <!-- 3-1.注入數據庫鏈接池--> 25 <property name="dataSource" ref="dataSource"/> 26 <!-- 3-2.配置mybatis全局配置文件:mybatis-config.xml--> 27 <property name="configLocation" value="classpath:mybatis-config.xml"/> 28 </bean> 29 30 <!-- 4.配置掃描Dao接口包,動態實現Dao接口注入到spring容器中--> 31 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 32 <!-- 4-1.注入sqlSessionFactory--> 33 <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> 34 <!-- 4-2.給出須要掃描Dao接口包--> 35 <property name="basePackage" value="com.qsh.dao"/> 36 </bean> 37 38 </beans>
5-1:配置spring-service.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:context="http://www.springframework.org/schema/context" 5 xsi:schemaLocation="http://www.springframework.org/schema/beans 6 http://www.springframework.org/schema/beans/spring-beans.xsd 7 http://www.springframework.org/schema/context 8 http://www.springframework.org/schema/context/spring-context.xsd"> 9 10 <!-- 1.掃描service相關的bean--> 11 <context:component-scan base-package="com.qsh.service"/> 12 13 <!-- 2.BookServiceImpl注入到IOC容器中--> 14 <bean id="BookServiceImpl" class="com.qsh.service.BookServiceImpl"> 15 <property name="bookDao" ref="bookDao"/> 16 </bean> 17 18 </beans>
6-1:配置web.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 5 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 6 id="WebApp_ID" version="3.0"> 7 8 <!-- 1.註冊DispatcherServlet--> 9 <servlet> 10 <servlet-name>DispatcherServlet</servlet-name> 11 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 12 13 <!-- 2.關聯spring配置文件--> 14 <init-param> 15 <param-name>contextConfigLocation</param-name> 16 <param-value>classpath:applicationContext.xml</param-value> 17 </init-param> 18 <load-on-startup>1</load-on-startup> 19 </servlet> 20 <servlet-mapping> 21 <servlet-name>DispatcherServlet</servlet-name> 22 <url-pattern>/</url-pattern> 23 </servlet-mapping> 24 25 26 <!-- 3.處理亂碼問題--> 27 <filter> 28 <filter-name>encodingFilter</filter-name> 29 <filter-class> 30 org.springframework.web.filter.CharacterEncodingFilter 31 </filter-class> 32 <init-param> 33 <param-name>encoding</param-name> 34 <param-value>utf-8</param-value> 35 </init-param> 36 </filter> 37 <filter-mapping> 38 <filter-name>encodingFilter</filter-name> 39 <url-pattern>/*</url-pattern> 40 </filter-mapping> 41 42 </web-app>
6-2:配置spring-mvc.xml
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:context="http://www.springframework.org/schema/context" 5 xmlns:mvc="http://www.springframework.org/schema/mvc" 6 xsi:schemaLocation="http://www.springframework.org/schema/beans 7 http://www.springframework.org/schema/beans/spring-beans.xsd 8 http://www.springframework.org/schema/context 9 http://www.springframework.org/schema/context/spring-context.xsd 10 http://www.springframework.org/schema/mvc 11 http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> 12 13 <!-- 1.開啓springMVC註解模式--> 14 <mvc:annotation-driven/> 15 16 <!-- 2.靜態資源默認servlet設置--> 17 <mvc:default-servlet-handler/> 18 19 <!-- 3.配置jsp 顯示ViewResolver--> 20 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 21 <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 22 <property name="prefix" value="/WEB-INF/jsp/"/> 23 <property name="suffix" value=".jsp"/> 24 </bean> 25 26 <!-- 4.掃描web相關的bean--> 27 <context:component-scan base-package="com.qsh.controller"/> 28 29 </beans>
7-1:咱們將前面的spring-dao.xml spring-service.xml spring-mvc.xml 三個配置文件導入一個大的配置文件中,使其項目結構更加清晰,也更好管理
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans 5 http://www.springframework.org/schema/beans/spring-beans.xsd"> 6 7 <import resource="spring/spring-dao.xml"/> 8 <import resource="spring/spring-mvc.xml"/> 9 <import resource="spring/spring-service.xml"/> 10 11 </beans>
8-1:導入jsp和servlet的包
1 <!--1.servlet --> 2 <dependency> 3 <groupId>javax.servlet</groupId> 4 <artifactId>javax.servlet-api</artifactId> 5 <version>3.0.1</version> 6 </dependency> 7 8 <!-- 2.jsp --> 9 <dependency> 10 <groupId>javax.servlet.jsp</groupId> 11 <artifactId>jsp-api</artifactId> 12 <version>2.2</version> 13 </dependency> 14 15 <!-- 3.JSTL --> 16 <dependency> 17 <groupId>javax.servlet</groupId> 18 <artifactId>jstl</artifactId> 19 <version>1.2</version> 20 </dependency>
8-2:com.qsh.controller.BookController
1 import com.qsh.pojo.Books; 2 import com.qsh.service.BookService; 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.beans.factory.annotation.Qualifier; 5 import org.springframework.stereotype.Controller; 6 import org.springframework.ui.Model; 7 import org.springframework.web.bind.annotation.PathVariable; 8 import org.springframework.web.bind.annotation.RequestMapping; 9 import java.util.List; 10 11 @Controller 12 @RequestMapping("/book") 13 public class BookController { 14 15 @Autowired 16 @Qualifier("BookServiceImpl") 17 private BookService bookService; 18 19 //展現所有書籍 20 @RequestMapping("/allBook") 21 public String allBook(Model model){ 22 List<Books> list = bookService.allBook(); 23 model.addAttribute("list",list); 24 return "allBook"; 25 } 26 27 //跳轉到新增書籍頁面 28 @RequestMapping("/toAddBook") 29 public String toAddBook(){ 30 return "addBook"; 31 } 32 33 //增長書籍頁面 34 @RequestMapping("/addBook") 35 public String addBook(Books books){ 36 bookService.addBook(books); 37 return "redirect:/book/allBook"; //重定向到首頁 38 } 39 40 //跳轉到修改頁面 41 @RequestMapping("/toUpBook") 42 public String toUpdateBook(int id,Model model){ 43 Books books = bookService.allBookById(id); 44 model.addAttribute("book",books); 45 return "upBook"; 46 } 47 48 //修改書籍 49 @RequestMapping("/upBook") 50 public String updateBook(Books books,Model model){ 51 bookService.upBook(books); 52 //更新最新的書籍 53 Books books1 = bookService.allBookById(books.getBookId()); 54 model.addAttribute("books",books1); 55 return "redirect:/book/allBook"; //重定向到首頁 56 } 57 58 //刪除書籍,請使用restful風格 59 @RequestMapping("/del/{bookID}") 60 public String deleteBook(@PathVariable("bookID") int id){ 61 bookService.delBookById(id); 62 return "redirect:/book/allBook"; //重定向到首頁 63 } 64 }
9-1:index.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> 2 <!DOCTYPE HTML> 3 <html> 4 <head> 5 <title>首頁</title> 6 <style type="text/css"> 7 a { 8 text-decoration: none; 9 color: black; 10 font-size: 18px; 11 } 12 h3 { 13 width: 180px; 14 height: 38px; 15 margin: 100px auto; 16 text-align: center; 17 line-height: 38px; 18 background: deepskyblue; 19 border-radius: 4px; 20 } 21 </style> 22 </head> 23 <body> 24 25 <h3> 26 <a href="${pageContext.request.contextPath}/book/allBook">進入書籍列表</a> 27 </h3> 28 29 </body> 30 </html>
9-2:allbook.jsp
1 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 <%--使用JSTL標籤--%> 3 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 4 5 <html> 6 <head> 7 <title>所有書籍</title> 8 9 <%--引用BootStarp--%> 10 <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> 11 12 </head> 13 <body> 14 15 <div class="container"> 16 17 <%--標題--%> 18 <div class="row clearfix"> 19 <div class="col-md-12 column"> 20 <div class="page-header"> 21 <h1> 22 <small>書籍列表--顯示全部書籍</small> 23 </h1> 24 </div> 25 </div> 26 </div> 27 28 <%--增長--%> 29 <div class="row"> 30 <div class="col-md-4 column"> 31 <a class="btn btn-primary" href="${pageContext.request.contextPath}/book/toAddBook">新增</a> 32 </div> 33 </div> 34 35 <%--展現頁面:表格,修改,刪除--%> 36 <div class="row clearfix"> 37 <div class="col-md-12 column"> 38 <table class="table table-hover table-striped"> 39 40 <%--表頭--%> 41 <thead> 42 <tr> 43 <th>書籍編號</th> 44 <th>書籍名稱</th> 45 <th>書籍數量</th> 46 <th>書籍價格</th> 47 <%--操做:修改,刪除--%> 48 <th>操做</th> 49 </tr> 50 </thead> 51 <%--表的內容--%> 52 <tbody> 53 <c:forEach var="book" items="${list}"> 54 <tr> 55 <td>${book.getBookId()}</td> 56 <td>${book.getBookName()}</td> 57 <td>${book.getBookNumber()}</td> 58 <td>${book.getBookPrice()}</td> 59 <td> 60 <a href="${pageContext.request.contextPath}/book/toUpBook?id=${book.getBookId()}">更改</a> | 61 <a href="${pageContext.request.contextPath}/book/del/${book.getBookId()}">刪除</a> 62 </td> 63 </tr> 64 </c:forEach> 65 66 </tbody> 67 68 </table> 69 </div> 70 </div> 71 72 </div> 73 74 </body> 75 </html>
9-3:addBook.jsp
1 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 <html> 3 <head> 4 <title>新增書籍</title> 5 <%--引用BootStarp--%> 6 <link href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> 7 8 </head> 9 <body> 10 11 <%--顯示要增長的書籍信息--%> 12 <h1>增長書籍</h1> 13 14 <form method="post" action="${pageContext.request.contextPath}/book/addBook"> 15 書籍名稱:<input type="text" name="bookName"> <br/><br/> 16 書籍數量:<input type="text" name="bookNumber"> <br/><br/> 17 書籍價格:<input type="text" name="bookPrice"> <br/><br/> 18 <input type="submit"/> 19 </form> 20 21 </body> 22 </html>
9-4:upBook.jsp
1 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 <html> 3 <head> 4 <title>修改書籍</title> 5 </head> 6 <body> 7 8 <%--書籍原來的信息,修改按鈕--%> 9 <h1>修改書籍信息</h1> 10 <hr> 11 12 <form action="${pageContext.request.contextPath}/book/upBook" method="post"> 13 <%--id--%> 14 <input type="hidden" name="bookId" value="${book.getBookId()}"/> 15 書籍名稱:<input type="text" name="bookName" value="${book.getBookName()}"> <br/><br/> 16 書籍數量:<input type="text" name="bookNumber" value="${book. getBookNumber()}"> <br/><br/> 17 書籍價格:<input type="text" name="bookPrice" value="${book.bookPrice}"> <br/><br/> 18 <input type="submit" value="提交"/> 19 </form> 20 21 </body> 22 </html>
記得Maven資源導入問題
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 7 <groupId>com.qsh</groupId> 8 <artifactId>ssm-book-demo</artifactId> 9 <version>1.0-SNAPSHOT</version> 10 <packaging>war</packaging> 11 12 <name>ssm-book-demo Maven Webapp</name> 13 <!-- FIXME change it to the project's website --> 14 <url>http://www.example.com</url> 15 16 <properties> 17 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 18 <maven.compiler.source>1.7</maven.compiler.source> 19 <maven.compiler.target>1.7</maven.compiler.target> 20 </properties> 21 22 <dependencies> 23 <dependency> 24 <groupId>junit</groupId> 25 <artifactId>junit</artifactId> 26 <version>4.11</version> 27 <scope>test</scope> 28 </dependency> 29 30 <!-- 1-1.mybatis的包--> 31 <dependency> 32 <groupId>org.mybatis</groupId> 33 <artifactId>mybatis</artifactId> 34 <version>3.5.1</version> 35 </dependency> 36 37 <!-- 1-2.鏈接數據庫的驅動包--> 38 <dependency> 39 <groupId>mysql</groupId> 40 <artifactId>mysql-connector-java</artifactId> 41 <version>5.1.47</version> 42 </dependency> 43 44 <!-- 2-1.mybatis-spring整合包--> 45 <dependency> 46 <groupId>org.mybatis</groupId> 47 <artifactId>mybatis-spring</artifactId> 48 <version>1.3.1</version> 49 </dependency> 50 51 <!-- 2-2.spring mvc和 spring 系列包--> 52 <dependency> 53 <groupId>org.springframework</groupId> 54 <artifactId>spring-webmvc</artifactId> 55 <version>4.3.24.RELEASE</version> 56 </dependency> 57 <dependency> 58 <groupId>org.springframework</groupId> 59 <artifactId>spring-jdbc</artifactId> 60 <version>4.3.24.RELEASE</version> 61 </dependency> 62 63 <!-- 2-3.第三方數據源:c3p0--> 64 <dependency> 65 <groupId>com.mchange</groupId> 66 <artifactId>c3p0</artifactId> 67 <version>0.9.5.2</version> 68 </dependency> 69 70 <!-- 3-1.servlet--> 71 <dependency> 72 <groupId>javax.servlet</groupId> 73 <artifactId>javax.servlet-api</artifactId> 74 <version>3.0.1</version> 75 </dependency> 76 77 <!-- 3-2.jsp--> 78 <dependency> 79 <groupId>javax.servlet.jsp</groupId> 80 <artifactId>jsp-api</artifactId> 81 <version>2.2</version> 82 </dependency> 83 84 <!-- 3-3.JSTL--> 85 <dependency> 86 <groupId>javax.servlet</groupId> 87 <artifactId>jstl</artifactId> 88 <version>1.2</version> 89 </dependency> 90 91 </dependencies> 92 93 <build> 94 95 <!--但願maven在導出項目的時候,可以將咱們的配置及資源導出--> 96 <resources> 97 <resource> 98 <directory>src/main/java</directory> 99 <includes> 100 <include>**/*.properties</include> 101 <include>**/*.xml</include> 102 </includes> 103 <filtering>false</filtering> 104 </resource> 105 <resource> 106 <directory>src/main/resources</directory> 107 <includes> 108 <include>**/*.properties</include> 109 <include>**/*.xml</include> 110 </includes> 111 <filtering>false</filtering> 112 </resource> 113 </resources> 114 115 <finalName>ssm-book-demo</finalName> 116 <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> 117 <plugins> 118 <plugin> 119 <artifactId>maven-clean-plugin</artifactId> 120 <version>3.1.0</version> 121 </plugin> 122 <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --> 123 <plugin> 124 <artifactId>maven-resources-plugin</artifactId> 125 <version>3.0.2</version> 126 </plugin> 127 <plugin> 128 <artifactId>maven-compiler-plugin</artifactId> 129 <version>3.8.0</version> 130 </plugin> 131 <plugin> 132 <artifactId>maven-surefire-plugin</artifactId> 133 <version>2.22.1</version> 134 </plugin> 135 <plugin> 136 <artifactId>maven-war-plugin</artifactId> 137 <version>3.2.2</version> 138 </plugin> 139 <plugin> 140 <artifactId>maven-install-plugin</artifactId> 141 <version>2.5.2</version> 142 </plugin> 143 <plugin> 144 <artifactId>maven-deploy-plugin</artifactId> 145 <version>2.8.2</version> 146 </plugin> 147 </plugins> 148 </pluginManagement> 149 </build> 150 </project>