【springmvc+mybatis項目實戰】傑信商貿-5.生產廠家DAO+SERVICE+CONTROLLER+JSP+配置文件

上一篇我們創建了工程和一個Factory的po對象(javaBean),我們也寫好了Mapper的映射文件,接下來我們來完成生產廠家的DAO與SERVICE,以及CONTROLLER,還有做顯示的JSP頁面,以及框架的配置文件。

首先回顧一下我們的系統架構:


我們的BaseDao與BaseDaoImpl:
[java] view plain copy
  1. package cn.hpu.jk.dao;  
  2.   
  3. import java.io.Serializable;  
  4. import java.util.List;  
  5. import java.util.Map;  
  6.   
  7. import cn.hpu.jk.pagination.Page;  
  8.   
  9. //泛型類,基礎的DAO接口  
  10. public interface BaseDao<T> {  
  11.     public List<T> findPage(Page page);//分頁查詢  
  12.     public List<T> find(Map paraMap);//帶條件查詢,條件可以爲null,既沒有條件;返回list對象集合  
  13.     public T get(Serializable id);//只查詢一個,常用於修改  
  14.     public void insert(T entity);//插入,用實體作爲參數  
  15.     public void update(T entity);//修改,用實體作爲參數  
  16.     public void deleteById(Serializable id);//按id刪除,刪除一條;支持整數型和字符串類型ID  
  17.     public void delete(Serializable[] ids);//批量刪除;支持整數型和字符串類型ID  
  18. }  


BaseDaoImpl:

[java] view plain copy
  1. package cn.hpu.jk.dao.impl;  
  2.   
  3. import java.io.Serializable;  
  4. import java.util.List;  
  5. import java.util.Map;  
  6.   
  7. import org.apache.ibatis.session.SqlSessionFactory;  
  8. import org.mybatis.spring.support.SqlSessionDaoSupport;  
  9. import org.springframework.beans.factory.annotation.Autowired;  
  10.   
  11. import cn.hpu.jk.dao.BaseDao;  
  12. import cn.hpu.jk.pagination.Page;  
  13.   
  14.   
  15. public abstract class BaseDaoImpl<T> extends SqlSessionDaoSupport implements BaseDao<T>{  
  16.     @Autowired  
  17.     //mybatis-spring 1.0無需此方法;mybatis-spring1.2必須注入。  
  18.     public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory){  
  19.         super.setSqlSessionFactory(sqlSessionFactory);  
  20.     }  
  21.       
  22.     private String ns;      //命名空間  
  23.     public String getNs() {  
  24.         return ns;  
  25.     }  
  26.     public void setNs(String ns) {  
  27.         this.ns = ns;  
  28.     }  
  29.       
  30.     public List<T> findPage(Page page){  
  31.         List<T> oList = this.getSqlSession().selectList(ns + ".findPage", page);  
  32.         return oList;  
  33.     }  
  34.   
  35.   
  36.     public List<T> find(Map map) {  
  37.         List<T> oList = this.getSqlSession().selectList(ns + ".find", map);  
  38.         return oList;  
  39.     }  
  40.     public T get(Serializable id) {  
  41.         return this.getSqlSession().selectOne(ns + ".get", id);  
  42.     }  
  43.   
  44.   
  45.     public void insert(T entity) {  
  46.         this.getSqlSession().insert(ns + ".insert", entity);  
  47.     }  
  48.   
  49.   
  50.     public void update(T entity) {  
  51.         this.getSqlSession().update(ns + ".update", entity);  
  52.     }  
  53.   
  54.   
  55.     public void deleteById(Serializable id) {  
  56.         this.getSqlSession().delete(ns + ".deleteById", id);  
  57.     }  
  58.   
  59.   
  60.     public void delete(Serializable[] ids) {  
  61.         this.getSqlSession().delete(ns + ".delete", ids);  
  62.     }  
  63. }  

我們現在來創建自己的Dao層
FactoryDao:
[java] view plain copy
  1. package cn.hpu.jk.dao;  
  2.   
  3. import cn.hpu.jk.domain.Factory;  
  4.   
  5. public interface FactoryDao extends BaseDao<Factory>{  
  6.     //我們這裏可以直接使用繼承的BaseDao的增刪改查方法  
  7.     //創建一系列其它Dao的原因是因爲其它Dao有可能需要拓展  
  8.       
  9. }  

