——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
后台:管理用户、影片、排片、影厅、订单、影评等
前台:注册登录、查看排片、详情,选座、购票等



后台









前台






技术框架
JSP Servlet MySQL C3P0 DBUtil Tomcat JavaScript CSS
基于javaweb的JSP+Servlet电影票售票管理系统(java+jsp+servlet+javabean+mysql)
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| } } }
private void doDel(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String movieName = req.getParameter("movie"); if (movieName != null) { Movie movie = service.deleteByName(movieName); if (movie != null) { new File(getServletContext().getRealPath(GetImageServlet.IMG_SERVLET_DIR), movie.pic_name).delete(); } } forwardToMoviesJsp(service.queryAll(), req, resp); }
private void doUpdateMovie(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String movieName = req.getParameter("movie"); if (movieName != null) { Movie movie = service.queryByName(movieName); if (movie == null) { forwardToMoviesJsp(service.queryAll(), req, resp); } else { Utils.fillAttr(req, movie); req.setAttribute("add", false); req.getRequestDispatcher("/admin/add_update_movie.jsp").forward(req, resp); } } else { addOrUpdateMovie(false, req, resp); } }
private void doAddMovie(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { if (!ServletFileUpload.isMultipartContent(req)) { req.setAttribute("add", true); req.getRequestDispatcher("/admin/add_update_movie.jsp").forward(req, resp); } else { addOrUpdateMovie(true, req, resp); } }
private void addOrUpdateMovie(boolean add, HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Map<String, String> map = new HashMap<>(); String uploadPath = getServletContext().getRealPath(GetImageServlet.IMG_SERVLET_DIR); String tempPath = getServletContext().getRealPath("/WEB-INF/temp"); DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(1024 * 100); factory.setRepository(new File(tempPath)); ServletFileUpload upload = new ServletFileUpload(factory);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| chain.doFilter(new MyHttpServletRequest((HttpServletRequest) request), response); }
@Override public void init(FilterConfig config) throws ServletException { encoding = config.getServletContext().getInitParameter("encoding"); if (encoding == null) { encoding = "utf-8"; } }
class MyHttpServletRequest extends HttpServletRequestWrapper {
private HttpServletRequest request; private boolean isEncoded = false;
MyHttpServletRequest(HttpServletRequest request) { super(request); this.request = request; }
@Override public String getParameter(String name) { String[] values = getParameterMap().get(name); return values == null ? null : values[0]; }
@Override public Map<String, String[]> getParameterMap() { try { if ("POST".equalsIgnoreCase((request.getMethod()))) { request.setCharacterEncoding(encoding); return request.getParameterMap(); } else if ("GET".equalsIgnoreCase(request.getMethod())) { if (!isEncoded) { Map<String, String[]> map = request.getParameterMap(); for (Map.Entry<String, String[]> me : map.entrySet()) { String[] values = me.getValue(); for (int i = 0; i < values.length; i++) { values[i] = URLDecoder.decode(values[i], encoding); } } isEncoded = true;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| if (Utils.isEmpty(keyword)) { backListToPlansJsp(planService.queryAll(), req, resp); } else { req.setAttribute("keyword", keyword); backListToPlansJsp(planService.queryPlansByKeyword(keyword), req, resp); } } }
private void doDel(HttpServletRequest req, HttpServletResponse resp) throws IOException { String planInfo = req.getParameter("plan"); if (planInfo != null) { String[] ss = planInfo.split("_"); planService.delete(ss[0], ss[1], ss[2]); } resp.sendRedirect(req.getContextPath() + "/admin/plans"); }
private void doAdd(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String movieName = req.getParameter("movie"); if (movieName != null) { Movie movie = moviceService.queryByName(movieName); if (movie != null) { req.setAttribute("movie_name", movie.name); } else { resp.sendRedirect(req.getContextPath() + "/admin/movies"); return; } } else { Plan plan = new Plan(); Utils.populateToBean(plan, req.getParameterMap()); try { planService.add(plan); req.setAttribute("success", true); } catch (MyException e) { req.setAttribute("msg", e.getMessage()); Utils.fillAttr(req, plan); } } List<Hall> list = hallService.queryAll(); if (list != null) { req.setAttribute("halls", list);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| @Override protected void handleRequest(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String servletPath = req.getServletPath(); if (servletPath.contains("add")) { doAddMovie(req, resp); } else if (servletPath.contains("update")) { doUpdateMovie(req, resp); } else if (servletPath.contains("delete")) { doDel(req, resp); } else { String keyword = req.getParameter("keyword"); if (Utils.isEmpty(keyword)) { forwardToMoviesJsp(service.queryAll(), req, resp); } else { req.setAttribute("keyword", keyword); forwardToMoviesJsp(service.queryMoviesByKeyword(keyword), req, resp); } } }
private void doDel(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String movieName = req.getParameter("movie"); if (movieName != null) { Movie movie = service.deleteByName(movieName); if (movie != null) { new File(getServletContext().getRealPath(GetImageServlet.IMG_SERVLET_DIR), movie.pic_name).delete(); } } forwardToMoviesJsp(service.queryAll(), req, resp); }
private void doUpdateMovie(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String movieName = req.getParameter("movie"); if (movieName != null) { Movie movie = service.queryByName(movieName); if (movie == null) {
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| ms.overTime = DateUtils.formatDate(overTime, "HH:mm"); } ms.price = plan.price; ms.hallName = plan.hall_name; Hall hall = hallService.queryByName(plan.hall_name); if (hall == null) { resp.sendRedirect(req.getContextPath() + "/"); return; } else { ms.hallType = hall.type; } sessions.add(ms); } req.setAttribute("sessions", sessions); req.setAttribute("title", "选择场次: " + movie.name); req.getRequestDispatcher("/sessions.jsp").forward(req, resp); } else { resp.sendRedirect(req.getContextPath() + "/"); } } } } } package com.demo.util.filter;
@WebFilter(urlPatterns = "/*") public class EncodingFilter implements Filter {
private String encoding = null;
@Override public void destroy() {
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| } } package com.demo.web;
@WebServlet(urlPatterns = "/login") public class LoginServlet extends BaseServlet { private static final long serialVersionUID = 8264050085226713309L; private UserService service = BaseFactory.getService(UserService.class);
@Override protected void handleRequest(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String username = req.getParameter("username"); String password = req.getParameter("password"); String from = req.getParameter("from"); if (from != null) { req.setAttribute("from", from); } if (username == null || password == null) { req.getRequestDispatcher("/login.jsp").forward(req, resp); } else { try { User user = service.valicateUser(username, password); String valicateCode = req.getParameter("valicateCode"); HttpSession session = req.getSession(); String sessionValicateCode = (String) session.getAttribute("valicateCode"); if (valicateCode == null || !valicateCode.equalsIgnoreCase(sessionValicateCode)) { throw new MyException("验证码不正确"); } req.getSession().setAttribute("user", user); req.getSession().setMaxInactiveInterval(7200);
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=182221280407102ao
https://javayms.pages.dev?id=182221280407102ao