• Java项目:养老院综合服务系统(java+SSM+JSP+jQuery+echarts+mysql)


    源码获取:俺的博客首页 "资源" 里下载!

    项目介绍

    该项目为后台管理项目,分为管理员与护工两种角色;
    管理员角色包含以下功能:
    管理员登录,个人资料密码管理,用户管理,床位类型管理,床位管理,护工管理,老人管理,咨询登记管理,预约登记管理,老人健康信息管理,费用管理等功能。
    护工角色包含以下功能:
    护工登录,个人资料修改,床位类型查看,床位查看,护工查看,老人查看,健康信息上报管理,费用查看等功能。


    环境需要

    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.数据库:MySql 5.7版本;
    6.是否Maven项目:否;


    技术栈

    1. 后端:Spring+SpringMVC+Mybatis
    2. 前端:JSP+CSS+JavaScript+jQuery+echarts


    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
    若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
    3. 将项目中spring-mvc.xml配置文件中的数据库配置改为自己的配置;
    4. 运行项目,浏览器中输入http://localhost:8080/ssm_yanglaoyuan_sys 登录
    管理员账号/密码:admin/admin
    护工账号/密码: hugong/123456

     

     

     

     

     

    用户管理控制层:

    1. //UserInfo管理控制层
    2. @Controller
    3. @RequestMapping("/UserInfo")
    4. public class UserInfoController extends BaseController {
    5. /*业务层对象*/
    6. @Resource UserInfoService userInfoService;
    7. @InitBinder("userInfo")
    8. public void initBinderUserInfo(WebDataBinder binder) {
    9. binder.setFieldDefaultPrefix("userInfo.");
    10. }
    11. /*跳转到添加UserInfo视图*/
    12. @RequestMapping(value = "/add", method = RequestMethod.GET)
    13. public String add(Model model,HttpServletRequest request) throws Exception {
    14. model.addAttribute(new UserInfo());
    15. return "UserInfo_add";
    16. }
    17. /*客户端ajax方式提交添加用户信息*/
    18. @RequestMapping(value = "/add", method = RequestMethod.POST)
    19. public void add(@Validated UserInfo userInfo, BindingResult br,
    20. Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
    21. String message = "";
    22. boolean success = false;
    23. if (br.hasErrors()) {
    24. message = "输入信息不符合要求!";
    25. writeJsonResponse(response, success, message);
    26. return ;
    27. }
    28. if(userInfoService.getUserInfo(userInfo.getUser_name()) != null) {
    29. message = "用户名已经存在!";
    30. writeJsonResponse(response, success, message);
    31. return ;
    32. }
    33. try {
    34. userInfo.setUserPhoto(this.handlePhotoUpload(request, "userPhotoFile"));
    35. } catch(UserException ex) {
    36. message = "图片格式不正确!";
    37. writeJsonResponse(response, success, message);
    38. return ;
    39. }
    40. userInfoService.addUserInfo(userInfo);
    41. message = "用户添加成功!";
    42. success = true;
    43. writeJsonResponse(response, success, message);
    44. }
    45. /*ajax方式按照查询条件分页查询用户信息*/
    46. @RequestMapping(value = { "/list" }, method = {RequestMethod.GET,RequestMethod.POST})
    47. public void list(String user_name,String name,String birthDate,String telephone,Integer page,Integer rows, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
    48. if (page==null || page == 0) page = 1;
    49. if (user_name == null) user_name = "";
    50. if (name == null) name = "";
    51. if (birthDate == null) birthDate = "";
    52. if (telephone == null) telephone = "";
    53. if(rows != 0)userInfoService.setRows(rows);
    54. List<UserInfo> userInfoList = userInfoService.queryUserInfo(user_name, name, birthDate, telephone, page);
    55. /*计算总的页数和总的记录数*/
    56. userInfoService.queryTotalPageAndRecordNumber(user_name, name, birthDate, telephone);
    57. /*获取到总的页码数目*/
    58. int totalPage = userInfoService.getTotalPage();
    59. /*当前查询条件下总记录数*/
    60. int recordNumber = userInfoService.getRecordNumber();
    61. response.setContentType("text/json;charset=UTF-8");
    62. PrintWriter out = response.getWriter();
    63. //将要被返回到客户端的对象
    64. JSONObject jsonObj=new JSONObject();
    65. jsonObj.accumulate("total", recordNumber);
    66. JSONArray jsonArray = new JSONArray();
    67. for(UserInfo userInfo:userInfoList) {
    68. JSONObject jsonUserInfo = userInfo.getJsonObject();
    69. jsonArray.put(jsonUserInfo);
    70. }
    71. jsonObj.accumulate("rows", jsonArray);
    72. out.println(jsonObj.toString());
    73. out.flush();
    74. out.close();
    75. }
    76. /*ajax方式按照查询条件分页查询用户信息*/
    77. @RequestMapping(value = { "/listAll" }, method = {RequestMethod.GET,RequestMethod.POST})
    78. public void listAll(HttpServletResponse response) throws Exception {
    79. List<UserInfo> userInfoList = userInfoService.queryAllUserInfo();
    80. response.setContentType("text/json;charset=UTF-8");
    81. PrintWriter out = response.getWriter();
    82. JSONArray jsonArray = new JSONArray();
    83. for(UserInfo userInfo:userInfoList) {
    84. JSONObject jsonUserInfo = new JSONObject();
    85. jsonUserInfo.accumulate("user_name", userInfo.getUser_name());
    86. jsonUserInfo.accumulate("name", userInfo.getName());
    87. jsonArray.put(jsonUserInfo);
    88. }
    89. out.println(jsonArray.toString());
    90. out.flush();
    91. out.close();
    92. }
    93. /*前台按照查询条件分页查询用户信息*/
    94. @RequestMapping(value = { "/frontlist" }, method = {RequestMethod.GET,RequestMethod.POST})
    95. public String frontlist(String user_name,String name,String birthDate,String telephone,Integer currentPage, Model model, HttpServletRequest request) throws Exception {
    96. if (currentPage==null || currentPage == 0) currentPage = 1;
    97. if (user_name == null) user_name = "";
    98. if (name == null) name = "";
    99. if (birthDate == null) birthDate = "";
    100. if (telephone == null) telephone = "";
    101. List<UserInfo> userInfoList = userInfoService.queryUserInfo(user_name, name, birthDate, telephone, currentPage);
    102. /*计算总的页数和总的记录数*/
    103. userInfoService.queryTotalPageAndRecordNumber(user_name, name, birthDate, telephone);
    104. /*获取到总的页码数目*/
    105. int totalPage = userInfoService.getTotalPage();
    106. /*当前查询条件下总记录数*/
    107. int recordNumber = userInfoService.getRecordNumber();
    108. request.setAttribute("userInfoList", userInfoList);
    109. request.setAttribute("totalPage", totalPage);
    110. request.setAttribute("recordNumber", recordNumber);
    111. request.setAttribute("currentPage", currentPage);
    112. request.setAttribute("user_name", user_name);
    113. request.setAttribute("name", name);
    114. request.setAttribute("birthDate", birthDate);
    115. request.setAttribute("telephone", telephone);
    116. return "UserInfo/userInfo_frontquery_result";
    117. }
    118. /*前台查询UserInfo信息*/
    119. @RequestMapping(value="/{user_name}/frontshow",method=RequestMethod.GET)
    120. public String frontshow(@PathVariable String user_name,Model model,HttpServletRequest request) throws Exception {
    121. /*根据主键user_name获取UserInfo对象*/
    122. UserInfo userInfo = userInfoService.getUserInfo(user_name);
    123. request.setAttribute("userInfo", userInfo);
    124. return "UserInfo/userInfo_frontshow";
    125. }
    126. /*ajax方式显示用户修改jsp视图页*/
    127. @RequestMapping(value="/{user_name}/update",method=RequestMethod.GET)
    128. public void update(@PathVariable String user_name,Model model,HttpServletRequest request,HttpServletResponse response) throws Exception {
    129. /*根据主键user_name获取UserInfo对象*/
    130. UserInfo userInfo = userInfoService.getUserInfo(user_name);
    131. response.setContentType("text/json;charset=UTF-8");
    132. PrintWriter out = response.getWriter();
    133. //将要被返回到客户端的对象
    134. JSONObject jsonUserInfo = userInfo.getJsonObject();
    135. out.println(jsonUserInfo.toString());
    136. out.flush();
    137. out.close();
    138. }
    139. /*ajax方式更新用户信息*/
    140. @RequestMapping(value = "/{user_name}/update", method = RequestMethod.POST)
    141. public void update(@Validated UserInfo userInfo, BindingResult br,
    142. Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
    143. String message = "";
    144. boolean success = false;
    145. if (br.hasErrors()) {
    146. message = "输入的信息有错误!";
    147. writeJsonResponse(response, success, message);
    148. return;
    149. }
    150. String userPhotoFileName = this.handlePhotoUpload(request, "userPhotoFile");
    151. if(!userPhotoFileName.equals("upload/NoImage.jpg"))userInfo.setUserPhoto(userPhotoFileName);
    152. try {
    153. userInfoService.updateUserInfo(userInfo);
    154. message = "用户更新成功!";
    155. success = true;
    156. writeJsonResponse(response, success, message);
    157. } catch (Exception e) {
    158. e.printStackTrace();
    159. message = "用户更新失败!";
    160. writeJsonResponse(response, success, message);
    161. }
    162. }
    163. /*删除用户信息*/
    164. @RequestMapping(value="/{user_name}/delete",method=RequestMethod.GET)
    165. public String delete(@PathVariable String user_name,HttpServletRequest request) throws UnsupportedEncodingException {
    166. try {
    167. userInfoService.deleteUserInfo(user_name);
    168. request.setAttribute("message", "用户删除成功!");
    169. return "message";
    170. } catch (Exception e) {
    171. e.printStackTrace();
    172. request.setAttribute("error", "用户删除失败!");
    173. return "error";
    174. }
    175. }
    176. /*ajax方式删除多条用户记录*/
    177. @RequestMapping(value="/deletes",method=RequestMethod.POST)
    178. public void delete(String user_names,HttpServletRequest request,HttpServletResponse response) throws IOException, JSONException {
    179. String message = "";
    180. boolean success = false;
    181. try {
    182. int count = userInfoService.deleteUserInfos(user_names);
    183. success = true;
    184. message = count + "条记录删除成功";
    185. writeJsonResponse(response, success, message);
    186. } catch (Exception e) {
    187. //e.printStackTrace();
    188. message = "有记录存在外键约束,删除失败";
    189. writeJsonResponse(response, success, message);
    190. }
    191. }
    192. /*按照查询条件导出用户信息到Excel*/
    193. @RequestMapping(value = { "/OutToExcel" }, method = {RequestMethod.GET,RequestMethod.POST})
    194. public void OutToExcel(String user_name,String name,String birthDate,String telephone, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
    195. if(user_name == null) user_name = "";
    196. if(name == null) name = "";
    197. if(birthDate == null) birthDate = "";
    198. if(telephone == null) telephone = "";
    199. List<UserInfo> userInfoList = userInfoService.queryUserInfo(user_name,name,birthDate,telephone);
    200. ExportExcelUtil ex = new ExportExcelUtil();
    201. String _title = "UserInfo信息记录";
    202. String[] headers = { "用户名","姓名","性别","出生日期","用户照片","联系电话","邮箱","注册时间"};
    203. List<String[]> dataset = new ArrayList<String[]>();
    204. for(int i=0;i<userInfoList.size();i++) {
    205. UserInfo userInfo = userInfoList.get(i);
    206. dataset.add(new String[]{userInfo.getUser_name(),userInfo.getName(),userInfo.getGender(),userInfo.getBirthDate(),userInfo.getUserPhoto(),userInfo.getTelephone(),userInfo.getEmail(),userInfo.getRegTime()});
    207. }
    208. /*
    209. OutputStream out = null;
    210. try {
    211. out = new FileOutputStream("C://output.xls");
    212. ex.exportExcel(title,headers, dataset, out);
    213. out.close();
    214. } catch (Exception e) {
    215. e.printStackTrace();
    216. }
    217. */
    218. OutputStream out = null;//创建一个输出流对象
    219. try {
    220. out = response.getOutputStream();//
    221. response.setHeader("Content-disposition","attachment; filename="+"UserInfo.xls");//filename是下载的xls的名,建议最好用英文
    222. response.setContentType("application/msexcel;charset=UTF-8");//设置类型
    223. response.setHeader("Pragma","No-cache");//设置头
    224. response.setHeader("Cache-Control","no-cache");//设置头
    225. response.setDateHeader("Expires", 0);//设置日期头
    226. String rootPath = request.getSession().getServletContext().getRealPath("/");
    227. ex.exportExcel(rootPath,_title,headers, dataset, out);
    228. out.flush();
    229. } catch (IOException e) {
    230. e.printStackTrace();
    231. }finally{
    232. try{
    233. if(out!=null){
    234. out.close();
    235. }
    236. }catch(IOException e){
    237. e.printStackTrace();
    238. }
    239. }
    240. }
    241. }

    老人管理控制层: 

    1. //OldMan管理控制层
    2. @Controller
    3. @RequestMapping("/OldMan")
    4. public class OldManController extends BaseController {
    5. /*业务层对象*/
    6. @Resource OldManService oldManService;
    7. @Resource UserInfoService userInfoService;
    8. @InitBinder("userObj")
    9. public void initBinderuserObj(WebDataBinder binder) {
    10. binder.setFieldDefaultPrefix("userObj.");
    11. }
    12. @InitBinder("oldMan")
    13. public void initBinderOldMan(WebDataBinder binder) {
    14. binder.setFieldDefaultPrefix("oldMan.");
    15. }
    16. /*跳转到添加OldMan视图*/
    17. @RequestMapping(value = "/add", method = RequestMethod.GET)
    18. public String add(Model model,HttpServletRequest request) throws Exception {
    19. model.addAttribute(new OldMan());
    20. /*查询所有的UserInfo信息*/
    21. List<UserInfo> userInfoList = userInfoService.queryAllUserInfo();
    22. request.setAttribute("userInfoList", userInfoList);
    23. return "OldMan_add";
    24. }
    25. /*客户端ajax方式提交添加老人信息*/
    26. @RequestMapping(value = "/add", method = RequestMethod.POST)
    27. public void add(@Validated OldMan oldMan, BindingResult br,
    28. Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
    29. String message = "";
    30. boolean success = false;
    31. if (br.hasErrors()) {
    32. message = "输入信息不符合要求!";
    33. writeJsonResponse(response, success, message);
    34. return ;
    35. }
    36. try {
    37. oldMan.setManPhoto(this.handlePhotoUpload(request, "manPhotoFile"));
    38. } catch(UserException ex) {
    39. message = "图片格式不正确!";
    40. writeJsonResponse(response, success, message);
    41. return ;
    42. }
    43. oldManService.addOldMan(oldMan);
    44. message = "老人添加成功!";
    45. success = true;
    46. writeJsonResponse(response, success, message);
    47. }
    48. /*ajax方式按照查询条件分页查询老人信息*/
    49. @RequestMapping(value = { "/list" }, method = {RequestMethod.GET,RequestMethod.POST})
    50. public void list(String name,@ModelAttribute("userObj") UserInfo userObj,String addTime,Integer page,Integer rows, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
    51. if (page==null || page == 0) page = 1;
    52. if (name == null) name = "";
    53. if (addTime == null) addTime = "";
    54. if(rows != 0)oldManService.setRows(rows);
    55. List<OldMan> oldManList = oldManService.queryOldMan(name, userObj, addTime, page);
    56. /*计算总的页数和总的记录数*/
    57. oldManService.queryTotalPageAndRecordNumber(name, userObj, addTime);
    58. /*获取到总的页码数目*/
    59. int totalPage = oldManService.getTotalPage();
    60. /*当前查询条件下总记录数*/
    61. int recordNumber = oldManService.getRecordNumber();
    62. response.setContentType("text/json;charset=UTF-8");
    63. PrintWriter out = response.getWriter();
    64. //将要被返回到客户端的对象
    65. JSONObject jsonObj=new JSONObject();
    66. jsonObj.accumulate("total", recordNumber);
    67. JSONArray jsonArray = new JSONArray();
    68. for(OldMan oldMan:oldManList) {
    69. JSONObject jsonOldMan = oldMan.getJsonObject();
    70. jsonArray.put(jsonOldMan);
    71. }
    72. jsonObj.accumulate("rows", jsonArray);
    73. out.println(jsonObj.toString());
    74. out.flush();
    75. out.close();
    76. }
    77. /*ajax方式按照查询条件分页查询老人信息*/
    78. @RequestMapping(value = { "/listAll" }, method = {RequestMethod.GET,RequestMethod.POST})
    79. public void listAll(HttpServletResponse response) throws Exception {
    80. List<OldMan> oldManList = oldManService.queryAllOldMan();
    81. response.setContentType("text/json;charset=UTF-8");
    82. PrintWriter out = response.getWriter();
    83. JSONArray jsonArray = new JSONArray();
    84. for(OldMan oldMan:oldManList) {
    85. JSONObject jsonOldMan = new JSONObject();
    86. jsonOldMan.accumulate("oldManId", oldMan.getOldManId());
    87. jsonOldMan.accumulate("name", oldMan.getName());
    88. jsonArray.put(jsonOldMan);
    89. }
    90. out.println(jsonArray.toString());
    91. out.flush();
    92. out.close();
    93. }
    94. /*前台按照查询条件分页查询老人信息*/
    95. @RequestMapping(value = { "/frontlist" }, method = {RequestMethod.GET,RequestMethod.POST})
    96. public String frontlist(String name,@ModelAttribute("userObj") UserInfo userObj,String addTime,Integer currentPage, Model model, HttpServletRequest request) throws Exception {
    97. if (currentPage==null || currentPage == 0) currentPage = 1;
    98. if (name == null) name = "";
    99. if (addTime == null) addTime = "";
    100. List<OldMan> oldManList = oldManService.queryOldMan(name, userObj, addTime, currentPage);
    101. /*计算总的页数和总的记录数*/
    102. oldManService.queryTotalPageAndRecordNumber(name, userObj, addTime);
    103. /*获取到总的页码数目*/
    104. int totalPage = oldManService.getTotalPage();
    105. /*当前查询条件下总记录数*/
    106. int recordNumber = oldManService.getRecordNumber();
    107. request.setAttribute("oldManList", oldManList);
    108. request.setAttribute("totalPage", totalPage);
    109. request.setAttribute("recordNumber", recordNumber);
    110. request.setAttribute("currentPage", currentPage);
    111. request.setAttribute("name", name);
    112. request.setAttribute("userObj", userObj);
    113. request.setAttribute("addTime", addTime);
    114. List<UserInfo> userInfoList = userInfoService.queryAllUserInfo();
    115. request.setAttribute("userInfoList", userInfoList);
    116. return "OldMan/oldMan_frontquery_result";
    117. }
    118. /*前台查询OldMan信息*/
    119. @RequestMapping(value="/{oldManId}/frontshow",method=RequestMethod.GET)
    120. public String frontshow(@PathVariable Integer oldManId,Model model,HttpServletRequest request) throws Exception {
    121. /*根据主键oldManId获取OldMan对象*/
    122. OldMan oldMan = oldManService.getOldMan(oldManId);
    123. List<UserInfo> userInfoList = userInfoService.queryAllUserInfo();
    124. request.setAttribute("userInfoList", userInfoList);
    125. request.setAttribute("oldMan", oldMan);
    126. return "OldMan/oldMan_frontshow";
    127. }
    128. /*ajax方式显示老人修改jsp视图页*/
    129. @RequestMapping(value="/{oldManId}/update",method=RequestMethod.GET)
    130. public void update(@PathVariable Integer oldManId,Model model,HttpServletRequest request,HttpServletResponse response) throws Exception {
    131. /*根据主键oldManId获取OldMan对象*/
    132. OldMan oldMan = oldManService.getOldMan(oldManId);
    133. response.setContentType("text/json;charset=UTF-8");
    134. PrintWriter out = response.getWriter();
    135. //将要被返回到客户端的对象
    136. JSONObject jsonOldMan = oldMan.getJsonObject();
    137. out.println(jsonOldMan.toString());
    138. out.flush();
    139. out.close();
    140. }
    141. /*ajax方式更新老人信息*/
    142. @RequestMapping(value = "/{oldManId}/update", method = RequestMethod.POST)
    143. public void update(@Validated OldMan oldMan, BindingResult br,
    144. Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
    145. String message = "";
    146. boolean success = false;
    147. if (br.hasErrors()) {
    148. message = "输入的信息有错误!";
    149. writeJsonResponse(response, success, message);
    150. return;
    151. }
    152. String manPhotoFileName = this.handlePhotoUpload(request, "manPhotoFile");
    153. if(!manPhotoFileName.equals("upload/NoImage.jpg"))oldMan.setManPhoto(manPhotoFileName);
    154. try {
    155. oldManService.updateOldMan(oldMan);
    156. message = "老人更新成功!";
    157. success = true;
    158. writeJsonResponse(response, success, message);
    159. } catch (Exception e) {
    160. e.printStackTrace();
    161. message = "老人更新失败!";
    162. writeJsonResponse(response, success, message);
    163. }
    164. }
    165. /*删除老人信息*/
    166. @RequestMapping(value="/{oldManId}/delete",method=RequestMethod.GET)
    167. public String delete(@PathVariable Integer oldManId,HttpServletRequest request) throws UnsupportedEncodingException {
    168. try {
    169. oldManService.deleteOldMan(oldManId);
    170. request.setAttribute("message", "老人删除成功!");
    171. return "message";
    172. } catch (Exception e) {
    173. e.printStackTrace();
    174. request.setAttribute("error", "老人删除失败!");
    175. return "error";
    176. }
    177. }
    178. /*ajax方式删除多条老人记录*/
    179. @RequestMapping(value="/deletes",method=RequestMethod.POST)
    180. public void delete(String oldManIds,HttpServletRequest request,HttpServletResponse response) throws IOException, JSONException {
    181. String message = "";
    182. boolean success = false;
    183. try {
    184. int count = oldManService.deleteOldMans(oldManIds);
    185. success = true;
    186. message = count + "条记录删除成功";
    187. writeJsonResponse(response, success, message);
    188. } catch (Exception e) {
    189. //e.printStackTrace();
    190. message = "有记录存在外键约束,删除失败";
    191. writeJsonResponse(response, success, message);
    192. }
    193. }
    194. /*按照查询条件导出老人信息到Excel*/
    195. @RequestMapping(value = { "/OutToExcel" }, method = {RequestMethod.GET,RequestMethod.POST})
    196. public void OutToExcel(String name,@ModelAttribute("userObj") UserInfo userObj,String addTime, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
    197. if(name == null) name = "";
    198. if(addTime == null) addTime = "";
    199. List<OldMan> oldManList = oldManService.queryOldMan(name,userObj,addTime);
    200. ExportExcelUtil ex = new ExportExcelUtil();
    201. String _title = "OldMan信息记录";
    202. String[] headers = { "老人编号","姓名","性别","年龄","老人照片","登记用户","登记时间"};
    203. List<String[]> dataset = new ArrayList<String[]>();
    204. for(int i=0;i<oldManList.size();i++) {
    205. OldMan oldMan = oldManList.get(i);
    206. dataset.add(new String[]{oldMan.getOldManId() + "",oldMan.getName(),oldMan.getSex(),oldMan.getAge() + "",oldMan.getManPhoto(),oldMan.getUserObj().getName(),oldMan.getAddTime()});
    207. }
    208. /*
    209. OutputStream out = null;
    210. try {
    211. out = new FileOutputStream("C://output.xls");
    212. ex.exportExcel(title,headers, dataset, out);
    213. out.close();
    214. } catch (Exception e) {
    215. e.printStackTrace();
    216. }
    217. */
    218. OutputStream out = null;//创建一个输出流对象
    219. try {
    220. out = response.getOutputStream();//
    221. response.setHeader("Content-disposition","attachment; filename="+"OldMan.xls");//filename是下载的xls的名,建议最好用英文
    222. response.setContentType("application/msexcel;charset=UTF-8");//设置类型
    223. response.setHeader("Pragma","No-cache");//设置头
    224. response.setHeader("Cache-Control","no-cache");//设置头
    225. response.setDateHeader("Expires", 0);//设置日期头
    226. String rootPath = request.getSession().getServletContext().getRealPath("/");
    227. ex.exportExcel(rootPath,_title,headers, dataset, out);
    228. out.flush();
    229. } catch (IOException e) {
    230. e.printStackTrace();
    231. }finally{
    232. try{
    233. if(out!=null){
    234. out.close();
    235. }
    236. }catch(IOException e){
    237. e.printStackTrace();
    238. }
    239. }
    240. }
    241. }

    护工管理控制层:

    1. //Nurse管理控制层
    2. @Controller
    3. @RequestMapping("/Nurse")
    4. public class NurseController extends BaseController {
    5. /*业务层对象*/
    6. @Resource NurseService nurseService;
    7. @InitBinder("nurse")
    8. public void initBinderNurse(WebDataBinder binder) {
    9. binder.setFieldDefaultPrefix("nurse.");
    10. }
    11. /*跳转到添加Nurse视图*/
    12. @RequestMapping(value = "/add", method = RequestMethod.GET)
    13. public String add(Model model,HttpServletRequest request) throws Exception {
    14. model.addAttribute(new Nurse());
    15. return "Nurse_add";
    16. }
    17. /*客户端ajax方式提交添加老人看护信息*/
    18. @RequestMapping(value = "/add", method = RequestMethod.POST)
    19. public void add(@Validated Nurse nurse, BindingResult br,
    20. Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
    21. String message = "";
    22. boolean success = false;
    23. if (br.hasErrors()) {
    24. message = "输入信息不符合要求!";
    25. writeJsonResponse(response, success, message);
    26. return ;
    27. }
    28. nurseService.addNurse(nurse);
    29. message = "老人看护添加成功!";
    30. success = true;
    31. writeJsonResponse(response, success, message);
    32. }
    33. /*ajax方式按照查询条件分页查询老人看护信息*/
    34. @RequestMapping(value = { "/list" }, method = {RequestMethod.GET,RequestMethod.POST})
    35. public void list(String nurseType,String title,String publishDate,Integer page,Integer rows, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
    36. if (page==null || page == 0) page = 1;
    37. if (nurseType == null) nurseType = "";
    38. if (title == null) title = "";
    39. if (publishDate == null) publishDate = "";
    40. if(rows != 0)nurseService.setRows(rows);
    41. List<Nurse> nurseList = nurseService.queryNurse(nurseType, title, publishDate, page);
    42. /*计算总的页数和总的记录数*/
    43. nurseService.queryTotalPageAndRecordNumber(nurseType, title, publishDate);
    44. /*获取到总的页码数目*/
    45. int totalPage = nurseService.getTotalPage();
    46. /*当前查询条件下总记录数*/
    47. int recordNumber = nurseService.getRecordNumber();
    48. response.setContentType("text/json;charset=UTF-8");
    49. PrintWriter out = response.getWriter();
    50. //将要被返回到客户端的对象
    51. JSONObject jsonObj=new JSONObject();
    52. jsonObj.accumulate("total", recordNumber);
    53. JSONArray jsonArray = new JSONArray();
    54. for(Nurse nurse:nurseList) {
    55. JSONObject jsonNurse = nurse.getJsonObject();
    56. jsonArray.put(jsonNurse);
    57. }
    58. jsonObj.accumulate("rows", jsonArray);
    59. out.println(jsonObj.toString());
    60. out.flush();
    61. out.close();
    62. }
    63. /*ajax方式按照查询条件分页查询老人看护信息*/
    64. @RequestMapping(value = { "/listAll" }, method = {RequestMethod.GET,RequestMethod.POST})
    65. public void listAll(HttpServletResponse response) throws Exception {
    66. List<Nurse> nurseList = nurseService.queryAllNurse();
    67. response.setContentType("text/json;charset=UTF-8");
    68. PrintWriter out = response.getWriter();
    69. JSONArray jsonArray = new JSONArray();
    70. for(Nurse nurse:nurseList) {
    71. JSONObject jsonNurse = new JSONObject();
    72. jsonNurse.accumulate("nurseId", nurse.getNurseId());
    73. jsonNurse.accumulate("title", nurse.getTitle());
    74. jsonArray.put(jsonNurse);
    75. }
    76. out.println(jsonArray.toString());
    77. out.flush();
    78. out.close();
    79. }
    80. /*前台按照查询条件分页查询老人看护信息*/
    81. @RequestMapping(value = { "/frontlist" }, method = {RequestMethod.GET,RequestMethod.POST})
    82. public String frontlist(String nurseType,String title,String publishDate,Integer currentPage, Model model, HttpServletRequest request) throws Exception {
    83. if (currentPage==null || currentPage == 0) currentPage = 1;
    84. if (nurseType == null) nurseType = "";
    85. if (title == null) title = "";
    86. if (publishDate == null) publishDate = "";
    87. List<Nurse> nurseList = nurseService.queryNurse(nurseType, title, publishDate, currentPage);
    88. /*计算总的页数和总的记录数*/
    89. nurseService.queryTotalPageAndRecordNumber(nurseType, title, publishDate);
    90. /*获取到总的页码数目*/
    91. int totalPage = nurseService.getTotalPage();
    92. /*当前查询条件下总记录数*/
    93. int recordNumber = nurseService.getRecordNumber();
    94. request.setAttribute("nurseList", nurseList);
    95. request.setAttribute("totalPage", totalPage);
    96. request.setAttribute("recordNumber", recordNumber);
    97. request.setAttribute("currentPage", currentPage);
    98. request.setAttribute("nurseType", nurseType);
    99. request.setAttribute("title", title);
    100. request.setAttribute("publishDate", publishDate);
    101. return "Nurse/nurse_frontquery_result";
    102. }
    103. /*前台查询Nurse信息*/
    104. @RequestMapping(value="/{nurseId}/frontshow",method=RequestMethod.GET)
    105. public String frontshow(@PathVariable Integer nurseId,Model model,HttpServletRequest request) throws Exception {
    106. /*根据主键nurseId获取Nurse对象*/
    107. Nurse nurse = nurseService.getNurse(nurseId);
    108. request.setAttribute("nurse", nurse);
    109. return "Nurse/nurse_frontshow";
    110. }
    111. /*ajax方式显示老人看护修改jsp视图页*/
    112. @RequestMapping(value="/{nurseId}/update",method=RequestMethod.GET)
    113. public void update(@PathVariable Integer nurseId,Model model,HttpServletRequest request,HttpServletResponse response) throws Exception {
    114. /*根据主键nurseId获取Nurse对象*/
    115. Nurse nurse = nurseService.getNurse(nurseId);
    116. response.setContentType("text/json;charset=UTF-8");
    117. PrintWriter out = response.getWriter();
    118. //将要被返回到客户端的对象
    119. JSONObject jsonNurse = nurse.getJsonObject();
    120. out.println(jsonNurse.toString());
    121. out.flush();
    122. out.close();
    123. }
    124. /*ajax方式更新老人看护信息*/
    125. @RequestMapping(value = "/{nurseId}/update", method = RequestMethod.POST)
    126. public void update(@Validated Nurse nurse, BindingResult br,
    127. Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
    128. String message = "";
    129. boolean success = false;
    130. if (br.hasErrors()) {
    131. message = "输入的信息有错误!";
    132. writeJsonResponse(response, success, message);
    133. return;
    134. }
    135. try {
    136. nurseService.updateNurse(nurse);
    137. message = "老人看护更新成功!";
    138. success = true;
    139. writeJsonResponse(response, success, message);
    140. } catch (Exception e) {
    141. e.printStackTrace();
    142. message = "老人看护更新失败!";
    143. writeJsonResponse(response, success, message);
    144. }
    145. }
    146. /*删除老人看护信息*/
    147. @RequestMapping(value="/{nurseId}/delete",method=RequestMethod.GET)
    148. public String delete(@PathVariable Integer nurseId,HttpServletRequest request) throws UnsupportedEncodingException {
    149. try {
    150. nurseService.deleteNurse(nurseId);
    151. request.setAttribute("message", "老人看护删除成功!");
    152. return "message";
    153. } catch (Exception e) {
    154. e.printStackTrace();
    155. request.setAttribute("error", "老人看护删除失败!");
    156. return "error";
    157. }
    158. }
    159. /*ajax方式删除多条老人看护记录*/
    160. @RequestMapping(value="/deletes",method=RequestMethod.POST)
    161. public void delete(String nurseIds,HttpServletRequest request,HttpServletResponse response) throws IOException, JSONException {
    162. String message = "";
    163. boolean success = false;
    164. try {
    165. int count = nurseService.deleteNurses(nurseIds);
    166. success = true;
    167. message = count + "条记录删除成功";
    168. writeJsonResponse(response, success, message);
    169. } catch (Exception e) {
    170. //e.printStackTrace();
    171. message = "有记录存在外键约束,删除失败";
    172. writeJsonResponse(response, success, message);
    173. }
    174. }
    175. /*按照查询条件导出老人看护信息到Excel*/
    176. @RequestMapping(value = { "/OutToExcel" }, method = {RequestMethod.GET,RequestMethod.POST})
    177. public void OutToExcel(String nurseType,String title,String publishDate, Model model, HttpServletRequest request,HttpServletResponse response) throws Exception {
    178. if(nurseType == null) nurseType = "";
    179. if(title == null) title = "";
    180. if(publishDate == null) publishDate = "";
    181. List<Nurse> nurseList = nurseService.queryNurse(nurseType,title,publishDate);
    182. ExportExcelUtil ex = new ExportExcelUtil();
    183. String _title = "Nurse信息记录";
    184. String[] headers = { "记录id","信息类别","信息标题","发布时间"};
    185. List<String[]> dataset = new ArrayList<String[]>();
    186. for(int i=0;i<nurseList.size();i++) {
    187. Nurse nurse = nurseList.get(i);
    188. dataset.add(new String[]{nurse.getNurseId() + "",nurse.getNurseType(),nurse.getTitle(),nurse.getPublishDate()});
    189. }
    190. /*
    191. OutputStream out = null;
    192. try {
    193. out = new FileOutputStream("C://output.xls");
    194. ex.exportExcel(title,headers, dataset, out);
    195. out.close();
    196. } catch (Exception e) {
    197. e.printStackTrace();
    198. }
    199. */
    200. OutputStream out = null;//创建一个输出流对象
    201. try {
    202. out = response.getOutputStream();//
    203. response.setHeader("Content-disposition","attachment; filename="+"Nurse.xls");//filename是下载的xls的名,建议最好用英文
    204. response.setContentType("application/msexcel;charset=UTF-8");//设置类型
    205. response.setHeader("Pragma","No-cache");//设置头
    206. response.setHeader("Cache-Control","no-cache");//设置头
    207. response.setDateHeader("Expires", 0);//设置日期头
    208. String rootPath = request.getSession().getServletContext().getRealPath("/");
    209. ex.exportExcel(rootPath,_title,headers, dataset, out);
    210. out.flush();
    211. } catch (IOException e) {
    212. e.printStackTrace();
    213. }finally{
    214. try{
    215. if(out!=null){
    216. out.close();
    217. }
    218. }catch(IOException e){
    219. e.printStackTrace();
    220. }
    221. }
    222. }
    223. }

     源码获取:俺的博客首页 "资源" 里下载!

  • 相关阅读:
    对程序的一些小思考
    SpringMVC之CRUD和文件上传下载
    Go Zero微服务个人探究之路(十六)回顾api服务和rpc服务的本质
    【漏洞复现】panalog日志审计系统任意用户创建漏洞和后台命令执行
    CMS,CDN,WAF指纹识别
    统计力学中的概率论基础(二)
    【Python】你真的了解异常吗?-别再说你不了解异常啦
    汽车电子相关术语
    socket in Linux
    深度解析Kafka中的消息奥秘
  • 原文地址:https://blog.csdn.net/m0_66863468/article/details/124855202