新人第一次發帖,有什麼不對的地方請多多指教~~
分頁這個功能經常會被使用到,我之前學習的時候找了很多資源,可都看不懂(笨死算了),最後還是在朋友幫助下做出了這個分頁。我現在把我所能想到的知識
做了一個整理發上來,供大家參考參考,希望能幫助到一些和我一樣的人吧@.@ 中間肯定有很多沒有表述明白,請多多見諒,博主剛剛結束java 四個月,小白一只,
還望海涵~~~
前面八步為項目准備工作,如果maven項目搭建完成的可以跳過~
最後面有附件,是完整的一個工程,包含數據庫的呦
首先需要一個IDEA!
我使用的是ideaIU-2016.2 下載地址:http://www.jetbrains.com/idea/download/#section=windows
IDEA常用配置:http://blog.csdn.net/yelove1990/article/details/51541327
然後創建一個maven項目
一、Create New Project 創建項目
二、選擇maven項目並按指示創建
三、GroupId是項目組織唯一的標識符,實際對應JAVA的包的結構,是main目錄裡java的目錄結構。
ArtifactId是項目唯一的標識符,實際對應項目的名稱,就是項目根目錄的名稱。
一般GroupId就是填xxx.xx.xxx類似這樣的。
四、這裡需要添加一條參數,Name是劃線左邊的名稱,value是劃線右邊的值,相應的填寫進去就行,然後點OK-Next
五、創建工程,工程名為前面的ArtifactId
六、然後IDEA就會自動創建項目
創建完成會有BUILD SUCCESS的字樣提示,表示創建成功。
七、目錄結構like this
八、添加maven依賴太多了,不一一解釋了,教程網址:http://www.yiibai.com/maven/
直接復制粘貼到自己的maven中即可。
maven依賴的下載地址:http://mvnrepository.com/
<properties> <!-- 核心框架的版本設置 --> <spring.version>4.2.5.RELEASE</spring.version> <maven.build.timestamp.format>yyyyMMdd</maven.build.timestamp.format> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <downloadSources>true</downloadSources> </properties> <dependencies> <!--common start --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>18.0</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.3.2</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>1.8.5</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.8</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.2.0.Final</version> </dependency> <!--common end --> <!--spring start --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <!--spring end --> <!--springmvc 控制層 start --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.7.4</version> </dependency> <!--springmvc end --> <!--mybatis 數據訪問層 start --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> <scope>runtime</scope> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.20</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.0</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.8.0</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.6.4.RELEASE</version> </dependency> <dependency> <groupId>com.dyuproject.protostuff</groupId> <artifactId>protostuff-core</artifactId> <version>1.0.8</version> </dependency> <dependency> <groupId>com.dyuproject.protostuff</groupId> <artifactId>protostuff-runtime</artifactId> <version>1.0.8</version> </dependency> <!--mybatis 數據訪問層 end --> <!--Commons DBCP 1.4 start--> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <!--Commons DBCP 1.4 end--> <dependency> <groupId>net.sf.jxls</groupId> <artifactId>jxls-core</artifactId> <version>1.0.6</version> </dependency> </dependencies>maven
九、配置tomcat,教程地址如下:
來自於:chenshun123的博客
網址:http://blog.csdn.net/chenshun123/article/details/51285890
—————————————————————————————————分割線————————————————————————————————————————
接下來是正文部分!
首先需要一個分頁工具類(Page),和實體類(Record),包裝類(seeRecord)。中間內容基本不需要改動,您可以根據需要改動每頁顯示的記錄條數。
1 package po; 2 3 import java.io.Serializable; 4 5 public class Page implements Serializable{ 6 7 private static final long serialVersionUID = -3198048449643774660L; 8 9 private int pageNow = 1; // 當前頁數 10 11 private int pageSize = 5; // 每頁顯示記錄的條數 12 13 private int totalCount; // 總的記錄條數 14 15 private int totalPageCount; // 總的頁數 16 17 @SuppressWarnings("unused") 18 private int startPos; // 開始位置,從0開始 19 20 @SuppressWarnings("unused") 21 private boolean hasFirst;// 是否有首頁 22 23 @SuppressWarnings("unused") 24 private boolean hasPre;// 是否有前一頁 25 26 @SuppressWarnings("unused") 27 private boolean hasNext;// 是否有下一頁 28 29 @SuppressWarnings("unused") 30 private boolean hasLast;// 是否有最後一頁 31 32 /** 33 * 通過構造函數 傳入 總記錄數 和 當前頁 34 * @param totalCount 35 * @param pageNow 36 */ 37 public Page(int totalCount, int pageNow) { 38 this.totalCount = totalCount; 39 this.pageNow = pageNow; 40 } 41 42 /** 43 * 取得總頁數,總頁數=總記錄數/總頁數 44 * @return 45 */ 46 public int getTotalPageCount() { 47 totalPageCount = getTotalCount() / getPageSize(); 48 return (totalCount % pageSize == 0) ? totalPageCount 49 : totalPageCount + 1; 50 } 51 52 public void setTotalPageCount(int totalPageCount) { 53 this.totalPageCount = totalPageCount; 54 } 55 56 public int getPageNow() { 57 return pageNow; 58 } 59 60 public void setPageNow(int pageNow) { 61 this.pageNow = pageNow; 62 } 63 64 public int getPageSize() { 65 return pageSize; 66 } 67 68 public void setPageSize(int pageSize) { 69 this.pageSize = pageSize; 70 } 71 72 public int getTotalCount() { 73 return totalCount; 74 } 75 76 public void setTotalCount(int totalCount) { 77 this.totalCount = totalCount; 78 } 79 /** 80 * 取得選擇記錄的初始位置 81 * @return 82 */ 83 public int getStartPos() { 84 return (pageNow - 1) * pageSize; 85 } 86 87 public void setStartPos(int startPos) { 88 this.startPos = startPos; 89 } 90 91 /** 92 * 是否是第一頁 93 * @return 94 */ 95 public boolean isHasFirst() { 96 return (pageNow == 1) ? false : true; 97 } 98 99 public void setHasFirst(boolean hasFirst) { 100 this.hasFirst = hasFirst; 101 } 102 /** 103 * 是否有首頁 104 * @return 105 */ 106 public boolean isHasPre() { 107 // 如果有首頁就有前一頁,因為有首頁就不是第一頁 108 return isHasFirst() ? true : false; 109 } 110 111 public void setHasPre(boolean hasPre) { 112 this.hasPre = hasPre; 113 } 114 /** 115 * 是否有下一頁 116 * @return 117 */ 118 public boolean isHasNext() { 119 // 如果有尾頁就有下一頁,因為有尾頁表明不是最後一頁 120 return isHasLast() ? true : false; 121 } 122 123 public void setHasNext(boolean hasNext) { 124 this.hasNext = hasNext; 125 } 126 /** 127 * 是否有尾頁 128 * @return 129 */ 130 public boolean isHasLast() { 131 // 如果不是最後一頁就有尾頁 132 return (pageNow == getTotalCount()) ? false : true; 133 } 134 135 public void setHasLast(boolean hasLast) { 136 this.hasLast = hasLast; 137 } 138 139 }page工具類
package po; public class SeeRecord { /*當前登錄的用戶名*/ private String loginName; /*分頁對象*/ private Page page; public String getLoginName() { return loginName; } public void setLoginName(String loginName) { this.loginName = loginName; } public Page getPage() { return page; } public void setPage(Page page) { this.page = page; } }seeRecord
package po; public class Record { private int nub; private String username; private String loginName; private String days; private String business; private String note; public int getNub() { return nub; } public void setNub(int nub) { this.nub = nub; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getLoginName() { return loginName; } public void setLoginName(String loginName) { this.loginName = loginName; } public String getDays() { return days; } public void setDays(String days) { this.days = days; } public String getBusiness() { return business; } public void setBusiness(String business) { this.business = business; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } }Record
然後編寫Mybatis的Recordmapper.xml配置文件,編寫sql語句
<?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="ssm.dao.RecordDao" ><!--對應相應的DAO接口--> <!--查詢操作記錄--> <select id="queryAllRecord" parameterType="ssm.po.SeeRecord" resultType="ssm.po.Record"> SELECT * FROM record WHERE loginName = #{loginName} limit #{page.startPos},#{page.pageSize}<!--startPos開始頁 , pageSize每頁顯示的記錄條數--> </select> <!--查詢總記錄條數--> <select id="getCount" resultType="int" parameterType="String"> select count(*) from record where loginName = #{value} </select> </mapper>
接下來編寫Dao接口(RecordDao)
package Dao; import org.springframework.stereotype.Repository; import po.Record; import po.SeeRecord; import java.util.List; @Repository public interface RecordDao { /*取得操作記錄*/ List<Record> queryAllRecord(SeeRecord seeRecord); /*取得記錄條數信息,通過當前用戶的loginName查詢*/ int getCount(String loginName); }
接口編寫完成後需要慌裡面傳值,此時就需要編寫Controller。
先獲取到當前頁和用戶名,然後調用DAO接口查詢數據庫,獲得總記錄條數,把總記錄條數和當前頁傳入到page的構造方法中,page工具類會根據傳入的參數,算出共幾頁。然後查出當前用戶的所有操作記錄,存到recordList中並返回給頁面,頁面就可以顯示了。
package controller; import Dao.RecordDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import po.Page; import po.Record; import po.SeeRecord; import javax.servlet.http.HttpServletRequest; import java.util.List; @Controller public class RecordController { @Autowired private RecordDao recordDao; /*查看操作記錄*/ @RequestMapping("/queryAll") public String record(String loginName , Model model, SeeRecord seeRecord, String pageNow){ String user_Name; Page page = null;//new 對象在下面 user_Name = loginName;//獲取當前登錄的用戶的loginName int totalCount = recordDao.getCount(user_Name);//獲取當前用戶總記錄條數 if(pageNow != null && pageNow != "") {//防止出現空指針異常 int pageNow1 = Integer.parseInt(pageNow); page = new Page(totalCount, pageNow1);//這樣寫的好處,判斷完成外面可以繼續調用 } seeRecord.setLoginName(user_Name); seeRecord.setPage(page); List<Record> recordList = recordDao.queryAllRecord(seeRecord);//取得當前用戶的所有操作記錄 model.addAttribute("page",page); model.addAttribute("recordList",recordList); return "recordPage"; } }
編寫jsp頁面接收並顯示。
由於測試需要,我加了一個跳轉頁面。向Controller中傳入了兩個值,pageNow和loginName,表示當前登錄的用戶和當前的頁數。
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>用於跳轉到分頁頁面</title> </head> <body> <form action="/queryAll?pageNow=1&loginName='ceshiyong01'" method="post">
<input type="submit" value="查看操作記錄">分頁功能顯示頁面:<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>操作記錄</title> <style type="text/css"> body{ margin: 0px; padding: 0px; } table{ width: 100%; height: 400px; border: #000 1px solid; } tr td{ height: 40px; text-align: center; border: #000 1px solid; } </style> </head> <body> <div > <strong><font >操作記錄</font></strong> </div> <table> <tr> <td width="70px">流水號</td> <td width="90px">姓名</td> <td width="120px">用戶名</td> <td width="200px">操作日期</td> <td width="250px">操作記錄</td> <td width="80px">操作方式</td> </tr> <!--循環遍歷所有得到的記錄並輸出--> <c:forEach items="${recordList}" var="record"> <tr> <td width="70px">${record.nub}</td> <td width="90px">${record.username}</td> <td width="120px">${record.loginName}</td> <td width="200px">${record.days}</td> <td width="250px">${record.business}</td> <td width="80px">${record.note}</td> </tr> </c:forEach> <tr> <td colspan="6"> <!-- 分頁功能 start --> <div align="center"> <font size="2">共 ${page.totalPageCount} 頁</font> <font size="2">第 ${page.pageNow} 頁</font> <a href="${pageContext.request.contextPath}/queryAll?pageNow=1">首頁</a> <c:choose> <c:when test="${page.pageNow - 1 > 0}"> <a href="${pageContext.request.contextPath}/queryAll?pageNow=${page.pageNow - 1}">上一頁</a> </c:when> <c:when test="${page.pageNow - 1 <= 0}"> <a href="${pageContext.request.contextPath}/queryAll?pageNow=1">上一頁</a> </c:when> </c:choose> <c:choose> <c:when test="${page.totalPageCount==0}"> <a href="${pageContext.request.contextPath}/queryAll?pageNow=${page.pageNow}">下一頁</a> </c:when> <c:when test="${page.pageNow + 1 < page.totalPageCount}"> <a href="${pageContext.request.contextPath}/queryAll?pageNow=${page.pageNow + 1}">下一頁</a> </c:when> <c:when test="${page.pageNow + 1 >= page.totalPageCount}"> <a href="${pageContext.request.contextPath}/queryAll?pageNow=${page.totalPageCount}">下一頁</a> </c:when> </c:choose> <c:choose> <c:when test="${page.totalPageCount==0}"> <a href="${pageContext.request.contextPath}/queryAll?pageNow=${page.pageNow}">尾頁</a> </c:when> <c:otherwise> <a href="${pageContext.request.contextPath}/queryAll?pageNow=${page.totalPageCount}">尾頁</a> </c:otherwise> </c:choose> </div> <!-- 分頁功能 End --> </td> </tr> </table> </body> </html>
—————————————————————————————分割線2號———————————————————————————————————————————
最後配置XML文件:
db.properties:
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/pagedemo?characterEncoding=utf-8 jdbc.username=root jdbc.password=123456
log4j.properties:
log4j.rootLogger=DEBUG, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <!--自動掃描 @ssm.com.imarce.pageDemo.controller--> <context:component-scan base-package="com.imarce.pageDemo.controller"/> <!-- 啟動對@AspectJ注解的支持 --> <aop:aspectj-autoproxy proxy-target-class="true" /> <!--定義跳轉的文件的前後綴,視圖模式設置--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value=""/> <property name="suffix" value=".jsp"/> </bean> <mvc:annotation-driven> <!-- 將StringHttpMessageConverter的默認編碼設為UTF-8 --> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8"/> </bean> <!-- 將Jackson2HttpMessageConverter的默認格式化輸出為false --> <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list><value>application/json;charset=UTF-8</value></list> </property> <property name="prettyPrint" value="false"/> </bean> </mvc:message-converters> </mvc:annotation-driven> <!--靜態資源默認servlet配置 1、加入對靜態資源的處理:js,css,gif,png 2、允許使用"/"做整體映射 <url-pattern>/</url-pattern> --> <mvc:default-servlet-handler/> </beans>
spring-mybatis.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <!--自動掃描包--> <context:component-scan base-package="com.imarce.pageDemo"/> <!-- 加載properties文件 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:db.properties"/> </bean> <!-- 配置數據源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> <!-- mybatis和spring完美整合,不需要mybatis的配置映射文件 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <!-- 自動掃描mapping.xml文件 --> <property name="mapperLocations" value="classpath:mapping/*.xml"/> </bean> <!-- DAO接口所在包名,Spring會自動查找其下的類 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.imarce.pageDemo.Dao"/> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean> </beans>
web.xml: 這裡有個問題,創建完maven項目自動生成的web.xml頭部版本可能是2.3左右的,如果版本低於2.4,會導致jsp頁面的EL表達式失效。只要把頭部改到2.4以上即可。
詳見:http://blog.csdn.net/hanshileiai/article/details/46619777
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <!-- spring mvc servlet--> <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-*.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <async-supported>true</async-supported> </servlet> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <!-- 編碼過濾器 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 防止spring內存溢出監聽器,比如quartz --> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> <!--使用request可以使用--> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <!-- 此處也可以配置成 *.do 形式 --> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>transferPage.jsp</welcome-file> </welcome-file-list> <display-name>Archetype Created Web Application</display-name> </web-app>
效果圖如下:
工程文件下載:http://pan.baidu.com/s/1pLNcykb