基于javaweb的养老院管理系统(java+ssm+bootstrap+jsp+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+SSM的养老院管理系统(java+SSM+BootStrap+jsp+Maven+mysql)

养老院管理系统

该系统主要功能室养老院系统,采用mvc三层架构

1、采用技术书spring、springmvc、mybatis、maven等技术 2、数据库是mysql,共11张表 3、前端使用bootstrap架构 4、本系统提供两个角色,管理员和普通护理人员,在登录时会进行角色管理,不同角色看到内容不同 5、用户管理包括用户的展示、查询、新增、删除、分页等功能 6、老人管理包括老人信息详情、查询、联系人、事故、护理等级、修改、删除、新增等功能 7、房间管理包括房间详情、查询、修改、删除、新增,支持多个同时删除 8、工资管理主要功能室对员工工资的管理 9、请假管理是管理员工的请假天数、扣除工资等 10、护理等级包括老人和护理人员配对管理

11、工资统计是对工作人员工资管理

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 5.7版本;

技术栈

  1. 后端:Spring SpringMVC MyBatis 2. 前端:JSP+bootstrap+jQuery

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置;

  2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;

  1. 运行项目,输入localhost:8080/xxx 登录

用户管理控制层:

//UserInfo管理控制层

@Controller

@RequestMapping(“/UserInfo”)

public class UserInfoController extends BaseController {

/业务层对象/

@Resource UserInfoService userInfoService;

@InitBinder(“userInfo”)

public void initBinderUserInfo(WebDataBinder binder) {

binder.setFieldDefaultPrefix(“userInfo.”);

/跳转到添加UserInfo视图/

@RequestMapping(value = “/add”, method = RequestMethod.GET)

public String add(Model model,HttpServletRequest request) throws Exception {

model.addAttribute(new UserInfo());

return “UserInfo_add”;

/客户端ajax方式提交添加用户信息/

@RequestMapping(value = “/add”, method = RequestMethod.POST)

public void add(@Validated UserInfo userInfo, BindingResult br,

Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {

String message = “”;

boolean success = false;

if (br.hasErrors()) {

message = “输入信息不符合要求!”;

writeJsonResponse(response, success, message);

return ;

if(userInfoService.getUserInfo(userInfo.getUser_name()) != null) {

message = “用户名已经存在!”;

writeJsonResponse(response, success, message);

return ;

try {

userInfo.setUserPhoto(this.handlePhotoUpload(request, “userPhotoFile”));

} catch(UserException ex) {

message = “图片格式不正确!”;

writeJsonResponse(response, success, message);

return ;

userInfoService.addUserInfo(userInfo);

message = “用户添加成功!”;

success = true;

writeJsonResponse(response, success, message);

/ajax方式按照查询条件分页查询用户信息/

@RequestMapping(value = { “/list” }, method = {RequestMethod.GET,RequestMethod.POST})

public void list(String user_name,String name,String birthDate,String telephone,Integer page,Integer rows, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {

if (page==null || page == 0) page = 1;

if (user_name == null) user_name = “”;

if (name == null) name = “”;

if (birthDate == null) birthDate = “”;

if (telephone == null) telephone = “”;

if(rows != 0)userInfoService.setRows(rows);

List userInfoList = userInfoService.queryUserInfo(user_name, name, birthDate, telephone, page);

/计算总的页数和总的记录数/

userInfoService.queryTotalPageAndRecordNumber(user_name, name, birthDate, telephone);

/获取到总的页码数目/

int totalPage = userInfoService.getTotalPage();

/当前查询条件下总记录数/

int recordNumber = userInfoService.getRecordNumber();

response.setContentType(“text/json;charset=UTF-8”);

PrintWriter out = response.getWriter();

//将要被返回到客户端的对象

JSONObject jsonObj=new JSONObject();

jsonObj.accumulate(“total”, recordNumber);

JSONArray jsonArray = new JSONArray();

for(UserInfo userInfo:userInfoList) {

JSONObject jsonUserInfo = userInfo.getJsonObject();

jsonArray.put(jsonUserInfo);

jsonObj.accumulate(“rows”, jsonArray);

out.println(jsonObj.toString());

out.flush();

out.close();

/ajax方式按照查询条件分页查询用户信息/

@RequestMapping(value = { “/listAll” }, method = {RequestMethod.GET,RequestMethod.POST})

public void listAll(HttpServletResponse response) throws Exception {

List userInfoList = userInfoService.queryAllUserInfo();

response.setContentType(“text/json;charset=UTF-8”);

PrintWriter out = response.getWriter();

JSONArray jsonArray = new JSONArray();

for(UserInfo userInfo:userInfoList) {

JSONObject jsonUserInfo = new JSONObject();

jsonUserInfo.accumulate(“user_name”, userInfo.getUser_name());

jsonUserInfo.accumulate(“name”, userInfo.getName());

jsonArray.put(jsonUserInfo);

out.println(jsonArray.toString());

out.flush();

out.close();

/前台按照查询条件分页查询用户信息/

@RequestMapping(value = { “/frontlist” }, method = {RequestMethod.GET,RequestMethod.POST})

public String frontlist(String user_name,String name,String birthDate,String telephone,Integer currentPage, Model model, HttpServletRequest request) throws Exception {

if (currentPage==null || currentPage == 0) currentPage = 1;

if (user_name == null) user_name = “”;

if (name == null) name = “”;

if (birthDate == null) birthDate = “”;

if (telephone == null) telephone = “”;

List userInfoList = userInfoService.queryUserInfo(user_name, name, birthDate, telephone, currentPage);

/计算总的页数和总的记录数/

userInfoService.queryTotalPageAndRecordNumber(user_name, name, birthDate, telephone);

/获取到总的页码数目/

int totalPage = userInfoService.getTotalPage();

/当前查询条件下总记录数/

int recordNumber = userInfoService.getRecordNumber();

request.setAttribute(“userInfoList”, userInfoList);

request.setAttribute(“totalPage”, totalPage);

request.setAttribute(“recordNumber”, recordNumber);

request.setAttribute(“currentPage”, currentPage);

request.setAttribute(“user_name”, user_name);

request.setAttribute(“name”, name);

request.setAttribute(“birthDate”, birthDate);

request.setAttribute(“telephone”, telephone);

return “UserInfo/userInfo_frontquery_result”;

/前台查询UserInfo信息/

@RequestMapping(value=“/{user_name}/frontshow”,method=RequestMethod.GET)

public String frontshow(@PathVariable String user_name,Model model,HttpServletRequest request) throws Exception {

/根据主键user_name获取UserInfo对象/

UserInfo userInfo = userInfoService.getUserInfo(user_name);

request.setAttribute(“userInfo”, userInfo);

return “UserInfo/userInfo_frontshow”;

/ajax方式显示用户修改jsp视图页/

@RequestMapping(value=“/{user_name}/update”,method=RequestMethod.GET)

public void update(@PathVariable String user_name,Model model,HttpServletRequest request,HttpServletResponse response) throws Exception {

/根据主键user_name获取UserInfo对象/

UserInfo userInfo = userInfoService.getUserInfo(user_name);

response.setContentType(“text/json;charset=UTF-8”);

PrintWriter out = response.getWriter();

//将要被返回到客户端的对象

JSONObject jsonUserInfo = userInfo.getJsonObject();

out.println(jsonUserInfo.toString());

out.flush();

out.close();

/ajax方式更新用户信息/

@RequestMapping(value = “/{user_name}/update”, method = RequestMethod.POST)

public void update(@Validated UserInfo userInfo, BindingResult br,

Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {

String message = “”;

boolean success = false;

if (br.hasErrors()) {

message = “输入的信息有错误!”;

writeJsonResponse(response, success, message);

return;

String userPhotoFileName = this.handlePhotoUpload(request, “userPhotoFile”);

if(!userPhotoFileName.equals(“upload/NoImage.jpg”))userInfo.setUserPhoto(userPhotoFileName);

try {

userInfoService.updateUserInfo(userInfo);

message = “用户更新成功!”;

success = true;

writeJsonResponse(response, success, message);

} catch (Exception e) {

e.printStackTrace();

message = “用户更新失败!”;

writeJsonResponse(response, success, message);

/删除用户信息/

@RequestMapping(value=“/{user_name}/delete”,method=RequestMethod.GET)

public String delete(@PathVariable String user_name,HttpServletRequest request) throws UnsupportedEncodingException {

try {

userInfoService.deleteUserInfo(user_name);

request.setAttribute(“message”, “用户删除成功!”);

return “message”;

} catch (Exception e) {

e.printStackTrace();

request.setAttribute(“error”, “用户删除失败!”);

return “error”;

/ajax方式删除多条用户记录/

@RequestMapping(value=“/deletes”,method=RequestMethod.POST)

public void delete(String user_names,HttpServletRequest request,HttpServletResponse response) throws IOException, JSONException {

String message = “”;

boolean success = false;

try {

int count = userInfoService.deleteUserInfos(user_names);

success = true;

message = count + “条记录删除成功”;

writeJsonResponse(response, success, message);

} catch (Exception e) {

//e.printStackTrace();

message = “有记录存在外键约束,删除失败”;

writeJsonResponse(response, success, message);

/按照查询条件导出用户信息到Excel/

@RequestMapping(value = { “/OutToExcel” }, method = {RequestMethod.GET,RequestMethod.POST})

public void OutToExcel(String user_name,String name,String birthDate,String telephone, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {

if(user_name == null) user_name = “”;

if(name == null) name = “”;

if(birthDate == null) birthDate = “”;

if(telephone == null) telephone = “”;

List userInfoList = userInfoService.queryUserInfo(user_name,name,birthDate,telephone);

ExportExcelUtil ex = new ExportExcelUtil();

String _title = “UserInfo信息记录”;

String[] headers = { “用户名”,“姓名”,“性别”,“出生日期”,“用户照片”,“联系电话”,“邮箱”,“注册时间”};

List<String[]> dataset = new ArrayList<String[]>();

for(int i=0;i<userInfoList.size();i++) {

UserInfo userInfo = userInfoList.get(i);

dataset.add(new String[]{userInfo.getUser_name(),userInfo.getName(),userInfo.getGender(),userInfo.getBirthDate(),userInfo.getUserPhoto(),userInfo.getTelephone(),userInfo.getEmail(),userInfo.getRegTime()});

/*

OutputStream out = null;

try {

out = new FileOutputStream(“C://output.xls”);

ex.exportExcel(title,headers, dataset, out);

out.close();

} catch (Exception e) {

e.printStackTrace();

*/

OutputStream out = null;//创建一个输出流对象

try {

out = response.getOutputStream();//

response.setHeader(“Content-disposition”,“attachment; filename=”+“UserInfo.xls”);//filename是下载的xls的名,建议最好用英文

response.setContentType(“application/msexcel;charset=UTF-8”);//设置类型

response.setHeader(“Pragma”,“No-cache”);//设置头

response.setHeader(“Cache-Control”,“no-cache”);//设置头

response.setDateHeader(“Expires”, 0);//设置日期头

String rootPath = request.getSession().getServletContext().getRealPath(“/”);

ex.exportExcel(rootPath,_title,headers, dataset, out);

out.flush();

} catch (IOException e) {

e.printStackTrace();

}finally{

try{

if(out!=null){

out.close();

}catch(IOException e){

e.printStackTrace();

老人管理控制层:

//OldMan管理控制层

@Controller

@RequestMapping(“/OldMan”)

public class OldManController extends BaseController {

/业务层对象/

@Resource OldManService oldManService;

@Resource UserInfoService userInfoService;

@InitBinder(“userObj”)

public void initBinderuserObj(WebDataBinder binder) {

binder.setFieldDefaultPrefix(“userObj.”);

@InitBinder(“oldMan”)

public void initBinderOldMan(WebDataBinder binder) {

binder.setFieldDefaultPrefix(“oldMan.”);

/跳转到添加OldMan视图/

@RequestMapping(value = “/add”, method = RequestMethod.GET)

public String add(Model model,HttpServletRequest request) throws Exception {

model.addAttribute(new OldMan());

/查询所有的UserInfo信息/

List userInfoList = userInfoService.queryAllUserInfo();

request.setAttribute(“userInfoList”, userInfoList);

return “OldMan_add”;

/客户端ajax方式提交添加老人信息/

@RequestMapping(value = “/add”, method = RequestMethod.POST)

public void add(@Validated OldMan oldMan, BindingResult br,

Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {

String message = “”;

boolean success = false;

if (br.hasErrors()) {

message = “输入信息不符合要求!”;

writeJsonResponse(response, success, message);

return ;

try {

oldMan.setManPhoto(this.handlePhotoUpload(request, “manPhotoFile”));

} catch(UserException ex) {

message = “图片格式不正确!”;

writeJsonResponse(response, success, message);

return ;

oldManService.addOldMan(oldMan);

message = “老人添加成功!”;

success = true;

writeJsonResponse(response, success, message);

/ajax方式按照查询条件分页查询老人信息/

@RequestMapping(value = { “/list” }, method = {RequestMethod.GET,RequestMethod.POST})

public void list(String name,@ModelAttribute(“userObj”) UserInfo userObj,String addTime,Integer page,Integer rows, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {

if (page==null || page == 0) page = 1;

if (name == null) name = “”;

if (addTime == null) addTime = “”;

if(rows != 0)oldManService.setRows(rows);

List oldManList = oldManService.queryOldMan(name, userObj, addTime, page);

/计算总的页数和总的记录数/

oldManService.queryTotalPageAndRecordNumber(name, userObj, addTime);

/获取到总的页码数目/

int totalPage = oldManService.getTotalPage();

/当前查询条件下总记录数/

int recordNumber = oldManService.getRecordNumber();

response.setContentType(“text/json;charset=UTF-8”);

PrintWriter out = response.getWriter();

//将要被返回到客户端的对象

JSONObject jsonObj=new JSONObject();

jsonObj.accumulate(“total”, recordNumber);

JSONArray jsonArray = new JSONArray();

for(OldMan oldMan:oldManList) {

JSONObject jsonOldMan = oldMan.getJsonObject();

jsonArray.put(jsonOldMan);

jsonObj.accumulate(“rows”, jsonArray);

out.println(jsonObj.toString());

out.flush();

out.close();

/ajax方式按照查询条件分页查询老人信息/

@RequestMapping(value = { “/listAll” }, method = {RequestMethod.GET,RequestMethod.POST})

public void listAll(HttpServletResponse response) throws Exception {

List oldManList = oldManService.queryAllOldMan();

response.setContentType(“text/json;charset=UTF-8”);

PrintWriter out = response.getWriter();

JSONArray jsonArray = new JSONArray();

for(OldMan oldMan:oldManList) {

JSONObject jsonOldMan = new JSONObject();

jsonOldMan.accumulate(“oldManId”, oldMan.getOldManId());

jsonOldMan.accumulate(“name”, oldMan.getName());

jsonArray.put(jsonOldMan);

out.println(jsonArray.toString());

out.flush();

out.close();

/前台按照查询条件分页查询老人信息/

@RequestMapping(value = { “/frontlist” }, method = {RequestMethod.GET,RequestMethod.POST})

public String frontlist(String name,@ModelAttribute(“userObj”) UserInfo userObj,String addTime,Integer currentPage, Model model, HttpServletRequest request) throws Exception {

if (currentPage==null || currentPage == 0) currentPage = 1;

if (name == null) name = “”;

if (addTime == null) addTime = “”;

List oldManList = oldManService.queryOldMan(name, userObj, addTime, currentPage);

/计算总的页数和总的记录数/

oldManService.queryTotalPageAndRecordNumber(name, userObj, addTime);

/获取到总的页码数目/

int totalPage = oldManService.getTotalPage();

/当前查询条件下总记录数/

int recordNumber = oldManService.getRecordNumber();

request.setAttribute(“oldManList”, oldManList);

request.setAttribute(“totalPage”, totalPage);

request.setAttribute(“recordNumber”, recordNumber);

request.setAttribute(“currentPage”, currentPage);

request.setAttribute(“name”, name);

request.setAttribute(“userObj”, userObj);

request.setAttribute(“addTime”, addTime);

List userInfoList = userInfoService.queryAllUserInfo();

request.setAttribute(“userInfoList”, userInfoList);

return “OldMan/oldMan_frontquery_result”;

/前台查询OldMan信息/

@RequestMapping(value=“/{oldManId}/frontshow”,method=RequestMethod.GET)

public String frontshow(@PathVariable Integer oldManId,Model model,HttpServletRequest request) throws Exception {

/根据主键oldManId获取OldMan对象/

OldMan oldMan = oldManService.getOldMan(oldManId);

List userInfoList = userInfoService.queryAllUserInfo();

request.setAttribute(“userInfoList”, userInfoList);

request.setAttribute(“oldMan”, oldMan);

return “OldMan/oldMan_frontshow”;

/ajax方式显示老人修改jsp视图页/

@RequestMapping(value=“/{oldManId}/update”,method=RequestMethod.GET)

public void update(@PathVariable Integer oldManId,Model model,HttpServletRequest request,HttpServletResponse response) throws Exception {

/根据主键oldManId获取OldMan对象/

OldMan oldMan = oldManService.getOldMan(oldManId);

response.setContentType(“text/json;charset=UTF-8”);

PrintWriter out = response.getWriter();

//将要被返回到客户端的对象

JSONObject jsonOldMan = oldMan.getJsonObject();

out.println(jsonOldMan.toString());

out.flush();

out.close();

/ajax方式更新老人信息/

@RequestMapping(value = “/{oldManId}/update”, method = RequestMethod.POST)

public void update(@Validated OldMan oldMan, BindingResult br,

Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {

String message = “”;

boolean success = false;

if (br.hasErrors()) {

message = “输入的信息有错误!”;

writeJsonResponse(response, success, message);

return;

String manPhotoFileName = this.handlePhotoUpload(request, “manPhotoFile”);

if(!manPhotoFileName.equals(“upload/NoImage.jpg”))oldMan.setManPhoto(manPhotoFileName);

try {

oldManService.updateOldMan(oldMan);

message = “老人更新成功!”;

success = true;

writeJsonResponse(response, success, message);

} catch (Exception e) {

e.printStackTrace();

message = “老人更新失败!”;

writeJsonResponse(response, success, message);

/删除老人信息/

@RequestMapping(value=“/{oldManId}/delete”,method=RequestMethod.GET)

public String delete(@PathVariable Integer oldManId,HttpServletRequest request) throws UnsupportedEncodingException {

try {

oldManService.deleteOldMan(oldManId);

request.setAttribute(“message”, “老人删除成功!”);

return “message”;

} catch (Exception e) {

e.printStackTrace();

request.setAttribute(“error”, “老人删除失败!”);

return “error”;

/ajax方式删除多条老人记录/

@RequestMapping(value=“/deletes”,method=RequestMethod.POST)

public void delete(String oldManIds,HttpServletRequest request,HttpServletResponse response) throws IOException, JSONException {

String message = “”;

boolean success = false;

try {

int count = oldManService.deleteOldMans(oldManIds);

success = true;

message = count + “条记录删除成功”;

writeJsonResponse(response, success, message);

} catch (Exception e) {

//e.printStackTrace();

message = “有记录存在外键约束,删除失败”;

writeJsonResponse(response, success, message);

/按照查询条件导出老人信息到Excel/

@RequestMapping(value = { “/OutToExcel” }, method = {RequestMethod.GET,RequestMethod.POST})

public void OutToExcel(String name,@ModelAttribute(“userObj”) UserInfo userObj,String addTime, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {

if(name == null) name = “”;

if(addTime == null) addTime = “”;

List oldManList = oldManService.queryOldMan(name,userObj,addTime);

ExportExcelUtil ex = new ExportExcelUtil();

String _title = “OldMan信息记录”;

String[] headers = { “老人编号”,“姓名”,“性别”,“年龄”,“老人照片”,“登记用户”,“登记时间”};

List<String[]> dataset = new ArrayList<String[]>();

for(int i=0;i<oldManList.size();i++) {

OldMan oldMan = oldManList.get(i);

dataset.add(new String[]{oldMan.getOldManId() + “”,oldMan.getName(),oldMan.getSex(),oldMan.getAge() + “”,oldMan.getManPhoto(),oldMan.getUserObj().getName(),oldMan.getAddTime()});

/*

OutputStream out = null;

try {

out = new FileOutputStream(“C://output.xls”);

ex.exportExcel(title,headers, dataset, out);

out.close();

} catch (Exception e) {

e.printStackTrace();

*/

OutputStream out = null;//创建一个输出流对象

try {

out = response.getOutputStream();//

response.setHeader(“Content-disposition”,“attachment; filename=”+“OldMan.xls”);//filename是下载的xls的名,建议最好用英文

response.setContentType(“application/msexcel;charset=UTF-8”);//设置类型

response.setHeader(“Pragma”,“No-cache”);//设置头

response.setHeader(“Cache-Control”,“no-cache”);//设置头

response.setDateHeader(“Expires”, 0);//设置日期头

String rootPath = request.getSession().getServletContext().getRealPath(“/”);

ex.exportExcel(rootPath,_title,headers, dataset, out);

out.flush();

} catch (IOException e) {

e.printStackTrace();

}finally{

try{

if(out!=null){

out.close();

}catch(IOException e){

e.printStackTrace();

老人管理控制层:

//Room管理控制层

@Controller

@RequestMapping(“/Room”)

public class RoomController extends BaseController {

/业务层对象/

@Resource RoomService roomService;

@Resource RoomTypeService roomTypeService;

@InitBinder(“roomTypeObj”)

public void initBinderroomTypeObj(WebDataBinder binder) {

binder.setFieldDefaultPrefix(“roomTypeObj.”);

@InitBinder(“room”)

public void initBinderRoom(WebDataBinder binder) {

binder.setFieldDefaultPrefix(“room.”);

/跳转到添加Room视图/

@RequestMapping(value = “/add”, method = RequestMethod.GET)

public String add(Model model,HttpServletRequest request) throws Exception {

model.addAttribute(new Room());

/查询所有的RoomType信息/

List roomTypeList = roomTypeService.queryAllRoomType();

request.setAttribute(“roomTypeList”, roomTypeList);

return “Room_add”;

/客户端ajax方式提交添加房间信息/

@RequestMapping(value = “/add”, method = RequestMethod.POST)

public void add(@Validated Room room, BindingResult br,

Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {

String message = “”;

boolean success = false;

if (br.hasErrors()) {

message = “输入信息不符合要求!”;

writeJsonResponse(response, success, message);

return ;

if(roomService.getRoom(room.getRoomNo()) != null) {

message = “房间编号已经存在!”;

writeJsonResponse(response, success, message);

return ;

try {

room.setMainPhoto(this.handlePhotoUpload(request, “mainPhotoFile”));

} catch(UserException ex) {

message = “图片格式不正确!”;

writeJsonResponse(response, success, message);

return ;

roomService.addRoom(room);

message = “房间添加成功!”;

success = true;

writeJsonResponse(response, success, message);

/ajax方式按照查询条件分页查询房间信息/

@RequestMapping(value = { “/list” }, method = {RequestMethod.GET,RequestMethod.POST})

public void list(String roomNo,@ModelAttribute(“roomTypeObj”) RoomType roomTypeObj,String roomName,String roomState,Integer page,Integer rows, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {

if (page==null || page == 0) page = 1;

if (roomNo == null) roomNo = “”;

if (roomName == null) roomName = “”;

if (roomState == null) roomState = “”;

if(rows != 0)roomService.setRows(rows);

List roomList = roomService.queryRoom(roomNo, roomTypeObj, roomName, roomState, page);

/计算总的页数和总的记录数/

roomService.queryTotalPageAndRecordNumber(roomNo, roomTypeObj, roomName, roomState);

/获取到总的页码数目/

int totalPage = roomService.getTotalPage();

/当前查询条件下总记录数/

int recordNumber = roomService.getRecordNumber();

response.setContentType(“text/json;charset=UTF-8”);

PrintWriter out = response.getWriter();

//将要被返回到客户端的对象

JSONObject jsonObj=new JSONObject();

jsonObj.accumulate(“total”, recordNumber);

JSONArray jsonArray = new JSONArray();

for(Room room:roomList) {

JSONObject jsonRoom = room.getJsonObject();

jsonArray.put(jsonRoom);

jsonObj.accumulate(“rows”, jsonArray);

out.println(jsonObj.toString());

out.flush();

out.close();

/ajax方式按照查询条件分页查询房间信息/

@RequestMapping(value = { “/listAll” }, method = {RequestMethod.GET,RequestMethod.POST})

public void listAll(HttpServletResponse response) throws Exception {

List roomList = roomService.queryAllRoom();

response.setContentType(“text/json;charset=UTF-8”);

PrintWriter out = response.getWriter();

JSONArray jsonArray = new JSONArray();

for(Room room:roomList) {

JSONObject jsonRoom = new JSONObject();

jsonRoom.accumulate(“roomNo”, room.getRoomNo());

jsonRoom.accumulate(“roomName”, room.getRoomName());

jsonArray.put(jsonRoom);

out.println(jsonArray.toString());

out.flush();

out.close();

/前台按照查询条件分页查询房间信息/

@RequestMapping(value = { “/frontlist” }, method = {RequestMethod.GET,RequestMethod.POST})

public String frontlist(String roomNo,@ModelAttribute(“roomTypeObj”) RoomType roomTypeObj,String roomName,String roomState,Integer currentPage, Model model, HttpServletRequest request) throws Exception {

if (currentPage==null || currentPage == 0) currentPage = 1;

if (roomNo == null) roomNo = “”;

if (roomName == null) roomName = “”;

if (roomState == null) roomState = “”;

List roomList = roomService.queryRoom(roomNo, roomTypeObj, roomName, roomState, currentPage);

/计算总的页数和总的记录数/

roomService.queryTotalPageAndRecordNumber(roomNo, roomTypeObj, roomName, roomState);

/获取到总的页码数目/

int totalPage = roomService.getTotalPage();

/当前查询条件下总记录数/

int recordNumber = roomService.getRecordNumber();

request.setAttribute(“roomList”, roomList);

request.setAttribute(“totalPage”, totalPage);

request.setAttribute(“recordNumber”, recordNumber);

request.setAttribute(“currentPage”, currentPage);

request.setAttribute(“roomNo”, roomNo);

request.setAttribute(“roomTypeObj”, roomTypeObj);

request.setAttribute(“roomName”, roomName);

request.setAttribute(“roomState”, roomState);

List roomTypeList = roomTypeService.queryAllRoomType();

request.setAttribute(“roomTypeList”, roomTypeList);

return “Room/room_frontquery_result”;

/前台查询Room信息/

@RequestMapping(value=“/{roomNo}/frontshow”,method=RequestMethod.GET)

public String frontshow(@PathVariable String roomNo,Model model,HttpServletRequest request) throws Exception {

/根据主键roomNo获取Room对象/

Room room = roomService.getRoom(roomNo);

List roomTypeList = roomTypeService.queryAllRoomType();

request.setAttribute(“roomTypeList”, roomTypeList);

request.setAttribute(“room”, room);

return “Room/room_frontshow”;

/ajax方式显示房间修改jsp视图页/

@RequestMapping(value=“/{roomNo}/update”,method=RequestMethod.GET)

public void update(@PathVariable String roomNo,Model model,HttpServletRequest request,HttpServletResponse response) throws Exception {

/根据主键roomNo获取Room对象/

Room room = roomService.getRoom(roomNo);

response.setContentType(“text/json;charset=UTF-8”);

PrintWriter out = response.getWriter();

//将要被返回到客户端的对象

JSONObject jsonRoom = room.getJsonObject();

out.println(jsonRoom.toString());

out.flush();

out.close();

/ajax方式更新房间信息/

@RequestMapping(value = “/{roomNo}/update”, method = RequestMethod.POST)

public void update(@Validated Room room, BindingResult br,

Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {

String message = “”;

boolean success = false;

if (br.hasErrors()) {

message = “输入的信息有错误!”;

writeJsonResponse(response, success, message);

return;

String mainPhotoFileName = this.handlePhotoUpload(request, “mainPhotoFile”);

if(!mainPhotoFileName.equals(“upload/NoImage.jpg”))room.setMainPhoto(mainPhotoFileName);

try {

roomService.updateRoom(room);

message = “房间更新成功!”;

success = true;

writeJsonResponse(response, success, message);

} catch (Exception e) {

e.printStackTrace();

message = “房间更新失败!”;

writeJsonResponse(response, success, message);

/删除房间信息/

@RequestMapping(value=“/{roomNo}/delete”,method=RequestMethod.GET)

public String delete(@PathVariable String roomNo,HttpServletRequest request) throws UnsupportedEncodingException {

try {

roomService.deleteRoom(roomNo);

request.setAttribute(“message”, “房间删除成功!”);

return “message”;

} catch (Exception e) {

e.printStackTrace();

request.setAttribute(“error”, “房间删除失败!”);

return “error”;

/ajax方式删除多条房间记录/

@RequestMapping(value=“/deletes”,method=RequestMethod.POST)

public void delete(String roomNos,HttpServletRequest request,HttpServletResponse response) throws IOException, JSONException {

String message = “”;

boolean success = false;

try {

int count = roomService.deleteRooms(roomNos);

success = true;

message = count + “条记录删除成功”;

writeJsonResponse(response, success, message);

} catch (Exception e) {

//e.printStackTrace();

message = “有记录存在外键约束,删除失败”;

writeJsonResponse(response, success, message);

/按照查询条件导出房间信息到Excel/

@RequestMapping(value = { “/OutToExcel” }, method = {RequestMethod.GET,RequestMethod.POST})

public void OutToExcel(String roomNo,@ModelAttribute(“roomTypeObj”) RoomType roomTypeObj,String roomName,String roomState, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {

if(roomNo == null) roomNo = “”;

if(roomName == null) roomName = “”;

if(roomState == null) roomState = “”;

List roomList = roomService.queryRoom(roomNo,roomTypeObj,roomName,roomState);

ExportExcelUtil ex = new ExportExcelUtil();

String _title = “Room信息记录”;

String[] headers = { “房间编号”,“房间类型”,“房间名称”,“房间主图”,“房间价格”,“房间状态”};

List<String[]> dataset = new ArrayList<String[]>();

for(int i=0;i<roomList.size();i++) {

Room room = roomList.get(i);

dataset.add(new String[]{room.getRoomNo(),room.getRoomTypeObj().getTypeName(),room.getRoomName(),room.getMainPhoto(),room.getPrice() + “”,room.getRoomState()});

/*

OutputStream out = null;

try {

out = new FileOutputStream(“C://output.xls”);

ex.exportExcel(title,headers, dataset, out);

out.close();

} catch (Exception e) {

e.printStackTrace();

*/

OutputStream out = null;//创建一个输出流对象

try {

out = response.getOutputStream();//

response.setHeader(“Content-disposition”,“attachment; filename=”+“Room.xls”);//filename是下载的xls的名,建议最好用英文

response.setContentType(“application/msexcel;charset=UTF-8”);//设置类型

response.setHeader(“Pragma”,“No-cache”);//设置头

response.setHeader(“Cache-Control”,“no-cache”);//设置头

response.setDateHeader(“Expires”, 0);//设置日期头

String rootPath = request.getSession().getServletContext().getRealPath(“/”);

ex.exportExcel(rootPath,_title,headers, dataset, out);

out.flush();

} catch (IOException e) {

e.printStackTrace();

}finally{

try{

if(out!=null){

out.close();

}catch(IOException e){

e.printStackTrace();


基于javaweb的养老院管理系统(java+ssm+bootstrap+jsp+mysql)相关推荐

  1. 基于javaweb的汽车俱乐部管理系统(java+ssm+html+jsp+mysql)

    基于javaweb的汽车俱乐部管理系统(java+ssm+html+jsp+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myecli ...

  2. 基于javaweb的养老院管理系统(java+ssm+jsp+easyui+mysql)

    基于javaweb的养老院管理系统(java+ssm+jsp+easyui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myecli ...

  3. 基于javaweb的问卷调查系统(java+ssm+layui+jsp+mysql)

    基于javaweb的问卷调查系统(java+ssm+layui+jsp+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclips ...

  4. 基于javaweb+SSM的养老院管理系统(java+SSM+BootStrap+jsp+Maven+mysql)

    养老院管理系统 该系统主要功能室养老院系统,采用mvc三层架构 1.采用技术书spring.springmvc.mybatis.maven等技术 2.数据库是mysql,共11张表 3.前端使用boo ...

  5. Java项目:养老院管理系统(java+SSM+BootStrap+jsp+Maven+mysql)

    源码获取:博客首页 "资源" 里下载! 养老院管理系统 该系统主要功能室养老院系统,采用mvc三层架构 1.采用技术书spring.springmvc.mybatis.maven等 ...

  6. 基于javaweb的学生选课管理系统(java+ssm+bootstrap+javascript+mysql)

    基于javaweb的学生选课管理系统(java+ssm+bootstrap+javascript+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ ...

  7. 基于javaweb的实现进销存系统(java+ssm+bootstrap+jsp+mysql)

    基于javaweb的实现进销存系统(java+ssm+bootstrap+jsp+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/mye ...

  8. 基于javaweb的房屋租赁管理系统(java+ssm+layui+mysql+jsp)

    基于javaweb的房屋租赁管理系统(java+ssm+layui+mysql+jsp) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myecli ...

  9. 基于javaweb的酒店管理系统(java+ssm+layui+mysql)

    基于javaweb的酒店管理系统(java+ssm+layui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/st ...

最新文章

  1. OpenCV读写视频文件解析
  2. Asp.Net MVC中Action跳转小结
  3. 把技术卖给不懂技术的人
  4. Android_动态壁纸介绍
  5. 容器可以作为全局变量吗_四季青是风水树吗?哪些可以作为风水树?
  6. 《Debug Hacks》和调试技巧【转】
  7. how does Fiori Mock server serve OData request with 202
  8. 重学java基础第二课:java和python分析
  9. 【Python CheckiO 题解】The Warriors
  10. 编写一个C程序,实现以下功能:动态申请长度为5的整数空间数组,用户输入5个整数;动态扩展数组空间为8,用户另外输入3个整数,最后输出扩展后的全部数组元素。
  11. 斯坦福 CS183 YC 创业课系列中文笔记
  12. eclipse package,source folder,folder区别及相互转换
  13. php调用纯真ip,PHP调用纯真IP数据库返回具体地址
  14. 过滤器 和 拦截器的 6个区别,别再傻傻分不清了
  15. MyBatisPlus之逻辑删除
  16. win7系统更换锁屏壁纸
  17. linux 查看上一级目录,du 使用详解 查看一级目录大小
  18. R语言与数据分析—上(篇幅长,全)
  19. 深度学习入门---PCA,白化
  20. 最新小程序授权+php后端(附demo源码)

热门文章

  1. STM32F767 SDRAM DCMI LTDC野火开发板
  2. 【转】人际关系的书,我只推荐这三本,其它的根本就不用看了
  3. 在 Quasar cli 搭建的 vue 项目中 引用 阿里字体图标 iconfont symbol方式
  4. Flutter为自己的App中引入抖音短视频
  5. 彻夜怒肝!Docker 常见疑难杂症解决方案已撸完,快要裂开了。。。
  6. C# .NET 16进制转换,10进制转换,8进制转换,2进制转换
  7. 计算机硬件是如何驱动的,驱动程序是什么?能做什么?如何正确安装驱动程序?...
  8. html5表单下拉列表样式,表单的各种下拉和样式大全
  9. 计算机系统结构课后题目答案
  10. 鼎信诺服务器取数不显示账套,鼎信诺审计前端取数