基于javaweb的简单酒店管理系统idea+servlet+jsp

一、系统简介

本项目采用idea工具开发,jsp+servlet+jquery技术编写,数据库采用的是mysql,navicat开发工具。

系统一共分为2个角色分别是:管理员,普通用户

二、模块简介

管理员

1、登录

2、客户管理

3、新闻管理

4、房间管理

5、办理入住管理

6、预约管理

7、数据统计

8、个人信息管理

用户

1、登录注册

2、浏览网站

3、查看房间

4、预约房间

5、查看新闻

6、个人信息管理

7、历史记录查询

项目简介
难度等级:✩✩
用户类型:2角色(管理员,用户)
设计模式:MVC
项目架构:B/S架构
开发语言:Java语言
前端技术:HTML、CSS、JS、JQuery等
后端技术:JSP、servlet框架
运行环境:Windows7或10、JDK1.8
运行工具:本系统采用idea开发,仅支持idea运行,不支持MyEclipse和eclipse运行,因为三者的骨架不一样,强行导入打开运行可能会导致出现未知的错误。
数  据  库:MySQL5.5/5.7/8.0版本
运行服务器:Tomcat7.0/8.0/8.5/9.0等版本
是否基于Maven环境:否
是否采用框架:是
数据库表数量:6张表
JSP页面数量:20多张
是否有分页:有分页

相关截图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关代码

登录

<%@ page language="java" contentType="text/html; charset=utf-8"
         pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE html>
<html>
<head>
    <!-- meta -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <meta name="renderer" content="webkit">
    <meta property="qc:admins" content="23635710066417756375" />
    <meta name="baidu-site-verification" content="QIQ6KC1oZ6" />
    <meta charset="UTF-8">

    <meta content="拉勾,自由职业,soho,Freelancer,威客,兼职,外包,开发项目,设计项目,市场项目,运营项目,产品设计项目,找开发,找设计,找市场/运营,平面设计,UI设计,插画,logo设计,VI设计,图标设计, 海报,网页设计,app设计,包装设计,前端开发,微信开发,H5开发,后端开发,APP开发,Web网站开发,活动策划,市场推广,品牌建设,SEO,新媒体运营,活动运营,内容运营,内容编辑 ,文案策划,记者,产品经理" name="keywords">

    <meta content="拉勾自由职业者平台,为你的项目精准对接最棒的最有契约精神的行业专家,目前开放的领域有开发、设计、市场/运营、产品。我们会为你全程提供专业化、个性化的服务和监管,以让优秀专家和优质项目顺利合作为己任。我们致力于打造一个自由职业者的自由联盟平台,让专业的人都有勇气改变他们的工作和生活,轻松享受自由的工作方式。" name="description">
    <meta name="viewport" content="width=device-width"/>

    <title>登录</title>
    <link rel="stylesheet"
          href="<%=path%>/resource/static/bootstrap/css/bootstrap.min.css">
    <script src="<%=path%>/resource/static/js/jquery-3.3.1.min.js"></script>
    <script src="<%=path%>/resource/static/bootstrap/js/bootstrap.bundle.js"></script>

    <link rel="stylesheet" type="text/css" href="<%=path%>/resource/login/css/dmaku2.css" />
    <script src="<%=path%>/resource/static/js/jquery-3.3.1.min.js"></script>
    <script src="<%=path%>/resource/static/bootstrap/js/bootstrap.bundle.js"></script>
</head>
<style>
    body{
        background-image:url(<%=path%>/resource/back.jpeg) ;/*插入的背景图片的url
	background-attachment: fixed;/*背景图片不会固定不会因页面滚动而重复*/
        background-repeat: no-repeat;/*使图片不管任何大小都不会重复*/
        background-size: 100%;/*改变背景图的长和宽*/
    }

</style>
<body>

<%--<header id="header">--%>
<%--    <a href="javascript:;" class="logo"></a>--%>
<%--    <i class="icons">beta</i>--%>
<%--</header>--%>
<!-- /header -->

<!-- 页面主体START -->
<section id="main" style="width: 480px">
    <h1>登录</h1>
    <form id="saveForm" accept-charset="utf-8" data-view="loginView">

        <div class="clearfix" data-propertyname="username" data-controltype="Phone">
            <input type="text" placeholder="输入帐号" id="username" name="username" placeholder="" data-required="required" autocomplete="off" >
        </div>

        <div class="clearfix" data-propertyname="password" data-controltype="Password">
            <input type="password" id="password" name="password" placeholder="输入密码" data-required="required" autocomplete="off" >
        </div>

        <div class="form-group form-check">
            <input type="radio" class="form-check-input" name="type" value="1" id="exampleCheck2" checked>
            <label class="form-check-label" for="exampleCheck2">管理员</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <input type="radio" class="form-check-input" name="type" value="2" id="exampleCheck1" >
            <label class="form-check-label" for="exampleCheck1">普通用户</label>

        </div>

        <div class="clearfix btn_login" data-propertyname="submit" data-controltype="Botton">
            <input type="button" style="border:0;height:46px;width:100%;color:#fff;font-size:16px;text-align:center;background:#3dca99;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;margin:18px 0"  id="save" value="登录">
        </div>

        <div class="clearfix goregister">
            <span class="reg_now">没有帐号?</span>
            <a href="javascript:;"  data-target="#myModal" data-toggle="modal" >注册</a>
        </div>

        <input type="hidden" value = "" id = "isVisiable_request_form_verifyCode" />

    </form>
