使用JSP技术搭建实验仪器预约系统

学院里面做实验需要预约实验仪器,但学院里面并没有一个管理系统,预约工作由学生担任。管理比较混乱,沟通成本也比较高,因此设计一个简单的实验仪器预约系统,以期解决此问题。

使用的技术为JSP,MySQL和Java基础。

开发条件:Windows 10 + jdk1.8.0_181 + eclipse_for_JavaEE + Tomcat 9.0.14 + MySQL 8.0

1,需求分析

系统首先应该展示可以预约的仪器,学生注册账号,再使用自己的账号登录,选择相应时间预约仪器,同一时间只能有一个用户使用仪器。

2,建立项目

在Eclipse中新建一个Dynamic Web Project,项目名称为YuYue,Target Runtime选择Apache Tomcat v9.0。项目结构如下图,这里是已经做完的。

文件资源:https://github.com/JosephJoster/YuYue

 src文件夹用于存放我们编写的java文件,WebContent是项目的根目录,images文件夹里面存放了本项目需要用到的一些图片。

在Window->Preferences->Web->JSP Files中更改Encoding为UTF-8,以避免后续修改页面字符集

3,页面设计

设计首页index.jsp,效果如下

这里在session中检测了用户是否存在,若存在则显示用户名

点击任意一个仪器标题可查看详情

这里的数据都是从数据库提取的,需要预先在数据库建立相应的表。

连接数据库的时候需要注意,MySQL8.0的连接驱动名称和路径与老版本稍微有些不一样

    private static final String driver = "com.mysql.cj.jdbc.Driver";//数据库驱动,注意中间有个cj
    //连接数据库的URL地址,必须要加时区
    private static final String url = "jdbc:mysql://localhost:3306/my_database?"
            + "&useSSL=true&serverTimezone=GMT";
    //my_database是我schema的名字
    private static final String username = "root";//数据库用户名
    private static final String password = "1234";//数据库密码
    private static Connection conn = null;
    
    //静态代码块加载驱动
    static {
        try {
            Class.forName(driver);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }    

4,用户注册与登录

首页和详情页都可以跳转到登录页面login.jsp。

新用户注册要求输入合法的用户名和密码,并且已经注册的用户名不得再次注册,由checkRegister.jsp执行检查。

注册成功后可以登录,登录成功后session中会建立一个名为“myUser”的Attribute

User myUser = new User();
myUser.setUsername(username);
myUser.setPassword(password);
request.getSession().setAttribute("myUser", myUser);

 5,预约仪器

登录成功后即可进行预约。

预约时间暂时限定在用户操作时间之后的三天内,时间段为上午,下午,晚上。

选择好时间预约仪器后,系统会检查该时间段是否存在预约记录,若存在则预约失败。

预约成功后,用户可以在“我的预约”中查看记录。

具体的页面编写见 https://github.com/JosephJoster/YuYue

posted @ 2019-02-18 17:21  Elucidator  阅读(948)  评论(0编辑  收藏  举报