• 【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.class, new 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"><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><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)

    点击登录到主界面,然后点击厂家信息


    点击之后结果如图:

  • 相关阅读:
    2020年天梯赛补题报告
    补提报告...
    2020.11.14天梯赛练习*6 补题
    2020-11-08补题报告
    2020-10-30 — 补题报告
    10-24 补题
    2020.10.17天梯赛练习 和 16 号个人赛 补题报告
    elasticsearch DQL 有关表达式的设计
    tab键和空格键
    emacs配置python开发环境
  • 原文地址:https://www.cnblogs.com/yxllovetm/p/8807512.html
Copyright © 2020-2023  润新知