FactoryDaoImpl:
[java] view plain copy
  1. package cn.hpu.jk.dao.impl;  
  2.   
  3. import org.springframework.stereotype.Repository;  
  4.   
  5. import cn.hpu.jk.dao.FactoryDao;  
  6. import cn.hpu.jk.domain.Factory;  
  7.   
  8.   
  9. @Repository //爲了包掃描的時候這個Dao被掃描到  
  10. public class FactoryDaoImpl extends BaseDaoImpl<Factory> implements FactoryDao{  
  11.     public FactoryDaoImpl(){  
  12.         //設置命名空間  
  13.         super.setNs("cn.hpu.jk.mapper.FactoryMapper");  
  14.     }  
  15. }  

接下來寫service層
FactoryService:
[java] view plain copy
  1. package cn.hpu.jk.service;  
  2.   
  3. import java.io.Serializable;  
  4. import java.util.List;  
  5. import java.util.Map;  
  6.   
  7. import org.apache.poi.ss.formula.functions.T;  
  8.   
  9. import cn.hpu.jk.domain.Factory;  
  10. import cn.hpu.jk.pagination.Page;  
  11.   
  12. public interface FactoryService {  
  13.     public List<Factory> findPage(Page page);//分頁查詢  
  14.     public List<Factory> find(Map paraMap);   //帶條件查詢,條件可以爲null,既沒有條件;返回list對象集合  
  15.     public Factory get(Serializable id);//只查詢一個,常用於修改  
  16.     public void insert(Factory factory);//插入,用實體作爲參數  
  17.     public void update(Factory factory);//修改,用實體作爲參數  
  18.     public void deleteById(Serializable id);//按id刪除,刪除一條;支持整數型和字符串類型ID  
  19.     public void delete(Serializable[] ids);//批量刪除;支持整數型和字符串類型ID  
  20. }  

FactoryServiceImpl(我們先只實現查詢)
[java] view plain copy
  1. package cn.hpu.jk.service.impl;  
  2.   
  3. import java.io.Serializable;  
  4. import java.util.List;  
  5. import java.util.Map;  
  6.   
  7. import javax.annotation.Resource;  
  8.   
  9. import org.apache.poi.ss.formula.functions.T;  
  10. import org.springframework.stereotype.Service;  
  11.   
  12. import cn.hpu.jk.dao.FactoryDao;  
  13. import cn.hpu.jk.domain.Factory;  
  14. import cn.hpu.jk.pagination.Page;  
  15. import cn.hpu.jk.service.FactoryService;  
  16.   
  17. @Service  
  18. public class FactoryServiceImpl implements FactoryService{  
  19.       
  20.     @Autowired  
  21.     FactoryDao factoryDao;  
  22.       
  23.   
  24.   
  25.     @Override  
  26.     public void delete(Serializable[] ids) {  
  27.         // TODO Auto-generated method stub  
  28.           
  29.     }  
  30.   
  31.   
  32.     @Override  
  33.     public void deleteById(Serializable id) {  
  34.         // TODO Auto-generated method stub  
  35.           
  36.     }  
  37.   
  38.   
  39.     @Override  
  40.     public List<Factory> find(Map paraMap) {  
  41.         return factoryDao.find(paraMap);  
  42.     }  
  43.   
  44.   
  45.     @Override  
  46.     public List<Factory> findPage(Page page) {  
  47.         // TODO Auto-generated method stub  
  48.         return null;  
  49.     }  
  50.   
  51.   
  52.     @Override  
  53.     public Factory get(Serializable id) {  
  54.         // TODO Auto-generated method stub  
  55.         return null;  
  56.     }  
  57.   
  58.   
  59.     @Override  
  60.     public void insert(Factory factory) {  
  61.         // TODO Auto-generated method stub  
  62.           
  63.     }  
  64.   
  65.   
  66.     @Override  
  67.     public void update(Factory factory) {  
  68.         // TODO Auto-generated method stub  
  69.           
  70.     }  
  71.   
  72.   
  73. }  