</section>
<!-- 页面主体END -->


<div class="modal fade" id="myModal" aria-labelledby="myModallabel"
     aria-hidden="true" tabindex="-1" >
    <div class="modal-dialog">
        <div class="modal-content" >
            <div class="modal-header">
                <h5 class="modal-title" id="myModallabel">用户注册</h5>
                <button class="close" type="button" data-dismiss="modal"
                        aria-hidden="true">&times;</button>
            </div>
            <form id="registerForm" class="form-horizontal" enctype="multipart/form-data">
                <div class="modal-body">

                    <div class="form-group">
                        <label class="control-label col-lg-4">姓名:</label>
                        <div class="col-lg-9">
                            <input type="text" name="realname"
                                 class="form-control">
                        </div>
                    </div>

                    <div class="form-group">
                        <label class="control-label col-lg-4">学号:</label>
                        <div class="col-lg-9">
                            <input type="text" name="cno"
                                    class="form-control">
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="control-label col-lg-4">手机号:</label>
                        <div class="col-lg-9">
                            <input type="text" name="phone"
                                    class="form-control">
                        </div>
                    </div>

                    <div class="form-group">
                        <label class="control-label col-lg-4">密码:</label>
                        <div class="col-lg-9">
                            <input type="password" name="pwd"
                                    class="form-control">
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="control-label col-lg-4">性别:</label>
                        <div class="col-lg-9">
                            <select name="sex" class="form-control">
                                <option value="男">男</option>
                                <option value="女">女</option>
                            </select>
                        </div>
                    </div>

                    <div class="form-group">
                        <label class="control-label col-lg-4">图片:</label>
                        <div class="col-lg-9">
                            <input type="file" name="photo"  class="form-control">
                        </div>
                    </div>
                </div>

                <div class="modal-footer">
                    <button class="btn btn-default" type="button" data-dismiss="modal">关闭</button>
                    <a class="btn btn-success" type="button" id="register" >提交</a>
                </div>
            </form>
        </div>
    </div>
</div>





<script>


    $("#register").click(function() {
        $.ajax({
            cache:true,
            type : "post",
            url : "UserServlet?action=addUser",
            data : new FormData($('#registerForm')[0]),
            processData: false,
            contentType: false,
            async:false,
            success : function(e) {
                if (e == "yes") {
                    alert("注册成功!");
                    window.parent.location.href = "LoginServlet?action=loginOut";
                } else if (e == "isExist") {
                    alert("注册失败,学号重复");
                }else{
                    alert("注册失败");
                }
            }
        })
    });

    $("#save").click(function(){
        var username = $("#username").val();
        var password = $("#password").val();
        if(username == null || username == ""){
            alert("请填写账号");
            return false;
        }if(password == null || password == ""){
            alert("请填写密码");
            return false;
        }
        //执行添加的操作ajax
        $.ajax({
            cache:true,
            type:"post",
            url:"LoginServlet?action=login",
            data:$("#saveForm").serialize(),
            async:false,
            success:function(e){
                if(e == 'ok'){
                    alert("登录成功");
                    window.parent.location.href="LoginServlet?action=toMain";
                }else if(e == "user"){
                    alert("登录成功");
                    window.parent.location.href="IndexServlet?action=toIndex";
                }else{
                    alert("登录失败,账号或密码错误");
                }
            }
        })
    });

</script>

</body>
</html>
 /**
     * 登录
     * @param request
     * @param response
     * @throws ServletException
     * @throws IOException
     */
    public void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//处理登录
        //清空登录记录
        request.getSession().invalidate();
        //进行登录操作
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String type = request.getParameter("type");
        Admin admin = new Admin();
        User user = new User();
        if(type != null && type.equals("1")){
            Admin admin1 = userService.selectAdmin(username,password);
            if(admin1 != null){
                response.getWriter().print("ok");
                request.getSession().setAttribute("admin",admin1);
                request.getSession().setAttribute("flag",1);
            }else{
                response.getWriter().print("error");
            }
        }else if(type != null && type.equals("2")){
            User user1 = userService.selectUser(username,password);
            if(user1 != null){
                response.getWriter().print("user");
                request.getSession().setAttribute("user",user1);
                request.getSession().setAttribute("flag",2);
            }else{
                response.getWriter().print("error");
            }
        }else{
            response.getWriter().print("error");
        }

    }

非开源!!!!!!
项目截图中的数据,很多是用来测试的,需求自行添加合适的数据图片

此项目适合初学者学习借鉴,项目整体比较简单,可用作于期末考核,课设,毕设等方面的作业!!!!!
喜欢的朋友的点赞加关注,感兴趣的同学可以研究!!!!!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340