SSM框架整合方式(二):XML配置文件代码

来源:互联网 发布:金策大数据分析系统 编辑:程序博客网 时间:2024/05/29 14:42

以下是第二种SSM框架整合xml配置文件代码

web.xml配置文件

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">  <display-name>UserManager</display-name>  <welcome-file-list>    <welcome-file>login.jsp</welcome-file>  </welcome-file-list>  <!-- mybatis配置 -->  <context-param>    <param-name>contextConfigLocation</param-name>    <param-value>classpath:spring-mybatis.xml</param-value>  </context-param>  <!-- 配置spring监听 -->  <listener>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>  <!-- 视图控制器 -->  <servlet>    <servlet-name>DispatcherServlet</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <init-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath:springmvc.xml</param-value>    </init-param>  </servlet>  <servlet-mapping>    <servlet-name>DispatcherServlet</servlet-name>    <url-pattern>*.action</url-pattern>  </servlet-mapping>  <!-- 统一字符编码 -->  <filter>    <filter-name>CharacterEncodingFilter</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>    <init-param>          <param-name>forceEncoding</param-name>          <param-value>true</param-value>      </init-param>    </filter>  <filter-mapping>       <filter-name>CharacterEncodingFilter</filter-name>       <url-pattern>/*</url-pattern>     </filter-mapping>  </web-app>

springMVC.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:aop="http://www.springframework.org/schema/aop"    xmlns:p="http://www.springframework.org/schema/p"    xmlns:mvc="http://www.springframework.org/schema/mvc"    xmlns:context="http://www.springframework.org/schema/context"    xmlns:tx="http://www.springframework.org/schema/tx"    xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">    <!--  配置用注解的方式实现处理器 -->    <context:component-scan base-package="com.user.*"></context:component-scan>    <!-- 配置视图解析器 -->    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>    <!-- 文件上传 -->    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">        <property name="maxUploadSize" value="104857600" />        <property name="maxInMemorySize" value="4096" />        <property name="defaultEncoding" value="utf-8"></property>    </bean>    <!-- 配置拦截器    <mvc:interceptors>        <mvc:interceptor>            <mvc:mapping path="/**"/>            <bean class="com.movesys.interceptor.TimeInterceptor"></bean>        </mvc:interceptor>    </mvc:interceptors>     -->     </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:aop="http://www.springframework.org/schema/aop"     xmlns:tx="http://www.springframework.org/schema/tx"     xmlns:p="http://www.springframework.org/schema/p"     xsi:schemaLocation="     http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd     http://www.springframework.org/schema/tx     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd     http://www.springframework.org/schema/context      http://www.springframework.org/schema/context/spring-context.xsd        http://www.springframework.org/schema/aop      http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">       <!-- 配置数据源 -->      <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"        destroy-method="close">        <property name="driverClassName" value="com.mysql.jdbc.Driver" />        <property name="url" value="jdbc:mysql:///user" />        <property name="username" value="root" />        <property name="password" value="123456" />        <!-- 初始化连接大小 -->        <property name="initialSize" value="0"></property>        <!-- 连接池最大数量 -->        <property name="maxActive" value="20"></property>        <!-- 连接池最大空闲 -->        <property name="maxIdle" value="20"></property>        <!-- 连接池最小空闲 -->        <property name="minIdle" value="1"></property>        <!-- 获取连接最大等待时间 -->        <property name="maxWait" value="60000"></property>    </bean>    <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="dataSource" ref="dataSource" />        <!-- 自动扫描映射文件 -->        <property name="mapperLocations" value="classpath:com/user/dao/*.xml"></property>    </bean>    <!-- DAO接口所在包名,Spring会自动查找其下的类 -->    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">        <property name="basePackage" value="com.user.dao" />        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>    </bean>    <!-- 配置事务管理器  -->    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <property name="dataSource" ref="dataSource"></property>    </bean>    <tx:annotation-driven transaction-manager="txManager"/>    <!-- 配置Spring国际化信息  -->    <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">        <property name="basename" value="messages/message"></property>    </bean>    <bean id="CookieLocaleResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">        <property name="cookieMaxAge" value="604800"></property>        <property name="defaultLocale" value="zh_CN"></property>        <property name="cookieName" value="language"></property>    </bean></beans>

