0
点赞
收藏
分享

微信扫一扫

基于javaweb+jsp的电影院信息管理系统

未定义变量 2022-03-30 阅读 78

JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript Bootstrap Ajax

基础JSP+Servlet或JSP+SSM(Spring、SpringMVC、MyBatis)框架或JSP+SSM+Maven(pom.xml)框架或SpringBoot…均可

开发工具:eclipse/idea/myeclipse/sts等均可配置运行

适用

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

        } else if ("edit".equals(action)) {//修改
            //取出页面传进来的各个数据,并设置到User对象的属性里
            User vo = new User();
            vo.setId(Long.valueOf(Util.decode(request, "id")));
            vo.setUsername(Util.decode(request, "username"));
            vo.setPassword(Util.decode(request, "password"));
            vo.setRealName(Util.decode(request, "realName"));
            vo.setUserSex(Util.decode(request, "userSex"));
            vo.setUserPhone(Util.decode(request, "userPhone"));
            vo.setUserText(Util.decode(request, "userText"));
            vo.setUserType(Util.decode(request, "userType"));
            UserService userService = new UserServiceImpl();
            //调用Service层更新方法(update),更新记录
            userService.update(vo);
            this.redirectList(request, response);
        } else if ("get".equalsIgnoreCase(action) || "editPre".equalsIgnoreCase(action)) {//根据主键ID,查询详情信息并跳转到详情页面或编辑页面
            Serializable id = Util.decode(request, "id");//取出页面传入的主键,用于查询详情
            UserService userService = new UserServiceImpl();
            User vo = userService.get(id);
                               <input name="userSex" id="edit-userSex_男" type="radio" value=""/><input name="userSex" id="edit-userSex_女" type="radio" value=""/></div>
                    <div class="form-group">
                        <label for="edit-userPhone" class="control-label">手机:</label>
                        <input type="text" class="form-control" name="userPhone" id="edit-userPhone">
                    </div>
                    <div class="form-group">
                        <label for="edit-userText" class="control-label">备注:</label>
                        <textarea style="height: 100px;" class="form-control" name="userText" id="edit-userText"></textarea>
                    </div>
                    <div class="form-group">
                        <label class="control-label">类型:</label>
                               <input <c:if test="${loginUser.userType != '管理员'}">disabled="disabled" title="没有权限!!!"</c:if> name="userType" id="edit-userType_管理员" type="radio" value="管理员"/>管理员
                               <input name="userType" id="edit-userType_普通用户" type="radio" value="普通用户"/>普通用户
                    </div>
                    <div class="form-group hidden">
                        <label for="edit-createTime" class="control-label">创建时间:</label>
                        <input type="text" class="form-control" name="createTime" id="edit-createTime">
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-pill btn-default" data-dismiss="modal">取消</button>
                    <button type="submit" class="btn btn-pill btn-info">提交</button>
<body>
<div class="container">
    <div class="loginBox">
        <form class="form-horizontal" action="AuthServlet?action=login" method="post" onsubmit="return check()" style="background-color: #ffffffe0;border-radius: 20px;">
            <div class="loginLabel"><label style="text-align: center;font-size: 40px;padding-top:40px;font-weight: 700;color:#000000;text-shadow: 2px 3px #FFFFFF;">电影院信息管理系统</label></div>
            <br>
            <a href="#" style="font-size: 24px;color: #269abc;text-decoration: none;padding-left: 140px;">登录</a>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<a href="register.jsp" style="font-size: 24px;color:black ;text-decoration: none;">注册</a>
            <br>
            <br>
            <div class="form-group" style="margin-top: 20px;">
                <label for="username" class="col-sm-3 control-label">账号</label>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>登录</title>
    <link rel="stylesheet" href="css/bootstrap.css">
    <link rel="stylesheet" href="css/main.css">
    <script src="js/jquery-3.5.1.js"></script>
    <script src="js/bootstrap.js"></script>
    <style>
        body{padding: 0;margin: 0;background: url("img/1.jpg") no-repeat;background-size: 100%;}
    </style>
    <script type="text/javascript">
        let alert_msg = '${alert_msg}';
        if (alert_msg != null && alert_msg.trim() != '') {
            window.alert(alert_msg);
        }
     */
    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //过滤编码
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        String action = Util.decode(request, "action");
        if ("add".equals(action)) {//增加
            User vo = new User();
            //取出页面传进来的各个数据,并设置到User对象的属性里
            vo.setUsername(Util.decode(request, "username"));
            vo.setPassword(Util.decode(request, "password"));
            vo.setRealName(Util.decode(request, "realName"));
            vo.setUserSex(Util.decode(request, "userSex"));
            vo.setUserPhone(Util.decode(request, "userPhone"));
            vo.setUserText(Util.decode(request, "userText"));
            vo.setUserType(Util.decode(request, "userType"));
     * @param response
     */
    private void redirectList(HttpServletRequest request, HttpServletResponse response) throws IOException {
        //查询列和关键字
        String searchColumn = Util.decode(request, "searchColumn");
        String keyword = Util.decode(request, "keyword");
        Map<String, Object> params = new HashMap();//用来保存控制层传进来的参数(查询条件)
        params.put("searchColumn", searchColumn);//要查询的列
        params.put("keyword", keyword);//查询的关键字
        UserService userService = new UserServiceImpl();
        Map<String, Object> map = userService.list(params);
        request.getSession().setAttribute("list", map.get("list"));

        Integer totalRecord = (Integer) map.get("totalCount");//根据查询条件取出对应的总记录数,用于分页
        String pageNum = Util.decode(request, "pageNum");//封装分页参数
        com.demo.util.PageBean<Object> pb = new com.demo.util.PageBean(Integer.valueOf(pageNum != null ? pageNum : "1"), totalRecord);
        }
    }

    //@Override
    public User get(Serializable id) {
        User vo = null;
        try {
            Connection c = Util.getConnection();
            Statement s = c.createStatement();
            String sql = "select * from `t_user` where id = " + id;
            ResultSet rs = s.executeQuery(sql);
            if (rs.next()) {
                vo = new User();
                vo.setId(rs.getLong("id"));
                vo.setUsername(rs.getString("username"));
            alert("时长不能为空");
            return false;
        }
        if (document.getElementById("edit-paipianPrice").value.trim().length == 0) {
            alert("票价不能为空");
            return false;
        }
        return true;
    }
</script>
</html>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>公告管理</title>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">电影院信息管理系统</span> <span class="icon-bar"></span>
                <span class="icon-bar"></span> <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">电影院信息管理系统</a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal"
                            aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                    <h4 class="modal-title" id="myModalLabel">增加用户</h4>
                </div>
                <div class="modal-body">
                    <div class="form-group hidden">
                        <label class="control-label">(hidden)</label>
                        <input type="text" class="form-control" name="action" value="add">
                    </div>
                    <div class="form-group">
                        <label for="add-username" class="control-label">用户名:</label>
                        <input type="text" class="form-control" name="username" id="add-username">
                    </div>
                    <div class="form-group hidden">
                        <label for="edit-createTime" class="control-label">创建时间:</label>
                        <input type="text" class="form-control" name="createTime" id="edit-createTime">
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-pill btn-default" data-dismiss="modal">取消</button>
                    <button type="submit" class="btn btn-pill btn-info">提交</button>
                </div>

    $('#modal-edit').on('show.bs.modal', function (event) {
        let button = $(event.relatedTarget);
        let id = button.data('id');
        let modal = $(this);
        $.ajax({
            url: 'TingServlet?action=get&id=' + id,
            type: "get",
            success: function (voString) {
                let vo = eval('(' + voString + ')');
                        modal.find('#edit-id').val(vo.id);
                        modal.find('#edit-tingName').val(vo.tingName);
                        modal.find('#edit-tingCount').val(vo.tingCount);
                        <label for="edit-noticeName" class="control-label">标题:</label>
                        <input type="text" class="form-control" name="noticeName" id="edit-noticeName">
                    </div>
                    <div class="form-group">
                        <label for="edit-noticeText" class="control-label">内容:</label>
                        <textarea style="height: 100px;" class="form-control" name="noticeText" id="edit-noticeText"></textarea>
                    </div>
                    <div class="form-group">
                        <label for="edit-noticeType" class="control-label">类型:</label>
                        <input type="text" class="form-control" name="noticeType" id="edit-noticeType">
                    </div>
                    <div class="form-group">
                        <label for="edit-createDate" class="control-label">创建时间:</label>
                        <input type="text" class="form-control" name="createDate" id="edit-createDate">
                    </div>
     *
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //过滤编码
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        String action = Util.decode(request, "action");
        if ("add".equals(action)) {//增加
            Notice vo = new Notice();
            //取出页面传进来的各个数据,并设置到Notice对象的属性里
            vo.setNoticeName(Util.decode(request, "noticeName"));
            vo.setNoticeText(Util.decode(request, "noticeText"));
            vo.setNoticeType(Util.decode(request, "noticeType"));
            vo.setCreateDate(Util.decode(request, "createDate"));
            NoticeService noticeService = new NoticeServiceImpl();
            //调用Service层增加方法(add),增加记录
            noticeService.add(vo);
            s.close();
            c.close();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    //@Override
    public Paipian get(Serializable id) {
        Paipian vo = null;
        try {
            Connection c = Util.getConnection();
            Statement s = c.createStatement();
            String sql = "select * from `t_paipian` where id = " + id;
            ResultSet rs = s.executeQuery(sql);
            if (rs.next()) {
        pb.setSearchColumn(searchColumn);
        pb.setKeyword(keyword);
        pb.setList(list);
        request.getSession().setAttribute("pageBean", pb);
        request.getSession().setAttribute("list", pb.getList());

        response.sendRedirect("paipian_list.jsp");
    }
}
package com.demo.servlet;

import com.demo.util.Util;
import com.demo.service.UserService;
    <script src="js/jquery-3.5.1.js"></script>
    <script src="js/bootstrap.js"></script>
</head>

<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container-fluid">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">电影院信息管理系统</span> <span class="icon-bar"></span>
                <span class="icon-bar"></span> <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">电影院信息管理系统</a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
            <ul class="nav navbar-nav navbar-right">
                <li><a href="#">欢迎:<span style="color: yellow">${loginUser.username}</span></a></li>
                <li><a href="AuthServlet?action=logout">退出</a></li>
            </ul>
        </div>
                        <tr>
                            <td style="width: 15%;">时长:</td>
                            <td><b id="info-paipianLong"></b></td>
                        </tr>
                        <tr>
                            <td style="width: 15%;">票价:</td>
                            <td><b id="info-paipianPrice"></b></td>
                        </tr>
                        <tr>
                            <td style="width: 15%;">备注:</td>
                            <td><b id="info-paipianText"></b></td>
                        </tr>
                    </table>
                    <br>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-pill btn-default" data-dismiss="modal">关闭</button>
                </div>
            </form>
        // 保存minColor最大不会超过255
        if (minColor > 255)
            minColor = 255;
        //  保存minColor最大不会超过255
        if (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);
    }
}
package com.demo.servlet;
            }
            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");
            if (user != null) {
                session.removeAttribute("loginUser");
            }
            response.sendRedirect("login.jsp");
        } else if ("validationCode".equalsIgnoreCase(action)) {
            String codeChars = "0123456789";// 图形验证码的字符集合,系统将随机从这个字符串中选择一些字符作为验证码
            //  获得验证码集合的长度
            int charsLength = codeChars.length();
            ps.setString(1, vo.getNoticeName());
            ps.setString(2, vo.getNoticeText());
            ps.setString(3, vo.getNoticeType());
            ps.setString(4, vo.getCreateDate());
            ps.execute();
            ps.close();
            c.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

/**
 * 该方法为通用的工具类,放置一些共用的方法
 */
public class Util {
    public static String DBDRIVER = "com.mysql.jdbc.Driver";
    public static String DBURL = "jdbc:mysql://localhost:3306/project_000000000000?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false&allowPublicKeyRetrieval=true";
    public static String DBUSER = "root";
    public static String PASSWORD = "123456";
    /**
            c.close();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    //@Override
    public Ting get(Serializable id) {
        Ting vo = null;
        try {
            Connection c = Util.getConnection();
            Statement s = c.createStatement();
            String sql = "select * from `t_ting` where id = " + id;
            ResultSet rs = s.executeQuery(sql);
            if (rs.next()) {
                vo = new Ting();
                vo.setId(rs.getLong("id"));
                vo.setTingName(rs.getString("ting_name"));
                    </table>
                    <br>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-pill btn-default" data-dismiss="modal">关闭</button>
                </div>
            </form>
        </div>
    </div>
</div>

<!-- edit -->
<div class="modal fade" id="modal-edit" tabindex="-1" role="dialog"
     aria-labelledby="myModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <form action="PaipianServlet" onsubmit="return editCheck()">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                    <h4 class="modal-title">更新排片</h4>
                    vo.setId(rs.getLong("id"));
                    vo.setNoticeName(rs.getString("notice_name"));
                    vo.setNoticeText(rs.getString("notice_text"));
                    vo.setNoticeType(rs.getString("notice_type"));
                    vo.setCreateDate(rs.getString("create_date"));
                    list.add(vo);
                }
            String sqlCount = "select count(*) from `t_notice` where 1=1 " + condition;
            ps = c.prepareStatement(sqlCount);
            rs = ps.executeQuery();
            if (rs.next()) {
                totalCount = rs.getInt(1);
                    </div>
                    <div class="form-group">
                        <label for="add-paipianDate" class="control-label">开始时间:</label>
                        <input type="text" class="form-control" name="paipianDate" id="add-paipianDate">
                    </div>
                    <div class="form-group">
                        <label for="add-paipianLong" class="control-label">时长:</label>
                        <input type="text" class="form-control" name="paipianLong" id="add-paipianLong">
                    </div>
                    <div class="form-group">
                        <label for="add-paipianPrice" class="control-label">票价:</label>
                        <input type="text" class="form-control" name="paipianPrice" id="add-paipianPrice">
                    </div>
                    <div class="form-group">
                        <label for="add-paipianText" class="control-label">备注:</label>
                        <textarea style="height: 100px;" class="form-control" name="paipianText" id="add-paipianText"></textarea>
                        <input type="text" class="form-control" name="paipianLong" id="edit-paipianLong">
                    </div>
                    <div class="form-group">
                        <label for="edit-paipianPrice" class="control-label">票价:</label>
                        <input type="text" class="form-control" name="paipianPrice" id="edit-paipianPrice">
                    </div>
                    <div class="form-group">
                        <label for="edit-paipianText" class="control-label">备注:</label>
                        <textarea style="height: 100px;" class="form-control" name="paipianText" id="edit-paipianText"></textarea>
                    </div>
                    <div class="form-group hidden">
                        <label for="edit-createTime" class="control-label">创建时间:</label>
                        <input type="text" class="form-control" name="createTime" id="edit-createTime">
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-pill btn-default" data-dismiss="modal">取消</button>
                    <button type="submit" class="btn btn-pill btn-info">提交</button>
                </div>
            </form>
                sqlList = "select * from `t_ting` where 1=1 " + condition + " order by id asc " + limit + ";";
                ps = c.prepareStatement(sqlList);
                rs = ps.executeQuery();
                while (rs.next()) {
                    Ting vo = new Ting();
                    vo.setId(rs.getLong("id"));
                    vo.setTingName(rs.getString("ting_name"));
                    vo.setTingCount(rs.getString("ting_count"));
                    vo.setTingType(rs.getString("ting_type"));
                    vo.setTingText(rs.getString("ting_text"));
                    list.add(vo);
                }
            String sqlCount = "select count(*) from `t_ting` where 1=1 " + condition;
            ps = c.prepareStatement(sqlCount);
            rs = ps.executeQuery();
            if (rs.next()) {

运行环境

Java≥6、Tomcat≥7.0、MySQL≥5.5

开发工具

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

技术框架

JavaWeb JavaBean JSP MVC MySQL Tomcat JavaScript Bootstrap Ajax

基础JSP+Servlet或JSP+SSM(Spring、SpringMVC、MyBatis)框架或JSP+SSM+Maven(pom.xml)框架或SpringBoot…均可

适用

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

功能说明

登录、注册、退出、用户模块、公告模块、放映厅模块、排片模块的增删改查管理

20220319003247

20220319003248

20220319003249

20220319003250

20220319003251

20220319003252

20220319003253

20220319003254

20220319003255

20220319003256

20220319003257

document

↖[获取源码方式]见左侧

举报

相关推荐

0 条评论