Spring + SpringMVC + Hibernate3框架整合
开发步骤
首先导入jar包(我做的项目中涉及文件和图片的导入与导出,所以加入了poi的jar包,poi的版本是3.1的)
用到的jar包过多不方便截图(其实有些jar包是没用到的),可到我的工程里面看
2 配置三大框架的的配置文件
web.xml 配置文件
index.jsp
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
classpath:applicationContext.xml
mvc
org.springframework.web.servlet.DispatcherServlet
1
mvc
*.do
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
encodingFilter
/*
openSessionInView
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
sessionFactoryBeanName
sessionFactory
openSessionInView
/*
applacitonContext.xml(置于src根目录下) (这里配置的是spring的配置文件)
org.hibernate.dialect.MySQLDialect
update
true
true
com/hw/entity/Dept.hbm.xml
com/hw/entity/Person.hbm.xml
com/hw/entity/User.hbm.xml
mvc-servlet.xml(置于WEB-INF文件夹下) (这里配置的spring mvc的配置文件)
因为我做的项目涉及到上传与下载所以配置的时候定义了文件上传解析器
3 Controller(控制器)
UserAction(用户登录与注册)
package com.hw.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.hw.entity.User;
import com.hw.service.UserService;
import com.hw.service.impl.UserServiceImpl;
import com.hw.utils.MD5Utils;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
@Controller
@RequestMapping("user")
public class UserAction {
private UserService db=new UserServiceImpl();
@RequestMapping("add")
public String add(User user) throws Exception {
String ss=MD5Utils.MD5Src(user.getUserPass());//进行md5加密
user.setUserPass(ss);//加密后存进行去
db.add(user);
return "redirect:/index.jsp";
}
@RequestMapping("login")
public String login(User user) throws Exception {
//把密码通过md5加密后和数据库的表中的对应字段进行比较
if(db.login(user.getUserName(), MD5Utils.MD5Src(user.getUserPass()))){
return "redirect:/per/listPerson.do";//重定向
}else{
return "redirect:/index.jsp";
}
}
}
PersonAction (用户管理)
package com.hw.controller;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
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.MultipartFile;
import com.hw.entity.Dept;
import com.hw.entity.Person;
import com.hw.service.DeptService;
import com.hw.service.PersonService;
import com.hw.service.impl.DeptServiceImpl;
import com.hw.service.impl.PersonServiceImpl;
import com.hw.utils.ExportExcel;
import com.hw.utils.FileDownLoad;
import com.hw.utils.PageUtils;
@Controller
@RequestMapping("per")
public class PersonAction {
private Person per = new Person();//有set get方法
private PersonService ps = new PersonServiceImpl();
private DeptService ds=new DeptServiceImpl();
private List list=new ArrayList();//有set get方法
private File myfile;//有set get方法
private String myfileFileName;//有set get方法
private List perlist=new ArrayList();
private List source=new ArrayList();
@RequestMapping("dept")
@ResponseBody //生成json格式
public List dept(){//下载
List list=ds.list();
return list;
}
@RequestMapping("download") //下载,没有返回值
public void download(HttpServletRequest request,HttpServletResponse response,Person per) throws Exception{//下载
FileDownLoad.download("\\upload\\"+per.getFilepath(), request, response);
}
@RequestMapping("toadd")
public String toAdd() throws Exception {// 到添加
list=ds.list();//查询出所有部门表
return "add";
}
@RequestMapping("toupdate")
public String toUpdate(HttpServletRequest request,Person per) throws Exception {// 到修改
per=ps.getPerson(per.getPid());//获取单个对象
System.out.println(per.getFilepath());
request.setAttribute("per",per);//存起来
String []aa=per.getSkilled().split(",");
for(int i=0;i dataList = new ArrayList
部门显示是用ajax异步处理的
script type="text/javascript">
$(function(){
$.post("per/dept.do",function(msg){
for(i=0;i"+msg[i].dname+"");
}
});
});
修改页面update.jsp回显按如下代码实现
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
My JSP 's1.jsp' starting page
用户修改
controller toupdate代码如下
@RequestMapping("toupdate")
public String toUpdate(HttpServletRequest request,Person per) throws Exception {// 到修改
per=ps.getPerson(per.getPid());//获取单个对象
System.out.println(per.getFilepath());
request.setAttribute("per",per);//存起来
String []aa=per.getSkilled().split(",");
for(int i=0;i
链接:http://pan.baidu.com/s/1c10P9PA 密码:clew