当前位置:   article > 正文

Java项目:ssm+jsp+mysql实现的垃圾分类查询管理系统_jsp+ssm+mysql

jsp+ssm+mysql

作者主页:夜未央5788

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

一款由jsp+ssm(spring+springmvc+mybatis)+mysql实现的垃圾分类查询管理系统,项目包含完整源码和sql脚本。
系统主要实现的功能有:
1:前端垃圾分类查询,前端采用bootstrap框架,自适应设备的。
2:后台菜单管理、角色权限管理、用户管理、日志管理、垃圾分类管理、垃圾管理等功能。

环境需要

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

使用说明

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

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

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

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

运行截图

 

 

 

 

 

 

 

相关代码 

HomeController

  1. package com.ischoolbar.programmer.controller.home;
  2. import java.awt.image.BufferedImage;
  3. import java.io.IOException;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import javax.imageio.ImageIO;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import javax.servlet.http.HttpSession;
  11. import org.apache.commons.lang.StringUtils;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Controller;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RequestMethod;
  16. import org.springframework.web.bind.annotation.RequestParam;
  17. import org.springframework.web.bind.annotation.ResponseBody;
  18. import org.springframework.web.servlet.ModelAndView;
  19. import com.ischoolbar.programmer.entity.admin.Authority;
  20. import com.ischoolbar.programmer.entity.admin.Menu;
  21. import com.ischoolbar.programmer.entity.admin.Role;
  22. import com.ischoolbar.programmer.entity.admin.Rubbish;
  23. import com.ischoolbar.programmer.entity.admin.RubbishCategory;
  24. import com.ischoolbar.programmer.entity.admin.User;
  25. import com.ischoolbar.programmer.service.admin.AuthorityService;
  26. import com.ischoolbar.programmer.service.admin.LogService;
  27. import com.ischoolbar.programmer.service.admin.MenuService;
  28. import com.ischoolbar.programmer.service.admin.RoleService;
  29. import com.ischoolbar.programmer.service.admin.RubbishCategoryService;
  30. import com.ischoolbar.programmer.service.admin.RubbishService;
  31. import com.ischoolbar.programmer.service.admin.UserService;
  32. import com.ischoolbar.programmer.util.CpachaUtil;
  33. import com.ischoolbar.programmer.util.MenuUtil;
  34. /**
  35. * 系统操作类控制器
  36. * @author llq
  37. *
  38. */
  39. @Controller
  40. @RequestMapping("/home")
  41. public class HomeController {
  42. @Autowired
  43. private RubbishCategoryService rubbishCategoryService;
  44. @Autowired
  45. private RubbishService rubbishService;
  46. /**
  47. * 系统登录后的主页
  48. * @param model
  49. * @return
  50. */
  51. @RequestMapping(value="/index",method=RequestMethod.GET)
  52. public ModelAndView index(ModelAndView model){
  53. model.setViewName("home/index");
  54. return model;//WEB-INF/views/+system/index+.jsp = WEB-INF/views/system/index.jsp
  55. }
  56. /**
  57. * 系统登录后的欢迎页
  58. * @param model
  59. * @return
  60. */
  61. @RequestMapping(value="/search",method=RequestMethod.GET)
  62. public ModelAndView search(@RequestParam(name="k",required=false,defaultValue="") String name,ModelAndView model){
  63. RubbishCategory rubbishCategory = null;
  64. if(!StringUtils.isEmpty(name)){
  65. //先查询垃圾表
  66. List<Rubbish> rubbishList = rubbishService.findByName(name);
  67. if(rubbishList != null && rubbishList.size() > 0){
  68. rubbishCategory = rubbishList.get(0).getRubbishCategory();
  69. }else{
  70. //若垃圾表未查询到,再查询分类表
  71. List<RubbishCategory> rubbishCategoryList = rubbishCategoryService.findByCommon(name);
  72. if(rubbishCategoryList != null && rubbishCategoryList.size() > 0)
  73. rubbishCategory = rubbishCategoryList.get(0);
  74. }
  75. }
  76. model.addObject("k", name);
  77. model.addObject("rubbishCategory", rubbishCategory);
  78. model.setViewName("home/search");
  79. return model;
  80. }
  81. }

