本文主要是介绍基于javaweb+mysql的jsp+servlet企业财务记账管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap Ajax),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
基于javaweb+mysql的jsp+servlet企业财务记账管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap Ajax)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
技术框架
JavaBean MVC JSP Servlet MySQL CSS JavaScript Bootstrap Ajax
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
登录、注册、退出、用户模块、公告模块、职工工资模块、企业资产模块、项目经营模块的增删改查管理
eclipse/MyEclipse运行:
idea运行:
* 而后再调用NoticeService业务层的方法来处理具体的业务,最后将处理完成的结果返回或跳转至相应页面*/
//@WebServlet("/NoticeServlet")
public class NoticeServlet extends HttpServlet {/*** 处理Post请求** @param request* @param response* @throws ServletException* @throws IOException*/@Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//过滤编码request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");String action = request.getParameter("action");if ("add".equals(action)) {//增加Notice vo = new Notice();//取出页面传进来的各个数据,并设置到Notice对象的属性里vo.setNoticeName(request.getParameter("noticeName"));vo.setNoticeText(request.getParameter("noticeText"));vo.setNoticeType(request.getParameter("noticeType"));vo.setCreateDate(request.getParameter("createDate"));NoticeService noticeService = new NoticeServiceImpl();//调用Service层增加方法(add),增加记录noticeService.add(vo);this.redirectList(request, response);} else if ("delete".equals(action)) {//删除//取出表要删除的公告记录的主键long id = Long.parseLong(request.getParameter("id"));NoticeService noticeService = new NoticeServiceImpl();//调用Service层删除方法(delete),将对应的记录删除noticeService.delete(id);this.redirectList(request, response);} else if ("edit".equals(action)) {//修改//取出页面传进来的各个数据,并设置到Notice对象的属性里Notice vo = new Notice();vo.setId(Long.valueOf(request.getParameter("id")));vo.setNoticeName(request.getParameter("noticeName"));vo.setNoticeText(request.getParameter("noticeText"));vo.setNoticeType(request.getParameter("noticeType"));vo.setCreateDate(request.getParameter("createDate"));NoticeService noticeService = new NoticeServiceImpl();//调用Service层更新方法(update),更新记录noticeService.update(vo);this.redirectList(request, response);} else if ("get".equalsIgnoreCase(action) || "editPre".equalsIgnoreCase(action)) {//根据主键ID,查询详情信息并跳转到详情页面或编辑页面Serializable id = request.getParameter("id");//取出页面传入的主键,用于查询详情NoticeService noticeService = new NoticeServiceImpl();Notice vo = noticeService.get(id);response.getWriter().println(com.alibaba.fastjson.JSONObject.toJSONString(vo));
Integer totalRecord = (Integer) map.get("totalCount");//根据查询条件取出对应的总记录数,用于分页String pageNum = request.getParameter("pageNum");//封装分页参数com.demo.util.PageBean<Object> pb = new com.demo.util.PageBean(Integer.valueOf(pageNum != null ? pageNum : "1"), totalRecord);params.put("startIndex", pb.getStartIndex());params.put("pageSize", pb.getPageSize());List list = (List) salaryService.list(params).get("list");//根据分页参数startIndex、pageSize查询出来的最终结果listpb.setServlet("SalaryServlet");pb.setSearchColumn(searchColumn);pb.setKeyword(keyword);pb.setList(list);request.getSession().setAttribute("pageBean", pb);request.getSession().setAttribute("list", pb.getList());response.sendRedirect("salary_list.jsp");}
}/*** 公告模块的Servlet控制层,负责接收页面传过来的请求参数,根据action参数的值来确定页面要执行的具体操作<br>* 而后再调用NoticeService业务层的方法来处理具体的业务,最后将处理完成的结果返回或跳转至相应页面*/
//@WebServlet("/NoticeServlet")
public class NoticeServlet extends HttpServlet {/*** 处理Post请求** @param request* @param response* @throws ServletException* @throws IOException*/@Override
* @param response* @throws ServletException* @throws IOException*/@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);//Get请求和Post请求的处理是一样的,所以把request、response转交给Post方法就好}/*** 根据参数,查询出条例条件的记录集合,最后将数据返回给调用处或者将数据集合设置到session域里,再跳转到对应的列表页面** @param request* @param response*/private void redirectList(HttpServletRequest request, HttpServletResponse response) throws IOException {//查询列和关键字String searchColumn = request.getParameter("searchColumn");String keyword = request.getParameter("keyword");Map<String, Object> params = new HashMap();//用来保存控制层传进来的参数(查询条件)params.put("searchColumn", searchColumn);//要查询的列params.put("keyword", keyword);//查询的关键字NoticeService noticeService = new NoticeServiceImpl();Map<String, Object> map = noticeService.list(params);request.getSession().setAttribute("list", map.get("list"));Integer totalRecord = (Integer) map.get("totalCount");//根据查询条件取出对应的总记录数,用于分页String pageNum = request.getParameter("pageNum");//封装分页参数com.demo.util.PageBean<Object> pb = new com.demo.util.PageBean(Integer.valueOf(pageNum != null ? pageNum : "1"), totalRecord);params.put("startIndex", pb.getStartIndex());params.put("pageSize", pb.getPageSize());List list = (List) noticeService.list(params).get("list");//根据分页参数startIndex、pageSize查询出来的最终结果listpb.setServlet("NoticeServlet");pb.setSearchColumn(searchColumn);pb.setKeyword(keyword);pb.setList(list);request.getSession().setAttribute("pageBean", pb);request.getSession().setAttribute("list", pb.getList());response.sendRedirect("notice_list.jsp");}
}/*** 这是过滤器* 主要负责过滤编码为utf-8及登录拦截,禁止未登录就访问
UserService userService = new UserServiceImpl();userService.update(loginUser);msg = "修改成功!";}request.getSession().setAttribute("alert_msg", msg);request.getRequestDispatcher("reset_password.jsp").forward(request, response);} else {response.sendRedirect("login.jsp");}}/*** 处理Get请求** @param request* @param response* @throws ServletException* @throws IOException*/@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}// 返回一个随机颜色(Color对象)private Color getRandomColor(int minColor, int maxColor) {Random random = new Random();// 保存minColor最大不会超过255if (minColor > 255)minColor = 255;// 保存minColor最大不会超过255if (maxColor > 255)maxColor = 255;// 获得红色的随机颜色值int red = minColor + random.nextInt(maxColor - minColor);// 获得绿色的随机颜色值int green = minColor + random.nextInt(maxColor - minColor);// 获得蓝色的随机颜色值int blue = minColor + random.nextInt(maxColor - minColor);return new Color(red, green, blue);
this.redirectList(request, response);}}/*** 处理Get请求** @param request* @param response* @throws ServletException* @throws IOException*/@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);//Get请求和Post请求的处理是一样的,所以把request、response转交给Post方法就好}/*** 根据参数,查询出条例条件的记录集合,最后将数据返回给调用处或者将数据集合设置到session域里,再跳转到对应的列表页面** @param request* @param response*/private void redirectList(HttpServletRequest request, HttpServletResponse response) throws IOException {//查询列和关键字String searchColumn = request.getParameter("searchColumn");String keyword = request.getParameter("keyword");Map<String, Object> params = new HashMap();//用来保存控制层传进来的参数(查询条件)params.put("searchColumn", searchColumn);//要查询的列params.put("keyword", keyword);//查询的关键字NoticeService noticeService = new NoticeServiceImpl();Map<String, Object> map = noticeService.list(params);request.getSession().setAttribute("list", map.get("list"));Integer totalRecord = (Integer) map.get("totalCount");//根据查询条件取出对应的总记录数,用于分页String pageNum = request.getParameter("pageNum");//封装分页参数com.demo.util.PageBean<Object> pb = new com.demo.util.PageBean(Integer.valueOf(pageNum != null ? pageNum : "1"), totalRecord);params.put("startIndex", pb.getStartIndex());params.put("pageSize", pb.getPageSize());List list = (List) noticeService.list(params).get("list");//根据分页参数startIndex、pageSize查询出来的最终结果listpb.setServlet("NoticeServlet");
String password = request.getParameter("password");String validationCode = request.getParameter("validationCode");if (validationCode != null && !validationCode.equals(request.getSession().getAttribute("validationCode"))) {//验证码不通过request.getSession().setAttribute("alert_msg", "错误:验证码不正确!");request.getRequestDispatcher("login.jsp").forward(request, response);return;}UserService userService = new UserServiceImpl();Map<String, Object> params = new HashMap();List<User> list = (List<User>) userService.list(params).get("list");for (User user : list) {if (user.getUsername().equals(username) && user.getPassword().equals(password)) {//找到这个管理员了request.getSession().setAttribute("loginUser", user);request.getSession().setMaxInactiveInterval(Integer.MAX_VALUE);request.getRequestDispatcher("UserServlet").forward(request, response);return;}}request.getSession().setAttribute("alert_msg", "错误:用户名或密码错误!");request.getRequestDispatcher("login.jsp").forward(request, response);} else if ("register".equalsIgnoreCase(action)) {//注册String username = request.getParameter("username");String password = request.getParameter("password");System.out.println("username=" + username);System.out.println("password=" + password);UserService userService = new UserServiceImpl();Map<String, Object> params = new HashMap();params.put("startIndex", 0);params.put("pageSize", Long.MAX_VALUE);List<User> list = (List<User>) userService.list(params).get("list");for (User user : list) {if (user.getUsername().equals(username) /*&& user.getPassword().equals(password)*/) {//说明该用户名已存在,必须换个用户名才能注册request.getSession().setAttribute("alert_msg", "错误:用户名已存在!");request.getRequestDispatcher("register.jsp").forward(request, response);return;}}User vo = new User();
String password = request.getParameter("password");String validationCode = request.getParameter("validationCode");if (validationCode != null && !validationCode.equals(request.getSession().getAttribute("validationCode"))) {//验证码不通过request.getSession().setAttribute("alert_msg", "错误:验证码不正确!");request.getRequestDispatcher("login.jsp").forward(request, response);return;}UserService userService = new UserServiceImpl();Map<String, Object> params = new HashMap();List<User> list = (List<User>) userService.list(params).get("list");for (User user : list) {if (user.getUsername().equals(username) && user.getPassword().equals(password)) {//找到这个管理员了request.getSession().setAttribute("loginUser", user);request.getSession().setMaxInactiveInterval(Integer.MAX_VALUE);request.getRequestDispatcher("UserServlet").forward(request, response);return;}}request.getSession().setAttribute("alert_msg", "错误:用户名或密码错误!");request.getRequestDispatcher("login.jsp").forward(request, response);} else if ("register".equalsIgnoreCase(action)) {//注册String username = request.getParameter("username");String password = request.getParameter("password");System.out.println("username=" + username);System.out.println("password=" + password);UserService userService = new UserServiceImpl();Map<String, Object> params = new HashMap();params.put("startIndex", 0);params.put("pageSize", Long.MAX_VALUE);List<User> list = (List<User>) userService.list(params).get("list");for (User user : list) {if (user.getUsername().equals(username) /*&& user.getPassword().equals(password)*/) {//说明该用户名已存在,必须换个用户名才能注册request.getSession().setAttribute("alert_msg", "错误:用户名已存在!");request.getRequestDispatcher("register.jsp").forward(request, response);return;}}User vo = new User();vo.setUsername(username);vo.setPassword(password);//vo.setUserType("普通用户");//需要设置一个默认值userService.add(vo);request.getSession().setAttribute("alert_msg", "注册成功!用户名:[" + username + "]");request.getRequestDispatcher("login.jsp").forward(request, response);} else if ("logout".equalsIgnoreCase(action)) {//登出HttpSession session = request.getSession();User user = (User) session.getAttribute("loginUser");
vo.setUsername(username);vo.setPassword(password);//vo.setUserType("普通用户");//需要设置一个默认值userService.add(vo);request.getSession().setAttribute("alert_msg", "注册成功!用户名:[" + username + "]");request.getRequestDispatcher("login.jsp").forward(request, response);} else if ("logout".equalsIgnoreCase(action)) {//登出HttpSession session = request.getSession();User user = (User) session.getAttribute("loginUser");if (user != null) {session.removeAttribute("loginUser");}response.sendRedirect("login.jsp");} else if ("validationCode".equalsIgnoreCase(action)) {String codeChars = "0123456789";// 图形验证码的字符集合,系统将随机从这个字符串中选择一些字符作为验证码// 获得验证码集合的长度int charsLength = codeChars.length();// 下面三条记录是关闭客户端浏览器的缓冲区// 这三条语句都可以关闭浏览器的缓冲区,但是由于浏览器的版本不同,对这三条语句的支持也不同// 因此,为了保险起见,建议同时使用这三条语句来关闭浏览器的缓冲区response.setHeader("ragma", "No-cache");response.setHeader("Cache-Control", "no-cache");response.setDateHeader("Expires", 0);// 设置图形验证码的长和宽(图形的大小)int width = 90, height = 20;BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);Graphics g = image.getGraphics();// 获得用于输出文字的Graphics对象Random random = new Random();g.setColor(getRandomColor(180, 250));// 随机设置要填充的颜色g.fillRect(0, 0, width, height);// 填充图形背景// 设置初始字体g.setFont(new Font("Times New Roman", Font.ITALIC, height));g.setColor(getRandomColor(120, 180));// 随机设置字体颜色// 用于保存最后随机生成的验证码StringBuilder validationCode = new StringBuilder();// 验证码的随机字体String[] fontNames = {"Times New Roman", "Book antiqua", "Arial"};for (int i = 0; i < 4; i++) {// 随机设置当前验证码的字符的字体g.setFont(new Font(fontNames[random.nextInt(3)], Font.ITALIC, height));// 随机获得当前验证码的字符char codeChar = codeChars.charAt(random.nextInt(charsLength));validationCode.append(codeChar);// 随机设置当前验证码字符的颜色g.setColor(getRandomColor(10, 100));// 在图形上输出验证码字符,x和y都是随机生成的g.drawString(String.valueOf(codeChar), 16 * i + random.nextInt(7), height - random.nextInt(6));}
//取出表要删除的公告记录的主键long id = Long.parseLong(request.getParameter("id"));NoticeService noticeService = new NoticeServiceImpl();//调用Service层删除方法(delete),将对应的记录删除noticeService.delete(id);this.redirectList(request, response);} else if ("edit".equals(action)) {//修改//取出页面传进来的各个数据,并设置到Notice对象的属性里Notice vo = new Notice();vo.setId(Long.valueOf(request.getParameter("id")));vo.setNoticeName(request.getParameter("noticeName"));vo.setNoticeText(request.getParameter("noticeText"));vo.setNoticeType(request.getParameter("noticeType"));vo.setCreateDate(request.getParameter("createDate"));NoticeService noticeService = new NoticeServiceImpl();//调用Service层更新方法(update),更新记录noticeService.update(vo);this.redirectList(request, response);} else if ("get".equalsIgnoreCase(action) || "editPre".equalsIgnoreCase(action)) {//根据主键ID,查询详情信息并跳转到详情页面或编辑页面Serializable id = request.getParameter("id");//取出页面传入的主键,用于查询详情NoticeService noticeService = new NoticeServiceImpl();Notice vo = noticeService.get(id);response.getWriter().println(com.alibaba.fastjson.JSONObject.toJSONString(vo));} else {//默认去列表页面this.redirectList(request, response);}}/*** 处理Get请求** @param request* @param response* @throws ServletException* @throws IOException*/@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);//Get请求和Post请求的处理是一样的,所以把request、response转交给Post方法就好}/*** 根据参数,查询出条例条件的记录集合,最后将数据返回给调用处或者将数据集合设置到session域里,再跳转到对应的列表页面** @param request* @param response*/private void redirectList(HttpServletRequest request, HttpServletResponse response) throws IOException {
salaryService.add(vo);this.redirectList(request, response);} else if ("delete".equals(action)) {//删除//取出表要删除的职工工资记录的主键long id = Long.parseLong(request.getParameter("id"));SalaryService salaryService = new SalaryServiceImpl();//调用Service层删除方法(delete),将对应的记录删除salaryService.delete(id);this.redirectList(request, response);} else if ("edit".equals(action)) {//修改//取出页面传进来的各个数据,并设置到Salary对象的属性里Salary vo = new Salary();vo.setId(Long.valueOf(request.getParameter("id")));vo.setSalaryName(request.getParameter("salaryName"));vo.setSalaryNo(request.getParameter("salaryNo"));vo.setSalaryDept(request.getParameter("salaryDept"));vo.setSalaryMoney(request.getParameter("salaryMoney"));vo.setSalaryText(request.getParameter("salaryText"));SalaryService salaryService = new SalaryServiceImpl();//调用Service层更新方法(update),更新记录salaryService.update(vo);this.redirectList(request, response);} else if ("get".equalsIgnoreCase(action) || "editPre".equalsIgnoreCase(action)) {//根据主键ID,查询详情信息并跳转到详情页面或编辑页面Serializable id = request.getParameter("id");//取出页面传入的主键,用于查询详情SalaryService salaryService = new SalaryServiceImpl();Salary vo = salaryService.get(id);response.getWriter().println(com.alibaba.fastjson.JSONObject.toJSONString(vo));} else {//默认去列表页面this.redirectList(request, response);}}/*** 处理Get请求** @param request* @param response* @throws ServletException* @throws IOException*/@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
params.put("searchColumn", searchColumn);//要查询的列params.put("keyword", keyword);//查询的关键字SalaryService salaryService = new SalaryServiceImpl();Map<String, Object> map = salaryService.list(params);request.getSession().setAttribute("list", map.get("list"));Integer totalRecord = (Integer) map.get("totalCount");//根据查询条件取出对应的总记录数,用于分页String pageNum = request.getParameter("pageNum");//封装分页参数com.demo.util.PageBean<Object> pb = new com.demo.util.PageBean(Integer.valueOf(pageNum != null ? pageNum : "1"), totalRecord);params.put("startIndex", pb.getStartIndex());params.put("pageSize", pb.getPageSize());List list = (List) salaryService.list(params).get("list");//根据分页参数startIndex、pageSize查询出来的最终结果listpb.setServlet("SalaryServlet");pb.setSearchColumn(searchColumn);pb.setKeyword(keyword);pb.setList(list);request.getSession().setAttribute("pageBean", pb);request.getSession().setAttribute("list", pb.getList());response.sendRedirect("salary_list.jsp");}
}/*** 公告模块的Servlet控制层,负责接收页面传过来的请求参数,根据action参数的值来确定页面要执行的具体操作<br>* 而后再调用NoticeService业务层的方法来处理具体的业务,最后将处理完成的结果返回或跳转至相应页面
// 这三条语句都可以关闭浏览器的缓冲区,但是由于浏览器的版本不同,对这三条语句的支持也不同// 因此,为了保险起见,建议同时使用这三条语句来关闭浏览器的缓冲区response.setHeader("ragma", "No-cache");response.setHeader("Cache-Control", "no-cache");response.setDateHeader("Expires", 0);// 设置图形验证码的长和宽(图形的大小)int width = 90, height = 20;BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);Graphics g = image.getGraphics();// 获得用于输出文字的Graphics对象Random random = new Random();g.setColor(getRandomColor(180, 250));// 随机设置要填充的颜色g.fillRect(0, 0, width, height);// 填充图形背景// 设置初始字体g.setFont(new Font("Times New Roman", Font.ITALIC, height));g.setColor(getRandomColor(120, 180));// 随机设置字体颜色// 用于保存最后随机生成的验证码StringBuilder validationCode = new StringBuilder();// 验证码的随机字体String[] fontNames = {"Times New Roman", "Book antiqua", "Arial"};for (int i = 0; i < 4; i++) {// 随机设置当前验证码的字符的字体g.setFont(new Font(fontNames[random.nextInt(3)], Font.ITALIC, height));// 随机获得当前验证码的字符char codeChar = codeChars.charAt(random.nextInt(charsLength));validationCode.append(codeChar);// 随机设置当前验证码字符的颜色g.setColor(getRandomColor(10, 100));// 在图形上输出验证码字符,x和y都是随机生成的g.drawString(String.valueOf(codeChar), 16 * i + random.nextInt(7), height - random.nextInt(6));}HttpSession session = request.getSession();session.setMaxInactiveInterval(5 * 60);// 将验证码保存在session对象中,key为validation_codesession.setAttribute("validationCode", validationCode.toString());g.dispose();// 关闭Graphics对象OutputStream os = response.getOutputStream();ImageIO.write(image, "JPEG", os);// 以JPEG格式向客户端发送图形验证码} else if ("resetPassword".equalsIgnoreCase(action)) {String msg;User loginUser = (User) request.getSession().getAttribute("loginUser");String oldPassword = request.getParameter("oldPassword");if (!loginUser.getPassword().equals(oldPassword)) {msg = "原密码错误!";} else {
UserService userService = new UserServiceImpl();userService.update(loginUser);msg = "修改成功!";}request.getSession().setAttribute("alert_msg", msg);request.getRequestDispatcher("reset_password.jsp").forward(request, response);} else {response.sendRedirect("login.jsp");}}/*** 处理Get请求** @param request* @param response* @throws ServletException* @throws IOException*/@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}// 返回一个随机颜色(Color对象)private Color getRandomColor(int minColor, int maxColor) {Random random = new Random();// 保存minColor最大不会超过255if (minColor > 255)minColor = 255;// 保存minColor最大不会超过255if (maxColor > 255)maxColor = 255;// 获得红色的随机颜色值int red = minColor + random.nextInt(maxColor - minColor);// 获得绿色的随机颜色值int green = minColor + random.nextInt(maxColor - minColor);// 获得蓝色的随机颜色值int blue = minColor + random.nextInt(maxColor - minColor);return new Color(red, green, blue);}
}
//取出表要删除的公告记录的主键long id = Long.parseLong(request.getParameter("id"));NoticeService noticeService = new NoticeServiceImpl();//调用Service层删除方法(delete),将对应的记录删除noticeService.delete(id);this.redirectList(request, response);} else if ("edit".equals(action)) {//修改//取出页面传进来的各个数据,并设置到Notice对象的属性里Notice vo = new Notice();vo.setId(Long.valueOf(request.getParameter("id")));vo.setNoticeName(request.getParameter("noticeName"));vo.setNoticeText(request.getParameter("noticeText"));vo.setNoticeType(request.getParameter("noticeType"));vo.setCreateDate(request.getParameter("createDate"));NoticeService noticeService = new NoticeServiceImpl();//调用Service层更新方法(update),更新记录noticeService.update(vo);this.redirectList(request, response);} else if ("get".equalsIgnoreCase(action) || "editPre".equalsIgnoreCase(action)) {//根据主键ID,查询详情信息并跳转到详情页面或编辑页面Serializable id = request.getParameter("id");//取出页面传入的主键,用于查询详情NoticeService noticeService = new NoticeServiceImpl();Notice vo = noticeService.get(id);response.getWriter().println(com.alibaba.fastjson.JSONObject.toJSONString(vo));} else {//默认去列表页面this.redirectList(request, response);}}/*** 处理Get请求** @param request* @param response* @throws ServletException* @throws IOException*/@Overridepublic void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);//Get请求和Post请求的处理是一样的,所以把request、response转交给Post方法就好}
* @throws ServletException* @throws IOException*/@Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//过滤编码request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");String action = request.getParameter("action");if ("add".equals(action)) {//增加Zican vo = new Zican();//取出页面传进来的各个数据,并设置到Zican对象的属性里vo.setZicanType(request.getParameter("zicanType"));vo.setZicanNo(request.getParameter("zicanNo"));vo.setZicanName(request.getParameter("zicanName"));vo.setZicanWorth(request.getParameter("zicanWorth"));vo.setZicanDate(request.getParameter("zicanDate"));vo.setZicanText(request.getParameter("zicanText"));ZicanService zicanService = new ZicanServiceImpl();//调用Service层增加方法(add),增加记录zicanService.add(vo);this.redirectList(request, response);} else if ("delete".equals(action)) {//删除//取出表要删除的企业资产记录的主键long id = Long.parseLong(request.getParameter("id"));ZicanService zicanService = new ZicanServiceImpl();//调用Service层删除方法(delete),将对应的记录删除zicanService.delete(id);this.redirectList(request, response);} else if ("edit".equals(action)) {//修改//取出页面传进来的各个数据,并设置到Zican对象的属性里Zican vo = new Zican();vo.setId(Long.valueOf(request.getParameter("id")));vo.setZicanType(request.getParameter("zicanType"));vo.setZicanNo(request.getParameter("zicanNo"));vo.setZicanName(request.getParameter("zicanName"));vo.setZicanWorth(request.getParameter("zicanWorth"));vo.setZicanDate(request.getParameter("zicanDate"));vo.setZicanText(request.getParameter("zicanText"));ZicanService zicanService = new ZicanServiceImpl();//调用Service层更新方法(update),更新记录zicanService.update(vo);
//@WebServlet("/ZicanServlet")
public class ZicanServlet extends HttpServlet {/*** 处理Post请求** @param request* @param response* @throws ServletException* @throws IOException*/@Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//过滤编码request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");String action = request.getParameter("action");if ("add".equals(action)) {//增加Zican vo = new Zican();//取出页面传进来的各个数据,并设置到Zican对象的属性里vo.setZicanType(request.getParameter("zicanType"));vo.setZicanNo(request.getParameter("zicanNo"));vo.setZicanName(request.getParameter("zicanName"));vo.setZicanWorth(request.getParameter("zicanWorth"));vo.setZicanDate(request.getParameter("zicanDate"));vo.setZicanText(request.getParameter("zicanText"));ZicanService zicanService = new ZicanServiceImpl();//调用Service层增加方法(add),增加记录zicanService.add(vo);this.redirectList(request, response);} else if ("delete".equals(action)) {//删除//取出表要删除的企业资产记录的主键long id = Long.parseLong(request.getParameter("id"));ZicanService zicanService = new ZicanServiceImpl();//调用Service层删除方法(delete),将对应的记录删除zicanService.delete(id);this.redirectList(request, response);} else if ("edit".equals(action)) {//修改//取出页面传进来的各个数据,并设置到Zican对象的属性里Zican vo = new Zican();vo.setId(Long.valueOf(request.getParameter("id")));vo.setZicanType(request.getParameter("zicanType"));vo.setZicanNo(request.getParameter("zicanNo"));vo.setZicanName(request.getParameter("zicanName"));vo.setZicanWorth(request.getParameter("zicanWorth"));
request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");String action = request.getParameter("action");if ("add".equals(action)) {//增加Zican vo = new Zican();//取出页面传进来的各个数据,并设置到Zican对象的属性里vo.setZicanType(request.getParameter("zicanType"));vo.setZicanNo(request.getParameter("zicanNo"));vo.setZicanName(request.getParameter("zicanName"));vo.setZicanWorth(request.getParameter("zicanWorth"));vo.setZicanDate(request.getParameter("zicanDate"));vo.setZicanText(request.getParameter("zicanText"));ZicanService zicanService = new ZicanServiceImpl();//调用Service层增加方法(add),增加记录zicanService.add(vo);this.redirectList(request, response);} else if ("delete".equals(action)) {//删除//取出表要删除的企业资产记录的主键long id = Long.parseLong(request.getParameter("id"));ZicanService zicanService = new ZicanServiceImpl();//调用Service层删除方法(delete),将对应的记录删除zicanService.delete(id);this.redirectList(request, response);} else if ("edit".equals(action)) {//修改//取出页面传进来的各个数据,并设置到Zican对象的属性里Zican vo = new Zican();vo.setId(Long.valueOf(request.getParameter("id")));vo.setZicanType(request.getParameter("zicanType"));vo.setZicanNo(request.getParameter("zicanNo"));vo.setZicanName(request.getParameter("zicanName"));vo.setZicanWorth(request.getParameter("zicanWorth"));vo.setZicanDate(request.getParameter("zicanDate"));vo.setZicanText(request.getParameter("zicanText"));ZicanService zicanService = new ZicanServiceImpl();//调用Service层更新方法(update),更新记录zicanService.update(vo);this.redirectList(request, response);} else if ("get".equalsIgnoreCase(action) || "editPre".equalsIgnoreCase(action)) {//根据主键ID,查询详情信息并跳转到详情页面或编辑页面Serializable id = request.getParameter("id");//取出页面传入的主键,用于查询详情ZicanService zicanService = new ZicanServiceImpl();Zican vo = zicanService.get(id);response.getWriter().println(com.alibaba.fastjson.JSONObject.toJSONString(vo));} else {//默认去列表页面this.redirectList(request, response);}}/*** 处理Get请求** @param request* @param response* @throws ServletException
minColor = 255;// 保存minColor最大不会超过255if (maxColor > 255)maxColor = 255;// 获得红色的随机颜色值int red = minColor + random.nextInt(maxColor - minColor);// 获得绿色的随机颜色值int green = minColor + random.nextInt(maxColor - minColor);// 获得蓝色的随机颜色值int blue = minColor + random.nextInt(maxColor - minColor);return new Color(red, green, blue);}
}/*** 项目经营模块的Servlet控制层,负责接收页面传过来的请求参数,根据action参数的值来确定页面要执行的具体操作<br>* 而后再调用JingyinService业务层的方法来处理具体的业务,最后将处理完成的结果返回或跳转至相应页面*/
//@WebServlet("/JingyinServlet")
public class JingyinServlet extends HttpServlet {/*** 处理Post请求** @param request* @param response* @throws ServletException* @throws IOException*/@Overridepublic void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
这篇关于基于javaweb+mysql的jsp+servlet企业财务记账管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Bootstrap Ajax)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!