处理器的UserController.java代码如下:

package com.user.controllers;import java.io.File;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.multipart.commons.CommonsMultipartFile;import org.springframework.web.servlet.ModelAndView;import com.user.bean.Page;import com.user.bean.User;import com.user.service.UserService;/** * 用户类控制器 * @author LIU * @version 2.0 2017-10-30 */@Controllerpublic class UserController {    ModelAndView mav = null;    @Autowired    UserService userService;    public UserService getUserService() {        return userService;    }    public void setUserService(UserService userService) {        this.userService = userService;    }    /**     * 用户登陆     *TODO     *LIU     * @param request     * @param response     * @return ModelAndView     *下午2:50:51     */    @RequestMapping("/login.action")    public ModelAndView login(HttpServletRequest request, HttpServletResponse response) {        // 获取账户名 和 密码object        String uname = (String)request.getParameter("uname");        String password = (String)request.getParameter("pwd");        // 将用户名和密码保存到user        User user = new User();        user.setUserId(uname);        user.setPassword(password);        // 判断登陆是否成功        if(userService.login(user)){            mav = new ModelAndView("showAll.action");        }else{            request.getSession().setAttribute("mess", "登陆失败!");            mav = new ModelAndView("redirect:login.jsp");        }        return mav;    }    /**     * 用户登陆     *TODO     *LIU     * @param request     * @param response     * @return ModelAndView     *下午2:50:51     */    @RequestMapping("/login1.action")    @ResponseBody    public Object login1(HttpServletRequest request, HttpServletResponse response) {        // 将用户名和密码保存到user        User user = new User();        user.setUserId(request.getParameter("uname"));        user.setPassword(request.getParameter("pwd"));        String flag = "false";        // 判断登陆是否成功        if(userService.login(user)){            flag = "true";        }else{            flag = "false";        }        return flag;    }    /**     * 分页显示全部     *TODO     *LIU     * @param request     * @param response     * @return     *下午4:16:25     */    @RequestMapping("showAll.action")    public ModelAndView showAll(HttpServletRequest request, HttpServletResponse response) {        // 初始化分页信息        Page p = new Page();        p.setCurrCount(3); // 每页显示记录数        p.setTotalCount(userService.searchAllCount()); // 表中的总记录数        if(p.getTotalCount() % p.getCurrCount() == 0){ // 设置表的总页数            p.setSumPage(p.getTotalCount() / p.getCurrCount());        }else{            p.setSumPage(p.getTotalCount() / p.getCurrCount());        }        if(request.getParameter("curr") == null){// 默认显示第一页            p.setCurrPage(1);            List<User> userList = userService.getUserByPage(p);            mav = new ModelAndView("showAll.jsp");            mav.addObject("userList", userList);            mav.addObject("page", p);        }else{// Ajax实现分页            p.setCurrPage(Integer.valueOf(request.getParameter("curr")));            List<User> userList = userService.getUserByPage(p);            mav = new ModelAndView("divShowAll.jsp");            mav.addObject("userList", userList);            mav.addObject("page", p);        }        return mav;    }    /**     * 查询用户信息     *TODO     *LIU     * @param request     * @param response     * @return     *下午4:25:20     */    @RequestMapping("search.action")    public ModelAndView search(HttpServletRequest request, HttpServletResponse response){        mav = new ModelAndView("search.jsp");        String userId = request.getParameter("searchId");        User user = userService.searchUser(userId);        if(user != null){            mav = new ModelAndView("search.jsp");            mav.addObject("user", user);        }else{            mav = new ModelAndView("showAll.jsp");        }        return mav;    }    /**     * 修改用户信息     *TODO     *LIU     * @param request     * @param response     * @return     *下午4:25:20     */    @RequestMapping("update.action")    public ModelAndView update(HttpServletRequest request, HttpServletResponse response){        User user = new User();        user.setUserId(request.getParameter("uname"));        user.setUserName(request.getParameter("realName"));        user.setPassword(request.getParameter("pwd"));        user.setSex(request.getParameter("sex"));        user.setAge(Integer.parseInt(request.getParameter("age")));        user.setIdcard(request.getParameter("cardID"));        user.setPhone(request.getParameter("phone"));        user.setAddress(request.getParameter("address"));        user.setEmail(request.getParameter("email"));        userService.updateUser(user, user.getUserId());        mav = new ModelAndView("showAll.jsp");        return mav;    }    /**     * 注册用户信息     *TODO     *LIU     * @param request     * @param response     * @return     *下午4:25:20     */    @RequestMapping("register.action")    public ModelAndView register(HttpServletRequest request, HttpServletResponse response){        User user = new User();        user.setUserId(request.getParameter("uname"));        user.setUserName(request.getParameter("realName"));        user.setPassword(request.getParameter("pwd"));        user.setSex(request.getParameter("sex"));        user.setAge(Integer.parseInt(request.getParameter("age")));        user.setIdcard(request.getParameter("cardID"));        user.setPhone(request.getParameter("phone"));        user.setAddress(request.getParameter("address"));        user.setEmail(request.getParameter("email"));        int result = userService.addUser(user);        if(result > 0){            mav = new ModelAndView("login.jsp");            request.setAttribute("mess", "注册成功!");        }else{            request.getSession().setAttribute("mess", "注册失败!");            mav = new ModelAndView("redirect:register.jsp");        }        return mav;    }    /**     * 删除用户功能     *TODO     *LIU     * @param request     * @param response     * @return     *下午4:56:19     */    @RequestMapping("update.action")    public ModelAndView delete(HttpServletRequest request, HttpServletResponse response) {        String userId = request.getParameter("deleteId");        int result = userService.deleteUser(userId);        PrintWriter out = null;        try {            out = response.getWriter();            if(result > 0){                out.print("<script type='text/javascript'>alert('删除成功!');window.location='showAll.jsp';</script>");            }else{                out.print("<script type='text/javascript'>alert('删除失败!');window.location='showAll.jsp';</script>");            }        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return mav;    }    /**     * 文件上传     *TODO     *LIU     * @param request     * @param response     * @return     *上午10:34:15     */    @RequestMapping("uploadFile.action")    public ModelAndView uploadFile(@RequestParam("uploadfile") CommonsMultipartFile cmf, HttpServletRequest request) throws Exception{        // 接收普通的用户名的话,用参数request来接收        String uname = request.getParameter("uname");        String path = "F:\\upload\\" + cmf.getOriginalFilename();        File file = new File(path);        cmf.transferTo(file);        mav = new ModelAndView("uploadResult.jsp");        String mess = cmf.getOriginalFilename() + "上传成功了!";        mav.addObject("mess", mess);        mav.addObject("uname", uname);        return mav;    }   }

数据映射文件UserDao.xml代码如下:

<?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.user.dao.UserDao">  <!-- 用户登陆 -->  <select id="login" parameterType="com.user.bean.User" resultType="int">    select count(userid)     from user     where userid=#{userId} and password=#{password}  </select>  <!-- 获取所有用户的总记录数 -->  <select id="getAllCounts" parameterType="com.user.bean.User" resultType="int">    select count(userid)     from user     where userid=#{userId}  </select>  <!-- 显示全部账单 -->  <select id="showAll" parameterType="com.user.bean.Page" resultType="com.user.bean.User">    select userid as userId,username as userName,password as password,sex as sex,age as age,idcard as idcard,phone as phone,address as address,email as email     from user order by userid    limit #{start},#{currCount}  </select></mapper>

项目目录结构:

这里写图片描述

原创粉丝点击