NewsController

  1. package com.ischoolbar.programmer.controller.admin;
  2. import java.util.Date;
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import org.apache.commons.lang.StringUtils;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RequestMethod;
  10. import org.springframework.web.bind.annotation.RequestParam;
  11. import org.springframework.web.bind.annotation.ResponseBody;
  12. import org.springframework.web.servlet.ModelAndView;
  13. import com.ischoolbar.programmer.entity.admin.Log;
  14. import com.ischoolbar.programmer.page.admin.Page;
  15. import com.ischoolbar.programmer.service.admin.LogService;
  16. /**
  17. *
  18. * @author llq
  19. *
  20. */
  21. @RequestMapping("/admin/news")
  22. @Controller
  23. public class NewsController {
  24. @Autowired
  25. private LogService logService;
  26. @RequestMapping(value="/list",method=RequestMethod.GET)
  27. public ModelAndView list(ModelAndView model){
  28. model.setViewName("news/list");
  29. return model;
  30. }
  31. /**
  32. * 获取日志列表
  33. * @param page
  34. * @param content
  35. * @param roleId
  36. * @param sex
  37. * @return
  38. */
  39. @RequestMapping(value="/list",method=RequestMethod.POST)
  40. @ResponseBody
  41. public Map<String, Object> getList(Page page,
  42. @RequestParam(name="content",required=false,defaultValue="") String content
  43. ){
  44. Map<String, Object> ret = new HashMap<String, Object>();
  45. Map<String, Object> queryMap = new HashMap<String, Object>();
  46. queryMap.put("content", content);
  47. queryMap.put("offset", page.getOffset());
  48. queryMap.put("pageSize", page.getRows());
  49. ret.put("rows", logService.findList(queryMap));
  50. ret.put("total", logService.getTotal(queryMap));
  51. return ret;
  52. }
  53. /**
  54. * 添加日志
  55. * @param user
  56. * @return
  57. */
  58. @RequestMapping(value="/add",method=RequestMethod.POST)
  59. @ResponseBody
  60. public Map<String, String> add(Log log){
  61. Map<String, String> ret = new HashMap<String, String>();
  62. if(log == null){
  63. ret.put("type", "error");
  64. ret.put("msg", "请填写正确的日志信息!");
  65. return ret;
  66. }
  67. if(StringUtils.isEmpty(log.getContent())){
  68. ret.put("type", "error");
  69. ret.put("msg", "请填写日志内容!");
  70. return ret;
  71. }
  72. log.setCreateTime(new Date());
  73. if(logService.add(log) <= 0){
  74. ret.put("type", "error");
  75. ret.put("msg", "日志添加失败,请联系管理员!");
  76. return ret;
  77. }
  78. ret.put("type", "success");
  79. ret.put("msg", "日志添加成功!");
  80. return ret;
  81. }
  82. /**
  83. * 批量删除日志
  84. * @param ids
  85. * @return
  86. */
  87. @RequestMapping(value="/delete",method=RequestMethod.POST)
  88. @ResponseBody
  89. public Map<String, String> delete(String ids){
  90. Map<String, String> ret = new HashMap<String, String>();
  91. if(StringUtils.isEmpty(ids)){
  92. ret.put("type", "error");
  93. ret.put("msg", "选择要删除的数据!");
  94. return ret;
  95. }
  96. if(ids.contains(",")){
  97. ids = ids.substring(0,ids.length()-1);
  98. }
  99. if(logService.delete(ids) <= 0){
  100. ret.put("type", "error");
  101. ret.put("msg", "日志删除失败,请联系管理员!");
  102. return ret;
  103. }
  104. ret.put("type", "success");
  105. ret.put("msg", "日志删除成功!");
  106. return ret;
  107. }
  108. }