下面開始編寫Controller層
看看我們之前引入的工具類BaseController:
[java] view plain copy
  1. package cn.hpu.jk.controller;  
  2.   
  3. import java.text.DateFormat;  
  4. import java.text.SimpleDateFormat;  
  5. import java.util.Date;  
  6.   
  7. import org.springframework.beans.propertyeditors.CustomDateEditor;  
  8. import org.springframework.web.bind.WebDataBinder;  
  9. import org.springframework.web.bind.annotation.InitBinder;  
  10.   
  11.   
  12. public abstract class BaseController {  
  13.     @InitBinder  
  14.     //此方法用於日期的轉換,如果未加,當頁面日期格式轉換錯誤,將報400錯誤,實際是因爲此方法  
  15.     public void initBinder(WebDataBinder binder) {  
  16.         DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");  
  17.         dateFormat.setLenient(true);  
  18.         binder.registerCustomEditor(Date.classnew CustomDateEditor(dateFormat, true));  
  19.     }  
  20. }  

然後我們創建FactoryController(繼承BaseController是爲了以後的擴充):
[java] view plain copy
  1. package cn.hpu.jk.controller.basicinfo.factory;  
  2.   
  3. import java.util.List;  
  4.   
  5. import javax.annotation.Resource;  
  6.   
  7. import org.springframework.ui.Model;  
  8. import org.springframework.web.bind.annotation.RequestMapping;  
  9.   
  10. import cn.hpu.jk.controller.BaseController;  
  11. import cn.hpu.jk.domain.Factory;  
  12. import cn.hpu.jk.service.FactoryService;  
  13.   
  14.   
  15. public class FactoryController extends BaseController{  
  16.     @Resource  
  17.     FactoryService factoryService;  
  18.       
  19.     //列表  
  20.     @RequestMapping("/basicinfo/factory/list.action")  
  21.     public String list(Model model){  
  22.         List<Factory> dataList=factoryService.find(null);  
  23.         model.addAttribute("dataList", dataList);//將數據傳遞到頁面  
  24.       
  25.         return "/baseinfo/factory/jFactoryList.jsp";//轉向頁面  
  26.     }  
  27. }  

接下來我們實現jsp界面
我們首先先在main/webapp/WEB-INF/pages下寫一個最最基礎的jsp的配置頁面
base.jsp
[html] view plain copy
  1. <%@ page language="java" pageEncoding="UTF-8"%>  
  2. <!--引入c標籤庫-->  
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  
  4. <!--配置虛擬路徑(工程路徑)-->  
  5. <c:set var="ctx" value="${pageContext.request.contextPath}"/>  
  6.   
  7.   
  8. <!--引入最基礎的css與js配置文件-->  
  9. <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/skin/default/css/default.css" media="all"/>  
  10. <script language="javascript" src="${ctx}/js/common.js"></script>  

之後再寫一個顯示list列表的配置jsp文件:
baselist.jsp
[html] view plain copy
  1. <%@ page language="java" pageEncoding="UTF-8"%>  
  2. <!--引入base.jsp-->  
  3. <%@ include file="base.jsp"%>  
  4.   
  5.   
  6. <!--引入與list列表有關的樣式表-->  
  7.     <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/css/extreme/extremecomponents.css" />  
  8.     <link rel="stylesheet" rev="stylesheet" type="text/css" href="${ctx}/css/extreme/extremesite.css" />  

