基于SSM校园宿舍管理系统

bean层

bean层实现序列化。当时在写MyBatis缓存时就会出现异常。其他POJO略。

package com.wf.ssm.beans;import java.io.Serializable;public class Admin implements Serializable{private static final long serialVersionUID = 1L;private Integer id;private String name;private String password;private Integer grade;public Admin() {}public Admin(Integer id, String name, String password, Integer grade) {super();this.id = id;this.name = name;this.password = password;this.grade = grade;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Integer getGrade() {return grade;}public void setGrade(Integer grade) {this.grade = grade;}@Overridepublic String toString() {return "Admin [id=" + id + ", name=" + name + ", password=" + password+ ", grade=" + grade + "]";}}

DAO层
编写接口类,定义操作数据库的方法。

package com.wf.ssm.dao;import java.util.List;
import com.wf.ssm.beans.Admin;public interface AdminMapper {//查所有的管理员public List<Admin> selectAdmin();//添加管理员public boolean insertAdmin(Admin admin);//根据主键删除管理员public boolean deleteById(Integer id);//更新管理员public boolean updateAdmin(Admin admin);//通过ID 查询管理员public Admin selectById(Integer id);//通过name 查询管理员public List<Admin> selectByName(String name);//通过grade 查询管理员public List<Admin> selectByGrade(Integer grade);
}

struts2的ACTION层,即控制层。

package com.wf.ssm.action;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.wf.ssm.beans.Admin;
import com.wf.ssm.dao.AdminMapper;@Controller
@Scope("prototype")
public class AdminAction extends ActionSupport{private static final long serialVersionUID = 1L;private Integer id;private String name;private String password;private Integer grade;private Admin admin=new Admin();@Autowiredprivate AdminMapper adminDao;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Integer getGrade() {return grade;}public void setGrade(Integer grade) {this.grade = grade;}public AdminMapper getAdminDao() {return adminDao;}public void setAdminDao(AdminMapper adminDao) {this.adminDao = adminDao;}public Admin getAdmin() {return admin;}public void setAdmin(Admin admin) {this.admin = admin;}/*** 进入管理员登记页面* * @return*/public String adminLogin() {String result ="";try {String password = getPassword(); Admin admin = adminDao.selectById(id);if(admin!=null){String pass = admin.getPassword();if(password.equals(pass) && password!=""){//将用户id保存在session中ActionContext.getContext().getSession().put("id", id);result = "success";}else{result = "error";}}else{return ERROR;} 			} catch (Exception e) {e.printStackTrace();return ERROR;}return result;}//添加员工public String insertAdmin() throws Exception{String result ="";boolean b=adminDao.insertAdmin(admin);if(b==true){result="success";}else {result="error";}return result;}//删除管理员public String deleteAdmin() throws Exception{String result="";if(admin.getId() != null){boolean b = adminDao.deleteById(admin.getId());if(b == true){result="success";}else {result="error";}}else {result="error";}return result;}//更新管理员public String updateAdmin(){String result ="";boolean b=adminDao.updateAdmin(admin);if(b==true){result="success";}else {result="error";}return result;}//查询管理员public String selectAdmin() throws Exception{String result ="";List<Admin> lists=adminDao.selectAdmin(); 		if(lists != null){ActionContext.getContext().put("lists", lists);result="success";}else {result="error";}return result;}//查询管理员
/*    public String selectAdmin() throws Exception{String result ="";//当前页Integer pageNo=1;if(page!=null){pageNo=page.getPageno();}//页面大小Integer pageSize=5;Integer totalCount=adminDao.selectAllAdmin();page=new Page(pageNo, pageSize, totalCount);List lists=adminDao.findPage(page);if(lists != null){ActionContext.getContext().put("lists", lists); 		ActionContext.getContext().put("page", page);System.out.println(toString());result="success";}else {result="error";}return result;}*///按name查询用户public String name() throws Exception{String result ="";List<Admin> lists=adminDao.selectByName(name);ActionContext.getContext().put("lists", lists); 		if(lists != null){result="name";}else {result="error";}return result;}//按grade查询用户public String grade() throws Exception{String result ="";List<Admin> lists=adminDao.selectByGrade(grade);ActionContext.getContext().put("lists", lists); 		if(lists != null){result="grade";}else {result="error";}return result;}@Overridepublic String toString() {return "AdminAction [id=" + id + ", name=" + name + ", password="+ password + ", grade=" + grade + "]";}
}

@Scope(“prototype”):指定该控制器范围为原型,表示每次请求都会返回不同的对象。
分页

//查询班级public String selectClass() throws Exception{String result ="";//当前页Integer pageNo=1;if(page!=null){pageNo=page.getPageno();}//页面大小Integer pageSize=5;Integer totalCount=classBeanDao.selectAll();page=new Page(pageNo, pageSize, totalCount);List<ClassBean> lists=classBeanDao.findPage(page);if(lists != null){ActionContext.getContext().put("lists", lists); 		ActionContext.getContext().put("page", page);result="success";}else {result="error";}return result;}

定义分页对象。

package com.wf.ssm.beans;public class Page {private Integer pageno;       private Integer pagesize;private Integer totalcount;private Integer totalpage;private Integer startrow;private Integer endrow;public Page() {}public Page(Integer pageno, Integer pagesize, Integer totalcount) {this.pageno = pageno;this.pagesize = pagesize;this.startrow=pageno*pagesize;this.endrow=(pageno-1)*pagesize;this.totalcount = totalcount;this.setTotalpage(totalcount);}public Integer getPageno() {return pageno;}public void setPageno(Integer pageno) {this.pageno = pageno;}public Integer getPagesize() {return pagesize;}public void setPagesize(Integer pagesize) {this.pagesize = pagesize;}public Integer getTotalcount() {return totalcount;}public void setTotalcount(Integer totalcount) {this.totalcount = totalcount;}public Integer getTotalpage() {return totalpage;}/*** 总条数* @param totalcount*/public void setTotalpage(Integer totalcount) {this.totalpage = totalcount%pagesize==0? totalcount/pagesize:totalcount/pagesize+1;}public Integer getStartrow() {return startrow;}public void setStartrow(Integer startrow) {this.startrow = startrow;}public Integer getEndrow() {return endrow;}public void setEndrow(Integer endrow) {this.endrow = endrow;}}

定义mapper.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.wf.ssm.dao.AdminMapper"><resultMap id="BaseResultMap" type="admin"><id column="id" jdbcType="INTEGER" property="id" /><result column="name" jdbcType="VARCHAR" property="name" /><result column="password" jdbcType="VARCHAR" property="password" /><result column="grade" jdbcType="INTEGER" property="grade" />   	</resultMap><sql id="Base_Column_List">id, name, password, grade</sql><!-- public boolean insertAdmin(Admin admin); --><insert id="insertAdmin" parameterType="admin">insert into admin (id, name, password, grade)values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{grade,jdbcType=INTEGER})</insert><!-- public boolean deleteById(Integer id); --><delete id="deleteById" parameterType="java.lang.Integer">delete from adminwhere id = #{id,jdbcType=INTEGER}</delete><!-- public boolean updateAdmin(Admin admin); --><update id="updateAdmin" parameterType="admin">update adminset name = #{name,jdbcType=VARCHAR},password = #{password,jdbcType=VARCHAR},grade = #{grade,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER}   	</update><!-- public List<Admin> selectAdmin(); --><select id="selectAdmin" resultMap="BaseResultMap">select <include refid="Base_Column_List" />from admin</select><!-- public Admin selectById(Integer id); --><select id="selectById" parameterType="java.lang.Integer" resultMap="BaseResultMap">select <include refid="Base_Column_List" />from adminwhere id = #{id,jdbcType=INTEGER}</select><!-- public List<Admin> selectByName(String name); --><select id="selectByName" parameterType="java.lang.String" resultMap="BaseResultMap">select <include refid="Base_Column_List" />from adminwhere name = #{name,jdbcType=VARCHAR}</select><!-- public List<Admin> selectByGrade(Integer id); --><select id="selectByGrade" parameterType="java.lang.Integer" resultMap="BaseResultMap">select <include refid="Base_Column_List" />from adminwhere grade = #{grade,jdbcType=INTEGER}</select></mapper>

spring配置文件 applicationContext.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:tx="http://www.springframework.org/schema/tx"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.3.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-4.3.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.3.xsd"><!-- 配置DataSource数据源 --><bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><!-- 导入属性配置文件 --><value>classpath:jdbc.properties</value></property>    </bean><!--配置数据连接--> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">   <!-- 指定连接数据库的JDBC驱动 --><property name="driverClassName" value="${jdbc.driver}" /><!-- 连接数据库所用的URL --><property name="url" value="${jdbc.url}" /><!-- 连接数据库的用户名 --><property name="username" value="${jdbc.username}" /><!-- 连接数据库的密码 --><property name="password" value="${jdbc.password}" /></bean><!-- 配置事务管理器,注意这里的dataSource和SqlSessionFactoryBean的dataSource要一致,不然事务就没有作用了 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" />         </bean><!-- 创建SqlSessionFactory,同时指定数据源 MybatisSqlSessionFactory --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /> <!-- 创建SqlSessionFactory,同时指定数据源 --><!-- 集成myBaits框架,配置sqlSessionFatory --><property name="configLocation" value="classpath:mybatis-config.xml"></property></bean><!--把xml文件注入到mapperInterface--><bean id="userDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.UserMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean>  <bean id="adminDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.AdminMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean><bean id="classBeanDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.ClassBeanMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean>  <bean id="zhuanYeDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.ZhuanYeMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean><bean id="xueYuanDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.XueYuanMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean><bean id="suSheDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.SuSheMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean> <bean id="liuYanDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.LiuYanMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean><bean id="shuiDianDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.ShuiDianMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean><bean id="suSheBaoXiuDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.SuSheBaoXiuMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean><bean id="suSheWeiGuiDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.SuSheWeiGuiMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean><bean id="wanGuiDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.WanGuiMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean><bean id="pingFenDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.PingFenMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean><bean id="newsDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.NewsMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean><bean id="liuXiaoDao" class="org.mybatis.spring.mapper.MapperFactoryBean">  <property name="mapperInterface" value="com.wf.ssm.dao.LiuXiaoMapper"/>  <property name="sqlSessionFactory" ref="sqlSessionFactory" />  </bean></beans>

db.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring_struts2_mybatis?characterEncoding=utf8&allowMultiQueries=true
jdbc.username=root
jdbc.password="你数据库登录密码"

这里的?characterEncoding=utf8&allowMultiQueries=true解决中文乱码。
MyBatis配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><typeAliases><typeAlias type="com.wf.ssm.beans.User" alias="user"/><typeAlias type="com.wf.ssm.beans.Admin" alias="admin"/><typeAlias type="com.wf.ssm.beans.ClassBean" alias="classBean"/><typeAlias type="com.wf.ssm.beans.ZhuanYe" alias="zhuanYe"/><typeAlias type="com.wf.ssm.beans.XueYuan" alias="xueYuan"/><typeAlias type="com.wf.ssm.beans.SuShe" alias="suShe"/><typeAlias type="com.wf.ssm.beans.LiuYan" alias="liuYan"/><typeAlias type="com.wf.ssm.beans.ShuiDian" alias="shuiDian"/><typeAlias type="com.wf.ssm.beans.SuSheBaoXiu" alias="suSheBaoXiu"/><typeAlias type="com.wf.ssm.beans.SuSheWeiGui" alias="suSheWeiGui"/><typeAlias type="com.wf.ssm.beans.WanGui" alias="wanGui"/><typeAlias type="com.wf.ssm.beans.PingFen" alias="pingFen"/><typeAlias type="com.wf.ssm.beans.News" alias="news"/><typeAlias type="com.wf.ssm.beans.LiuXiao" alias="liuXiao"/></typeAliases><!-- myBatis 测试 <environments default="dev_mysql"><environment id="dev_mysql"><transactionManager type="JDBC"></transactionManager><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/spring_struts2_mybatis" /><property name="username" value="root" /><property name="password" value="123456" /></dataSource></environment></environments>--><mappers><mapper resource="sqlmapper/UserMapper.xml"/><mapper resource="sqlmapper/AdminMapper.xml"/><mapper resource="sqlmapper/ClassBeanMapper.xml"/><mapper resource="sqlmapper/ZhuanYeMapper.xml"/><mapper resource="sqlmapper/XueYuanMapper.xml"/><mapper resource="sqlmapper/SuSheMapper.xml"/><mapper resource="sqlmapper/LiuYanMapper.xml"/><mapper resource="sqlmapper/ShuiDianMapper.xml"/><mapper resource="sqlmapper/SuSheBaoXiuMapper.xml"/><mapper resource="sqlmapper/SuSheWeiGuiMapper.xml"/><mapper resource="sqlmapper/WanGuiMapper.xml"/><mapper resource="sqlmapper/PingFenMapper.xml"/><mapper resource="sqlmapper/NewsMapper.xml"/><mapper resource="sqlmapper/LiuXiaoMapper.xml"/></mappers></configuration>

Struts2的配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<struts><!-- 指定默认编码集 ,作用于HttpServletRequest的setCharacterEncoding()和freemarker,vilocity的输出 --><constant name="struts.i18n.encoding" value="UTF-8"/><!-- 当struts配置文件修改时是否自动加载 --><constant name="struts.configuration.xmlreload" value="true"/><!-- 开发模式下打印详细的错误信息,默认为false -->	<constant name="struts.devMode" value="false"/><!-- 标准的UI主题,默认的UI主题为xhtml,可以为simple,xhtml或ajax --><constant name="struts.ui.theme" value="xhtml"/><!-- 配置上传文件的最大容量,struts2默认为2M。单位是1B, 1KB=1024B,1M=1024KB,1M=1024*1024B--><constant name="struts.multipart.maxSize" value="1048576" /><constant name="struts.multipart.saveDir" value="/upload"></constant><package name="default" namespace="/" extends="struts-default"><action name="upload" class="com.wf.ssm.action.Upload"><result>upload_success.jsp</result></action><action name="download" class="com.wf.ssm.action.DownloadAction"> <!-- 设置文件路径的参数,传到action类文件中去 --><!-- <param name="path">\download\a.jpg</param> --><!-- 下载文件类型定义,即定义为“stream” --><result name="success" type="stream"> <!-- image/jpeg代表JPG图片 --><param name="contentType">image/jpeg</param> <!-- 下载文件处理方法 --><param name="contentDisposition"> <!-- attachment表示附件方式,即下载时打开保存对话窗,filename表示下载时显示的保存时的文件名 --><!-- 如果不写attachment;或者是写的是inline; 则表示内联,即会在浏览器中尝试打开下载的文件,而不是下载-->attachment;filename="a.doc"   </param> <!-- 下载文件输出流定义 --><!-- 这里的inputName元素所对应的value值downloadFile,在action中一定要有对应的getDownloadFile()方法 --><param name="inputName">downloadFile</param> <!-- 下载缓冲区的大小 --><param name="bufferSize">1024</param> </result> </action> <!-- 学生登录请求的 action --> <action name="login" method="login" class="com.wf.ssm.action.UserAction"> <result name="success">/user_pages/zhuCeSuccess.jsp</result> <result name="error">/user_pages/user_error.jsp</result> </action><!-- 管理员登录请求的 action --> <action name="adminLogin" method="adminLogin" class="com.wf.ssm.action.AdminAction"> <result name="success">/admin_pages/index.jsp</result> <!-- 当页面表单填写不合法时,这里一定要加上下面这句 例如页面上input输入框有name=“id”的那种--> <!-- <result name="input">error.jsp</result> --> <result name="error">/admin_pages/admin_error.jsp</result> </action><!-- 添加学生 --><action name="insertUser" class="com.wf.ssm.action.UserAction" method="insertUser"> <result name="success">/admin_pages/main.jsp</result><result name="error">/admin_pages/error.jsp</result> </action> <!-- 学生注册 --><action name="insertUser2" class="com.wf.ssm.action.UserAction" method="insertUser"> <result name="success">/user_pages/zhuCeSuccess.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 删除学生 --><action name="deleteUser" class="com.wf.ssm.action.UserAction" method="deleteUser"><result name="input">/admin_pages/main.jsp</result> <result name="success">/admin_pages/success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新学生 --><action name="updateUser" class="com.wf.ssm.action.UserAction" method="updateUser"> <result name="success">/admin_pages/main.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询学生 --><action name="selectUsers" class="com.wf.ssm.action.UserAction" method="selectUsers"> <result name="success">/admin_pages/main.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询用户 --><action name="condition_*" class="com.wf.ssm.action.UserAction" method="{1}"> <result name="{1}">/admin_pages/condition_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 添加管理员 --><action name="insertAdmin" class="com.wf.ssm.action.AdminAction" method="insertAdmin"> <result name="success">/admin_pages/admin_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 删除管理员 --><action name="deleteAdmin" class="com.wf.ssm.action.AdminAction" method="deleteAdmin"><result name="input">/admin_pages/admin_index.jsp</result> <result name="success">/admin_pages/admin_success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新管理员 --><action name="updateAdmin" class="com.wf.ssm.action.AdminAction" method="updateAdmin"> <result name="success">/admin_pages/admin_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询管理员 --><action name="selectAdmin" class="com.wf.ssm.action.AdminAction" method="selectAdmin"> <result name="success">/admin_pages/admin_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询管理员 --><action name="admin_*" class="com.wf.ssm.action.AdminAction" method="{1}"> <result name="{1}">/admin_pages/condition_admin_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 添加班级 --><action name="insertClass" class="com.wf.ssm.action.ClassBeanAction" method="insertClass"> <result name="success">/admin_pages/class_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action> <!-- 删除班级 --><action name="deleteClass" class="com.wf.ssm.action.ClassBeanAction" method="deleteClass"><result name="input">/admin_pages/class_index.jsp</result> <result name="success">/admin_pages/delete_class_success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新班级 --><action name="updateClass" class="com.wf.ssm.action.ClassBeanAction" method="updateClass"> <result name="success">/admin_pages/class_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询班级 --><action name="selectClass" class="com.wf.ssm.action.ClassBeanAction" method="selectClass"> <result name="success">/admin_pages/class_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询班级 --><action name="class_*" class="com.wf.ssm.action.ClassBeanAction" method="{1}"> <result name="{1}">/admin_pages/condition_class_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 添加专业 --><action name="insertZhuanYe" class="com.wf.ssm.action.ZhuanYeAction" method="insertZhuanYe"> <result name="success">/admin_pages/zhuanYe_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action> <!-- 删除专业--><action name="deleteZhuanYe" class="com.wf.ssm.action.ZhuanYeAction" method="deleteZhuanYe"><result name="input">/admin_pages/zhuanYe_index.jsp</result> <result name="success">/admin_pages/delete_zhuanYe_success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新专业 --><action name="updateZhuanYe" class="com.wf.ssm.action.ZhuanYeAction" method="updateZhuanYe"> <result name="success">/admin_pages/zhuanYe_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询专业 --><action name="selectZhuanYe" class="com.wf.ssm.action.ZhuanYeAction" method="selectZhuanYe"> <result name="success">/admin_pages/zhuanYe_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询专业--><action name="zhuanYe_*" class="com.wf.ssm.action.ZhuanYeAction" method="{1}"> <result name="{1}">/admin_pages/condition_zhuanYe_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 添加学院 --><action name="insertXueYuan" class="com.wf.ssm.action.XueYuanAction" method="insertXueYuan"> <result name="success">/admin_pages/xueYuan_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action> <!-- 删除学院--><action name="deleteXueYuan" class="com.wf.ssm.action.XueYuanAction" method="deleteXueYuan"><result name="input">/admin_pages/xueYuan_index.jsp</result> <result name="success">/admin_pages/delete_xueYuan_success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新学院 --><action name="updateXueYuan" class="com.wf.ssm.action.XueYuanAction" method="updateXueYuan"> <result name="success">/admin_pages/xueYuan_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询学院 --><action name="selectXueYuan" class="com.wf.ssm.action.XueYuanAction" method="selectXueYuan"> <result name="success">/admin_pages/xueYuan_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询学院--><action name="xueYuan_*" class="com.wf.ssm.action.XueYuanAction" method="{1}"> <result name="{1}">/admin_pages/condition_xueYuan_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 添加宿舍--><action name="insertSuShe" class="com.wf.ssm.action.SuSheAction" method="insertSuShe"> <result name="success">/admin_pages/suShe_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action> <!-- 删除宿舍--><action name="deleteSuShe" class="com.wf.ssm.action.SuSheAction" method="deleteSuShe"><result name="input">/admin_pages/suShe_index.jsp</result> <result name="success">/admin_pages/delete_suShe_success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新宿舍 --><action name="updateSuShe" class="com.wf.ssm.action.SuSheAction" method="updateSuShe"> <result name="success">/admin_pages/suShe_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询宿舍 --><action name="selectSuShe" class="com.wf.ssm.action.SuSheAction" method="selectSuShe"> <result name="success">/admin_pages/suShe_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询宿舍--><action name="suShe_*" class="com.wf.ssm.action.SuSheAction" method="{1}"> <result name="{1}">/admin_pages/condition_suShe_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 添加留言--><action name="insertLiuYan" class="com.wf.ssm.action.LiuYanAction" method="insertLiuYan"> <result name="success">/admin_pages/liuYan_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action> <!-- 学生添加留言 --><action name="insertLiuYan2" class="com.wf.ssm.action.LiuYanAction" method="insertLiuYan"> <result name="success">/user_pages/condition_liuYan_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 删除留言--><action name="deleteLiuYan" class="com.wf.ssm.action.LiuYanAction" method="deleteLiuYan"><result name="input">/admin_pages/liuYan_index.jsp</result> <result name="success">/admin_pages/delete_liuYan_success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新留言 --><action name="updateLiuYan" class="com.wf.ssm.action.LiuYanAction" method="updateLiuYan"> <result name="success">/admin_pages/liuYan_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询留言 --><action name="selectLiuYan" class="com.wf.ssm.action.LiuYanAction" method="selectLiuYan"> <result name="success">/admin_pages/liuYan_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 用户查看留言 --><action name="selectLiuYan2" class="com.wf.ssm.action.LiuYanAction" method="selectLiuYan"> <result name="success">/user_pages/condition_liuYan_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询留言--><action name="liuYan_*" class="com.wf.ssm.action.LiuYanAction" method="{1}"> <result name="{1}">/admin_pages/condition_liuYan_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 添加水电--><action name="insertShuiDian" class="com.wf.ssm.action.ShuiDianAction" method="insertShuiDian"> <result name="success">/admin_pages/shuiDian_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action> <!-- 删除水电--><action name="deleteShuiDian" class="com.wf.ssm.action.ShuiDianAction" method="deleteShuiDian"><result name="input">/admin_pages/shuiDian_index.jsp</result> <result name="success">/admin_pages/delete_shuiDian_success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新水电 --><action name="updateShuiDian" class="com.wf.ssm.action.ShuiDianAction" method="updateShuiDian"> <result name="success">/admin_pages/shuiDian_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询水电--><action name="selectShuiDian" class="com.wf.ssm.action.ShuiDianAction" method="selectShuiDian"> <result name="success">/admin_pages/shuiDian_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 用户查询水电 --><action name="selectShuiDian2" class="com.wf.ssm.action.ShuiDianAction" method="selectShuiDian"> <result name="success">/user_pages/condition_shuiDian_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询水电--><action name="shuiDian_*" class="com.wf.ssm.action.ShuiDianAction" method="{1}"> <result name="{1}">/admin_pages/condition_shuiDian_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 添加报修--><action name="insertSuSheBaoXiu" class="com.wf.ssm.action.SuSheBaoXiuAction" method="insertSuSheBaoXiu"> <result name="success">/admin_pages/suSheBaoXiu_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action> <!-- 删除报修--><action name="deleteSuSheBaoXiu" class="com.wf.ssm.action.SuSheBaoXiuAction" method="deleteSuSheBaoXiu"><result name="input">/admin_pages/suSheBaoXiu_index.jsp</result> <result name="success">/admin_pages/delete_suSheBaoXiu_success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新报修 --><action name="updateSuSheBaoXiu" class="com.wf.ssm.action.SuSheBaoXiuAction" method="updateSuSheBaoXiu"> <result name="success">/admin_pages/suSheBaoXiu_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询报修--><action name="selectSuSheBaoXiu" class="com.wf.ssm.action.SuSheBaoXiuAction" method="selectSuSheBaoXiu"> <result name="success">/admin_pages/suSheBaoXiu_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 学生查询报修 --><action name="selectSuSheBaoXiu2" class="com.wf.ssm.action.SuSheBaoXiuAction" method="selectSuSheBaoXiu"> <result name="success">/user_pages/condition_suSheBaoXiu_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询报修--><action name="suSheBaoXiu_*" class="com.wf.ssm.action.SuSheBaoXiuAction" method="{1}"> <result name="{1}">/admin_pages/condition_suSheBaoXiu_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 添加违规--><action name="insertSuSheWeiGui" class="com.wf.ssm.action.SuSheWeiGuiAction" method="insertSuSheWeiGui"> <result name="success">/admin_pages/suSheWeiGui_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action> <!-- 删除违规--><action name="deleteSuSheWeiGui" class="com.wf.ssm.action.SuSheWeiGuiAction" method="deleteSuSheWeiGui"><result name="input">/admin_pages/suSheWeiGui_index.jsp</result> <result name="success">/admin_pages/delete_suSheWeiGui_success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新违规 --><action name="updateSuSheWeiGui" class="com.wf.ssm.action.SuSheWeiGuiAction" method="updateSuSheWeiGui"> <result name="success">/admin_pages/suSheWeiGui_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询违规--><action name="selectSuSheWeiGui" class="com.wf.ssm.action.SuSheWeiGuiAction" method="selectSuSheWeiGui"> <result name="success">/admin_pages/suSheWeiGui_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 用户查询违规 --><action name="selectSuSheWeiGui2" class="com.wf.ssm.action.SuSheWeiGuiAction" method="selectSuSheWeiGui"> <result name="success">/user_pages/condition_suSheWeiGui_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询违规--><action name="suSheWeiGui_*" class="com.wf.ssm.action.SuSheWeiGuiAction" method="{1}"> <result name="{1}">/admin_pages/condition_suSheWeiGui_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 添加晚归--><action name="insertWanGui" class="com.wf.ssm.action.WanGuiAction" method="insertWanGui"> <result name="success">/admin_pages/wanGui_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action> <!-- 删除晚归--><action name="deleteWanGui" class="com.wf.ssm.action.WanGuiAction" method="deleteWanGui"><result name="input">/admin_pages/wanGui_index.jsp</result> <result name="success">/admin_pages/delete_wanGui_success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新晚归 --><action name="updateWanGui" class="com.wf.ssm.action.WanGuiAction" method="updateWanGui"> <result name="success">/admin_pages/wanGui_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询晚归--><action name="selectWanGui" class="com.wf.ssm.action.WanGuiAction" method="selectWanGui"> <result name="success">/admin_pages/wanGui_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 用户查询晚归记录 --><action name="selectWanGui2" class="com.wf.ssm.action.WanGuiAction" method="selectWanGui"> <result name="success">/user_pages/condition_wanGui_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询晚归--><action name="wanGui_*" class="com.wf.ssm.action.WanGuiAction" method="{1}"> <result name="{1}">/admin_pages/condition_wanGui_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 添加评分--><action name="insertPingFen" class="com.wf.ssm.action.PingFenAction" method="insertPingFen"> <result name="success">/admin_pages/pingFen_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action> <!-- 删除评分--><action name="deletePingFen" class="com.wf.ssm.action.PingFenAction" method="deletePingFen"><result name="input">/admin_pages/pingFen_index.jsp</result> <result name="success">/admin_pages/delete_pingFen_success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新评分 --><action name="updatePingFen" class="com.wf.ssm.action.PingFenAction" method="updatePingFen"> <result name="success">/admin_pages/pingFen_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询评分--><action name="selectPingFen" class="com.wf.ssm.action.PingFenAction" method="selectPingFen"> <result name="success">/admin_pages/pingFen_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 学生查询评分 --><action name="selectPingFen2" class="com.wf.ssm.action.PingFenAction" method="selectPingFen"> <result name="success">/user_pages/condition_pingFen_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询评分--><action name="pingFen_*" class="com.wf.ssm.action.PingFenAction" method="{1}"> <result name="{1}">/admin_pages/condition_pingFen_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 添加公告--><action name="insertNews" class="com.wf.ssm.action.NewsAction" method="insertNews"> <result name="success">/admin_pages/news_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action> <!-- 删除公告--><action name="deleteNews" class="com.wf.ssm.action.NewsAction" method="deleteNews"><result name="input">/admin_pages/news_index.jsp</result> <result name="success">/admin_pages/delete_news_success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新公告 --><action name="updateNews" class="com.wf.ssm.action.NewsAction" method="updateNews"> <result name="success">/admin_pages/news_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询公告--><action name="selectNews" class="com.wf.ssm.action.NewsAction" method="selectNews"> <result name="success">/admin_pages/news_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 学生查询公告 --><action name="selectNews2" class="com.wf.ssm.action.NewsAction" method="selectNews"> <result name="success">/user_pages/condition_news_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询公告--><action name="news_*" class="com.wf.ssm.action.NewsAction" method="{1}"> <result name="{1}">/admin_pages/condition_news_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 添加留校--><action name="insertLiuXiao" class="com.wf.ssm.action.LiuXiaoAction" method="insertLiuXiao"> <result name="success">/admin_pages/liuXiao_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action> <!-- 删除留校--><action name="deleteLiuXiao" class="com.wf.ssm.action.LiuXiaoAction" method="deleteLiuXiao"><result name="input">/admin_pages/liuXiao_index.jsp</result> <result name="success">/admin_pages/delete_liuXiao_success.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 更新留校 --><action name="updateLiuXiao" class="com.wf.ssm.action.LiuXiaoAction" method="updateLiuXiao"> <result name="success">/admin_pages/liuXiao_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 查询留校--><action name="selectLiuXiao" class="com.wf.ssm.action.LiuXiaoAction" method="selectLiuXiao"> <result name="success">/admin_pages/liuXiao_index.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 学生查看留校信息 --><action name="selectLiuXiao2" class="com.wf.ssm.action.LiuXiaoAction" method="selectLiuXiao"> <result name="success">/user_pages/condition_liuXiao_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action><!-- 条件查询留校--><action name="liuXiao_*" class="com.wf.ssm.action.LiuXiaoAction" method="{1}"> <result name="{1}">/admin_pages/condition_liuXiao_result.jsp</result><result name="error">/admin_pages/error.jsp</result> </action></package> 
</struts>

web.xml

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.4"   xmlns="http://java.sun.com/xml/ns/j2ee"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  <!-- web.xml 的加载顺序是:ServletContext-> context-param ->listener -> filter -> servlet,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的。 --><context-param>  <!--配置spring的配置文件  --><param-name>contextConfigLocation</param-name>  <param-value>classpath:applicationContext.xml</param-value>  </context-param>  <context-param><!--配置项目运行日志的配置文件  --><param-name>log4jConfigLocation</param-name><param-value>classpath:log4j.properties</param-value></context-param><!--配置spring监听文件-->  <listener>  <listener-class>  org.springframework.web.context.ContextLoaderListener  </listener-class>  </listener><listener><!--配置log4j监听文件  --><listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener><!--字符编码--> <filter><filter-name>encoding</filter-name><filter-class>com.wf.ssm.tools.EncodeFilter</filter-class></filter><filter-mapping><filter-name>encoding</filter-name><url-pattern>/*    struts2        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter                 struts2    /*    index.jsp 
  
package com.wf.ssm.tools;import java.io.IOException;import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;public class EncodeFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {request.setCharacterEncoding("utf-8");chain.doFilter(request, response);}public void init(FilterConfig arg0) throws ServletException {}
}

解决中文乱码的一种方式。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部