垃圾管理控制器

  1. package com.ischoolbar.programmer.controller.admin;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import org.apache.commons.lang.StringUtils;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Controller;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import org.springframework.web.bind.annotation.RequestMethod;
  9. import org.springframework.web.bind.annotation.RequestParam;
  10. import org.springframework.web.bind.annotation.ResponseBody;
  11. import org.springframework.web.servlet.ModelAndView;
  12. import com.ischoolbar.programmer.entity.admin.Rubbish;
  13. import com.ischoolbar.programmer.page.admin.Page;
  14. import com.ischoolbar.programmer.service.admin.RubbishCategoryService;
  15. import com.ischoolbar.programmer.service.admin.RubbishService;
  16. /**
  17. * 垃圾管理控制器
  18. * @author llq
  19. *
  20. */
  21. @RequestMapping("/admin/rubbish")
  22. @Controller
  23. public class RubbishController {
  24. @Autowired
  25. private RubbishCategoryService rubbishCategoryService;
  26. @Autowired
  27. private RubbishService rubbishService;
  28. /**
  29. * 垃圾列表页面
  30. * @param model
  31. * @return
  32. */
  33. @RequestMapping(value="/list",method=RequestMethod.GET)
  34. public ModelAndView list(ModelAndView model){
  35. model.addObject("rubbishCategoryList", rubbishCategoryService.findList(null));
  36. model.setViewName("rubbish/list");
  37. return model;
  38. }
  39. /**
  40. * 获取垃圾列表
  41. * @param page
  42. * @param name
  43. * @param roleId
  44. * @param sex
  45. * @return
  46. */
  47. @RequestMapping(value="/list",method=RequestMethod.POST)
  48. @ResponseBody
  49. public Map<String, Object> getList(Page page,
  50. @RequestParam(name="name",required=false,defaultValue="") String name,
  51. Long categoryId
  52. ){
  53. Map<String, Object> ret = new HashMap<String, Object>();
  54. Map<String, Object> queryMap = new HashMap<String, Object>();
  55. if(categoryId != null){
  56. queryMap.put("categoryId", categoryId);
  57. }
  58. queryMap.put("name", name);
  59. queryMap.put("offset", page.getOffset());
  60. queryMap.put("pageSize", page.getRows());
  61. ret.put("rows", rubbishService.findList(queryMap));
  62. ret.put("total", rubbishService.getTotal(queryMap));
  63. return ret;
  64. }
  65. /**
  66. * 添加垃圾
  67. * @param rubbish
  68. * @return
  69. */
  70. @RequestMapping(value="/add",method=RequestMethod.POST)
  71. @ResponseBody
  72. public Map<String, String> add(Rubbish rubbish){
  73. Map<String, String> ret = new HashMap<String, String>();
  74. if(rubbish == null){
  75. ret.put("type", "error");
  76. ret.put("msg", "请填写正确的垃圾信息!");
  77. return ret;
  78. }
  79. if(StringUtils.isEmpty(rubbish.getName())){
  80. ret.put("type", "error");
  81. ret.put("msg", "请填写垃圾名!");
  82. return ret;
  83. }
  84. if(rubbishService.add(rubbish) <= 0){
  85. ret.put("type", "error");
  86. ret.put("msg", "垃圾添加失败,请联系管理员!");
  87. return ret;
  88. }
  89. ret.put("type", "success");
  90. ret.put("msg", "添加成功!");
  91. return ret;
  92. }
  93. /**
  94. * 编辑垃圾
  95. * @param rubbish
  96. * @return
  97. */
  98. @RequestMapping(value="/edit",method=RequestMethod.POST)
  99. @ResponseBody
  100. public Map<String, String> edit(Rubbish rubbish){
  101. Map<String, String> ret = new HashMap<String, String>();
  102. if(rubbish == null){
  103. ret.put("type", "error");
  104. ret.put("msg", "请填写正确的垃圾信息!");
  105. return ret;
  106. }
  107. if(StringUtils.isEmpty(rubbish.getName())){
  108. ret.put("type", "error");
  109. ret.put("msg", "请填写垃圾名!");
  110. return ret;
  111. }
  112. if(rubbishService.edit(rubbish) <= 0){
  113. ret.put("type", "error");
  114. ret.put("msg", "垃圾添加失败,请联系管理员!");
  115. return ret;
  116. }
  117. ret.put("type", "success");
  118. ret.put("msg", "编辑成功!");
  119. return ret;
  120. }
  121. /**
  122. * 批量删除垃圾
  123. * @param id
  124. * @return
  125. */
  126. @RequestMapping(value="/delete",method=RequestMethod.POST)
  127. @ResponseBody
  128. public Map<String, String> delete(Long id){
  129. Map<String, String> ret = new HashMap<String, String>();
  130. if(id == null){
  131. ret.put("type", "error");
  132. ret.put("msg", "选择要删除的数据!");
  133. return ret;
  134. }
  135. try {
  136. if(rubbishService.delete(id) <= 0){
  137. ret.put("type", "error");
  138. ret.put("msg", "垃圾删除失败,请联系管理员!");
  139. return ret;
  140. }
  141. } catch (Exception e) {
  142. // TODO: handle exception
  143. ret.put("type", "error");
  144. ret.put("msg", "该垃圾下存在垃圾,请先删除垃圾!");
  145. return ret;
  146. }
  147. ret.put("type", "success");
  148. ret.put("msg", "垃圾删除成功!");
  149. return ret;
  150. }
  151. }