最後,,我們在main/webapp/WEB-INF/pages/factory下創建baseinfo文件夾,我們在裏面寫我們需要給用戶顯示的jsp界面(裏面包含了baselist.jsp)
jFactoryList.jsp:
[html] view plain copy
  1. <%@ page language="java" pageEncoding="UTF-8"%>  
  2. <%@ include file="../../baselist.jsp"%>  
  3. <html xmlns="http://www.w3.org/1999/xhtml">  
  4. <head>  
  5.     <title>生產廠家列表</title>  
  6. </head>  
  7.   
  8.   
  9. <body>  
  10. <form name="icform" method="post">  
  11.   
  12.   
  13. <div id="menubar">  
  14. <div id="middleMenubar">  
  15. <div id="innerMenubar">  
  16.   <div id="navMenubar">  
  17.     
  18.     <ul>  
  19.     <li id="view"><a href="#" onclick="formSubmit('toview.action','_self');this.blur();">查看</a></li>  
  20.     </ul>  
  21.   
  22.   
  23.   </div>  
  24. </div>  
  25. </div>  
  26. </div>  
  27.      
  28. <!-- 頁面主體部分(列表等) -->    
  29. <div class="textbox" id="centerTextbox">  
  30.   <div class="textbox-header">  
  31.   <div class="textbox-inner-header">  
  32.   <div class="textbox-title">  
  33.    生產廠家列表  
  34.   </div>   
  35.   </div>  
  36.   </div>  
  37.     
  38. <div>  
  39. <div class="eXtremeTable" >  
  40. <table id="ec_table" class="tableRegion" width="98%" >  
  41.     <thead>  
  42.     <tr>  
  43.         <td class="tableHeader"><input type="checkbox" name="selid" onclick="checkAll('id',this)"></td>  
  44.         <td class="tableHeader">序號</td>  
  45.         <td class="tableHeader">廠家全稱</td>  
  46.         <td class="tableHeader">縮寫</td>  
  47.         <td class="tableHeader">聯繫人</td>  
  48.         <td class="tableHeader">電話</td>  
  49.         <td class="tableHeader">手機</td>  
  50.         <td class="tableHeader">傳真</td>  
  51.         <td class="tableHeader">驗貨員</td>  
  52.     </tr>  
  53.     </thead>  
  54.     <tbody class="tableBody" >  
  55.       
  56.     <c:forEach items="${dataList}" var="o" varStatus="status">  
  57.     <tr class="odd" onmouseover="this.className='highlight'" onmouseout="this.className='odd'" >  
  58.         <td><input type="checkbox" name="id" value="${o.id}"/></td>  
  59.         <td>${status.index+1}</td>  
  60.         <td><a href="toview.action?id=${o.id}">${o.fullName}</a></td>  
  61.         <td>${o.factoryName}</td>  
  62.         <td>${o.contacts}</td>  
  63.         <td>${o.phone}</td>  
  64.         <td>${o.mobile}</td>  
  65.         <td>${o.fax}</td>  
  66.         <td>${o.inspector}</td>  
  67.     </tr>  
  68.     </c:forEach>  
  69.       
  70.     </tbody>  
  71. </table>  
  72. </div>  
  73.    
  74. </div>  
  75.    
  76.    
  77. </form>  
  78. </body>  
  79. </html>  

