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

以下是第二种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
 */
@Controller
public 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>

项目目录结构:

这里写图片描述

感谢您的阅读,欢迎参观我的个人网站:闲乐小站【www.xianlewang.cn】

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值