系统操作类控制器

  1. package com.ischoolbar.programmer.controller.admin;
  2. import java.awt.image.BufferedImage;
  3. import java.io.IOException;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import javax.imageio.ImageIO;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import javax.servlet.http.HttpSession;
  11. import org.apache.commons.lang.StringUtils;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Controller;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RequestMethod;
  16. import org.springframework.web.bind.annotation.RequestParam;
  17. import org.springframework.web.bind.annotation.ResponseBody;
  18. import org.springframework.web.servlet.ModelAndView;
  19. import com.ischoolbar.programmer.entity.admin.Authority;
  20. import com.ischoolbar.programmer.entity.admin.Menu;
  21. import com.ischoolbar.programmer.entity.admin.Role;
  22. import com.ischoolbar.programmer.entity.admin.User;
  23. import com.ischoolbar.programmer.service.admin.AuthorityService;
  24. import com.ischoolbar.programmer.service.admin.LogService;
  25. import com.ischoolbar.programmer.service.admin.MenuService;
  26. import com.ischoolbar.programmer.service.admin.RoleService;
  27. import com.ischoolbar.programmer.service.admin.UserService;
  28. import com.ischoolbar.programmer.util.CpachaUtil;
  29. import com.ischoolbar.programmer.util.MenuUtil;
  30. /**
  31. * 系统操作类控制器
  32. * @author llq
  33. *
  34. */
  35. @Controller
  36. @RequestMapping("/system")
  37. public class SystemController {
  38. @Autowired
  39. private UserService userService;
  40. @Autowired
  41. private RoleService roleService;
  42. @Autowired
  43. private AuthorityService authorityService;
  44. @Autowired
  45. private MenuService menuService;
  46. @Autowired
  47. private LogService logService;
  48. /**
  49. * 系统登录后的主页
  50. * @param model
  51. * @return
  52. */
  53. @RequestMapping(value="/index",method=RequestMethod.GET)
  54. public ModelAndView index(ModelAndView model,HttpServletRequest request){
  55. List<Menu> userMenus = (List<Menu>)request.getSession().getAttribute("userMenus");
  56. model.addObject("topMenuList", MenuUtil.getAllTopMenu(userMenus));
  57. model.addObject("secondMenuList", MenuUtil.getAllSecondMenu(userMenus));
  58. model.setViewName("system/index");
  59. return model;//WEB-INF/views/+system/index+.jsp = WEB-INF/views/system/index.jsp
  60. }
  61. /**
  62. * 系统登录后的欢迎页
  63. * @param model
  64. * @return
  65. */
  66. @RequestMapping(value="/welcome",method=RequestMethod.GET)
  67. public ModelAndView welcome(ModelAndView model){
  68. model.setViewName("system/welcome");
  69. return model;
  70. }
  71. /**
  72. * 登陆页面
  73. * @param model
  74. * @return
  75. */
  76. @RequestMapping(value="/login",method=RequestMethod.GET)
  77. public ModelAndView login(ModelAndView model){
  78. model.setViewName("system/login");
  79. return model;
  80. }
  81. /**
  82. * 登录表单提交处理控制器
  83. * @param user
  84. * @param cpacha
  85. * @return
  86. */
  87. @RequestMapping(value="/login",method=RequestMethod.POST)
  88. @ResponseBody
  89. public Map<String, String> loginAct(User user,String cpacha,HttpServletRequest request){
  90. Map<String, String> ret = new HashMap<String, String>();
  91. if(user == null){
  92. ret.put("type", "error");
  93. ret.put("msg", "请填写用户信息!");
  94. return ret;
  95. }
  96. if(StringUtils.isEmpty(cpacha)){
  97. ret.put("type", "error");
  98. ret.put("msg", "请填写验证码!");
  99. return ret;
  100. }
  101. if(StringUtils.isEmpty(user.getUsername())){
  102. ret.put("type", "error");
  103. ret.put("msg", "请填写用户名!");
  104. return ret;
  105. }
  106. if(StringUtils.isEmpty(user.getPassword())){
  107. ret.put("type", "error");
  108. ret.put("msg", "请填写密码!");
  109. return ret;
  110. }
  111. Object loginCpacha = request.getSession().getAttribute("loginCpacha");
  112. if(loginCpacha == null){
  113. ret.put("type", "error");
  114. ret.put("msg", "会话超时,请刷新页面!");
  115. return ret;
  116. }
  117. if(!cpacha.toUpperCase().equals(loginCpacha.toString().toUpperCase())){
  118. ret.put("type", "error");
  119. ret.put("msg", "验证码错误!");
  120. logService.add("用户名为"+user.getUsername()+"的用户登录时输入验证码错误!");
  121. return ret;
  122. }
  123. User findByUsername = userService.findByUsername(user.getUsername());
  124. if(findByUsername == null){
  125. ret.put("type", "error");
  126. ret.put("msg", "该用户名不存在!");
  127. logService.add("登录时,用户名为"+user.getUsername()+"的用户不存在!");
  128. return ret;
  129. }
  130. if(!user.getPassword().equals(findByUsername.getPassword())){
  131. ret.put("type", "error");
  132. ret.put("msg", "密码错误!");
  133. logService.add("用户名为"+user.getUsername()+"的用户登录时输入密码错误!");
  134. return ret;
  135. }
  136. //说明用户名密码及验证码都正确
  137. //此时需要查询用户的角色权限
  138. Role role = roleService.find(findByUsername.getRoleId());
  139. List<Authority> authorityList = authorityService.findListByRoleId(role.getId());//根据角色获取权限列表
  140. String menuIds = "";
  141. for(Authority authority:authorityList){
  142. menuIds += authority.getMenuId() + ",";
  143. }
  144. if(!StringUtils.isEmpty(menuIds)){
  145. menuIds = menuIds.substring(0,menuIds.length()-1);
  146. }
  147. List<Menu> userMenus = menuService.findListByIds(menuIds);
  148. //把角色信息、菜单信息放到session中
  149. request.getSession().setAttribute("admin", findByUsername);
  150. request.getSession().setAttribute("role", role);
  151. request.getSession().setAttribute("userMenus", userMenus);
  152. ret.put("type", "success");
  153. ret.put("msg", "登录成功!");
  154. logService.add("用户名为{"+user.getUsername()+"},角色为{"+role.getName()+"}的用户登录成功!");
  155. return ret;
  156. }
  157. /**
  158. * 后台退出注销功能
  159. * @param request
  160. * @return
  161. */
  162. @RequestMapping(value="/logout",method=RequestMethod.GET)
  163. public String logout(HttpServletRequest request){
  164. HttpSession session = request.getSession();
  165. session.setAttribute("admin", null);
  166. session.setAttribute("role", null);
  167. request.getSession().setAttribute("userMenus", null);
  168. return "redirect:login";
  169. }
  170. /**
  171. * 修改密码页面
  172. * @param model
  173. * @return
  174. */
  175. @RequestMapping(value="/edit_password",method=RequestMethod.GET)
  176. public ModelAndView editPassword(ModelAndView model){
  177. model.setViewName("system/edit_password");
  178. return model;
  179. }
  180. @RequestMapping(value="/edit_password",method=RequestMethod.POST)
  181. @ResponseBody
  182. public Map<String, String> editPasswordAct(String newpassword,String oldpassword,HttpServletRequest request){
  183. Map<String, String> ret = new HashMap<String, String>();
  184. if(StringUtils.isEmpty(newpassword)){
  185. ret.put("type", "error");
  186. ret.put("msg", "请填写新密码!");
  187. return ret;
  188. }
  189. User user = (User)request.getSession().getAttribute("admin");
  190. if(!user.getPassword().equals(oldpassword)){
  191. ret.put("type", "error");
  192. ret.put("msg", "原密码错误!");
  193. return ret;
  194. }
  195. user.setPassword(newpassword);
  196. if(userService.editPassword(user) <= 0){
  197. ret.put("type", "error");
  198. ret.put("msg", "密码修改失败,请联系管理员!");
  199. return ret;
  200. }
  201. ret.put("type", "success");
  202. ret.put("msg", "密码修改成功!");
  203. logService.add("用户名为{"+user.getUsername()+"},的用户成功修改密码!");
  204. return ret;
  205. }
  206. /**
  207. * 本系统所有的验证码均采用此方法
  208. * @param vcodeLen
  209. * @param width
  210. * @param height
  211. * @param cpachaType:用来区别验证码的类型,传入字符串
  212. * @param request
  213. * @param response
  214. */
  215. @RequestMapping(value="/get_cpacha",method=RequestMethod.GET)
  216. public void generateCpacha(
  217. @RequestParam(name="vl",required=false,defaultValue="4") Integer vcodeLen,
  218. @RequestParam(name="w",required=false,defaultValue="100") Integer width,
  219. @RequestParam(name="h",required=false,defaultValue="30") Integer height,
  220. @RequestParam(name="type",required=true,defaultValue="loginCpacha") String cpachaType,
  221. HttpServletRequest request,
  222. HttpServletResponse response){
  223. CpachaUtil cpachaUtil = new CpachaUtil(vcodeLen, width, height);
  224. String generatorVCode = cpachaUtil.generatorVCode();
  225. request.getSession().setAttribute(cpachaType, generatorVCode);
  226. BufferedImage generatorRotateVCodeImage = cpachaUtil.generatorRotateVCodeImage(generatorVCode, true);
  227. try {
  228. ImageIO.write(generatorRotateVCodeImage, "gif", response.getOutputStream());
  229. } catch (IOException e) {
  230. // TODO Auto-generated catch block
  231. e.printStackTrace();
  232. }
  233. }
  234. }

如果也想学习本系统,下面领取。关注并回复:045ssm 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/637840
推荐阅读
相关标签
  

闽ICP备14008679号