接下來進行最後一步,我們要配置各種配置文件
我們現在src/main/resources下配置MyBatis的配置文件
sqlMapConfig.xml
[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE configuration  
  3.     PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
  4.     "http://mybatis.org/dtd/mybatis-3-config.dtd">  
  5. <configuration>  
  6.     <!--  引入了spring就不需要這些了  
  7.     <environments default="">  
  8.         <environment id="">  
  9.             <transactionManager type=""></transactionManager>  
  10.             <dataSource type=""></dataSource>  
  11.         </environment>  
  12.     </environments>  
  13.     -->  
  14. </configuration>  

接下來我們創建spring的配置文件beans.xml:
[html] view plain copy
  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" xmlns:mvc="http://www.springframework.org/schema/mvc"  
  4.     xmlns:context="http://www.springframework.org/schema/context"  
  5.     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  7.             http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
  8.             http://www.springframework.org/schema/mvc   
  9.             http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd   
  10.             http://www.springframework.org/schema/context   
  11.             http://www.springframework.org/schema/context/spring-context-3.0.xsd   
  12.             http://www.springframework.org/schema/aop   
  13.             http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   
  14.             http://www.springframework.org/schema/tx   
  15.             http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">  
  16.               
  17.         <!-- 1.加載數據庫配置的屬性文件 -->     
  18.         <context:property-placeholder location="classpath:jdbc.properties"/>  
  19.           
  20.         <!-- 2.包掃描:dao,service -->  
  21.         <context:component-scan base-package="cn.hpu.jk.dao,cn.hpu.jk.service"/>  
  22.           
  23.         <!-- 3,dataSource數據源 -->  
  24.         <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">  
  25.             <property name="driverClass" value="${jdbc.driverClassName}"/>  
  26.             <property name="jdbcUrl" value="${jdbc.url}"/>  
  27.             <property name="user" value="${jdbc.username}"/>  
  28.             <property name="password" value="${jdbc.password}"/>  
  29.               
  30.             <property name="maxPoolSize" value="${c3p0.pool.maxPoolSize}"/>  
  31.             <property name="minPoolSize" value="${c3p0.pool.minPoolSize}" />  
  32.             <property name="initialPoolSize" value="${c3p0.pool.initialPoolSize}"/>  
  33.             <property name="acquireIncrement" value="${c3p0.pool.acquireIncrement}"/>  
  34.         </bean>  
  35.           
  36.         <!-- 4.SessionFactory -->  
  37.         <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
  38.             <property name="dataSource" ref="dataSource"/>  
  39.             <!-- 整合mybatis,包掃描mapper文件 -->  
  40.             <property name="configLocation" value="classpath:sqlMapConfig.xml"></property>  
  41.             <property name="mapperLocations" value="classpath:cn/hpu/jk/mapper/*.xml"></property>  
  42.         </bean>  
  43.           
  44.         <!-- 5.事務管理-->  
  45.         <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  46.             <property name="dataSource" ref="dataSource"/>  
  47.         </bean>  
  48.           
  49.         <!-- 事務通知 -->  
  50.         <tx:advice id="txAdivce" transaction-manager="txManager">  
  51.             <tx:attributes>  
  52.                 <tx:method name="insert*" propagation="REQUIRED"/>  
  53.                 <tx:method name="update*" propagation="REQUIRED"/>  
  54.                 <tx:method name="delete*" propagation="REQUIRED"/>  
  55.                 <tx:method name="save*" propagation="REQUIRED"/>  
  56.                   
  57.                 <tx:method name="find*" read-only="false"/>  
  58.                 <tx:method name="get*" read-only="false"/>  
  59.                 <tx:method name="view*" read-only="false"/>  
  60.             </tx:attributes>  
  61.         </tx:advice>  
  62.           
  63.         <aop:config>  
  64.             <aop:pointcut expression="execution(* cn.hpu.jk.service.*.*(..))" id="txPointcut"/>  
  65.             <aop:advisor advice-ref="txAdivce" pointcut-ref="txPointcut"/>  
  66.         </aop:config>  
  67.       
  68. </beans>  


其中jdbc.properties:
[plain] view plain copy
  1. #jdbc.driverClassName=com.mysql.jdbc.Driver  
  2. #jdbc.url=jdbc:mysql://localhost:3306/jkdb?characterEncoding=utf-8  
  3. #jdbc.username=root  
  4. #jdbc.password=1234  
  5.   
  6.   
  7. jdbc.driverClassName=oracle.jdbc.driver.OracleDriver  
  8. jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:XE  
  9. jdbc.username=jkdb  
  10. jdbc.password=22  
  11.   
  12.   
  13. c3p0.pool.maxPoolSize=20  
  14. c3p0.pool.minPoolSize=5  
  15. c3p0.pool.initialPoolSize=3  
  16. c3p0.pool.acquireIncrement=2  

然後我們的spring有關service的配置文件
beans-service.xml:
[html] view plain copy
  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" xmlns:mvc="http://www.springframework.org/schema/mvc"  
  4.     xmlns:context="http://www.springframework.org/schema/context"  
  5.     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  7.             http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
  8.             http://www.springframework.org/schema/mvc   
  9.             http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd   
  10.             http://www.springframework.org/schema/context   
  11.             http://www.springframework.org/schema/context/spring-context-3.0.xsd   
  12.             http://www.springframework.org/schema/aop   
  13.             http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   
  14.             http://www.springframework.org/schema/tx   
  15.             http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">  
  16.               
  17.         <!-- 加載service-->   
  18.     <bean name="factoryService" class="cn.hpu.jk.service.impl.FactoryServiceImpl"/>  
  19.   
  20.   
  21. </beans>  

接下來配置springmvc的配置文件springmvc-servlet.xml
[html] view plain copy
  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:mvc="http://www.springframework.org/schema/mvc"  
  5.     xmlns:context="http://www.springframework.org/schema/context"  
  6.     xmlns:aop="http://www.springframework.org/schema/aop"  
  7.     xmlns:tx="http://www.springframework.org/schema/tx"  
  8.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  9.     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
  10.     http://www.springframework.org/schema/mvc   
  11.     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd   
  12.     http://www.springframework.org/schema/context   
  13.     http://www.springframework.org/schema/context/spring-context-3.0.xsd   
  14.     http://www.springframework.org/schema/aop   
  15.     http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   
  16.     http://www.springframework.org/schema/tx   
  17.     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">  
  18.       
  19.     <!-- 1.掃描controller包 -->  
  20.     <context:component-scan base-package="cn.hpu.jk.controller.*"/>  
  21.       
  22.     <!-- 2.內部資源視圖解析器,suffix爲空,方便跟參數 url?id=xxx -->  
  23.     <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  24.         <property name="prefix" value="/WEB-INF/pages"/>  
  25.         <property name="suffix" value=""/>  
  26.     </bean>  
  27.       
  28.     <!-- 3.註解驅動 -->  
  29.     <mvc:annotation-driven/>  
  30.   
  31.   
  32.     <!-- 4.文件上傳解析器,最大能上傳10M文件(1024*1024*10)-->  
  33.     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
  34.         <property name="maxUploadSize" value="10485760"/>  
  35.     </bean>  
  36.       
  37. </beans>        

最後我們來配置我們的web.xml
[html] view plain copy
  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.     xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"   
  6.     id="WebApp_ID" version="3.0">  
  7.   
  8.   
  9.   <display-name>Archetype Created Web Application</display-name>  
  10.     
  11.   <!-- 1.加載spring框架容器 -->  
  12.   <context-param>  
  13.     <param-name>contextConfigLocation</param-name>  
  14.     <param-value>classpath:beans*.xml</param-value>  
  15.   </context-param>  
  16.   <listener>  
  17.     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  18.   </listener>  
  19.     
  20.   <!-- 2.springmvc前端控制器 -->  
  21.   <servlet>  
  22.     <servlet-name>springmvc</servlet-name>  
  23.     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  24.     <init-param>  
  25.         <param-name>contextConfigLocation</param-name>  
  26.         <param-value>classpath:springmvc-servlet.xml</param-value>  
  27.     </init-param>  
  28.   </servlet>  
  29.   <servlet-mapping>  
  30.     <servlet-name>springmvc</servlet-name>  
  31.     <url-pattern>*.action</url-pattern>  
  32.   </servlet-mapping>  
  33.     
  34.   <!-- 3.post亂碼過慮器 -->  
  35.     <filter>  
  36.         <filter-name>CharacterEncodingFilter</filter-name>  
  37.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  38.         <init-param>  
  39.             <param-name>encoding</param-name>  
  40.             <param-value>utf-8</param-value>  
  41.         </init-param>  
  42.     </filter>  
  43.     <filter-mapping>  
  44.         <filter-name>CharacterEncodingFilter</filter-name>  
  45.         <url-pattern>/*</url-pattern>  
  46.     </filter-mapping>  
  47.     
  48. </web-app>  

我們基本上把所有基本的東西都配置完畢了,接下來我們發佈我們的工程進行測試。
將任務部署至tomcat,然後我們在瀏覽器上訪問我們的工程,我們訪問我們的路徑,看看數據是否返回(我們事先在數據庫中填寫了一些從測試數據):
訪問http://localhost/jx-Maven-Webapp/(我的tomcat默認端口是80)


點擊登錄到主界面,然後點擊廠家信息


點擊之後結果如圖:



附工程源碼:jx-Maven-Webapp.zip

以後會繼續發佈新功能模塊的編寫步驟

轉載請註明出處:http://blog.csdn.net/acmman/article/details/48182869

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章