JavaWEB学生信息管理系统开发小结

                                                                           返回主页

本项目已开源于github,欢迎拍砖

主要技术

前台实现

  1. 页面设计:html、CSS+DIV、jQuery
  2. 静态框架:bootstrap
  3. 响应式布局,支持不同分辨率设备访问

后台实现

  1. JSP、JavaBean、JDBC、EL表达式、JSTL等
  2. 数据库:MySQL

网站架构模式

MVC model1

代码解释

代码目录树

网站代码

Java代码

Bean包(Javabean类,与数据表中字段相对应,存取用户信息) 1. >adminTable.java 2. >studentTable.java

Coon包(Java类,与数据库建立连接)这个类很重要,可以服用,此处贴出代码

    package com.app.snowalker.conn;

    import java.sql.Connection;
    import java.sql.DriverManager;

    public class conn {
    public Connection getCon() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String url = "jdbc:mysql://localhost/studentmanagementsystem?useUnicode=true&characterEncoding=utf-8";
            String user = "snowalker";
            String password = "admin";
            Connection conn = DriverManager.getConnection(url, user, password);
            System.out.println("connnection success");
            System.out.println(conn.getMetaData().getURL());

            return conn;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}

Service包(Java类,验证用户合法性)

  1. adminservice.java

  2. studentservice.java

JSP代码(部分关键代码,详细代码请参考工程文件中WebContent文件夹)

  1. index.jsp(主页,包括学生登录以及各种静态页面的首页,包括学院介绍,课程安排等)
  2. adminindex.jsp(管理员主页)
  3. studentqueryinfo.jsp(学生登陆后查询自己信息以及成绩页面)/searchstudentinfo.jsp(管理员搜索学生信息)
  4. adminIndex.jsp(管理员登录页面)
  5. searchstudentinfo.jsp(管理员查询页面,增加,删除,修改页面同理,详情请参看WebContent文件夹)

  6. 404.jsp(为404错误制定个性404页面)

  7. Validate.jsp/validatestudent.jsp(分别为验证管理员/学生是否合法页面)
<!-- 管理员验证 -->
<jsp:useBean id="admin" class="com.app.snowalker.bean.adminTable">
</jsp:useBean>
<jsp:useBean id="adminservice"
    class="com.app.snowalker.service.adminservice">
</jsp:useBean>
<!-- 封装表单数据    admin -->
<jsp:setProperty property="*" name="admin" />
<%--admin验证 --%>
<%
    //admin.setAdminname("admintest");
    out.print(admin.getAdminname());
    out.print("\n" + admin.getPassword());
    if (adminservice.validateAdmin(admin)) {
        //将当前jsp页面中的admin实例存储在名为admin的session字段中
        session.setAttribute("admin", admin);
%>
<jsp:forward page="adminpage.jsp"></jsp:forward>
<%
    } else {
%>
<jsp:forward page="adminIndex.jsp"></jsp:forward>
<%
    }
%>

islogin.jsp(记录session值防止跨页面访问)

<%
adminTable admin = (adminTable) session.getAttribute("admin");
    if (admin == null) {
%>
<jsp:forward page="index.jsp"></jsp:forward>
<%
    }
%>

感受

  1. 本学期通过WEB基础课程的学习,对JavaWEB开发有了初步的了解;
  2. 学习了以Servlet、JSP、filter为主要内容的JavaWEB开发技术,能够构建一个简单的动态网站,实现与数据库之间的通信以及较为友好的用户界面;
  3. 课程学习过程中,感觉节奏有点快,不过都在课后通过查询资料,编写demo代码弥补了基础的不足。Servlet作为基础的知识点应当重点掌握;
  4. 后期与数据库的连接遇到一些困难,在查询资料之后解决;
  5. JavaWEB的学习不是一个独立的分类,它和WEB前端开发,SQL查询语言,MVC模式等密切相关,因此基础知识很重要。在开发本网站的过程中,使我能够回过头对数据库的知识进行查缺补漏;
  6. 随着网站的文件越来越多,使我开始思考model1的不足,因此将部分公共组件提取出来作为JavaBean使用,形成初步的model2结构;
  7. 最后,我想说,做过就有收获。哪怕搞一个来改,别的不多说了。