Student management system based on jsp servlet javabean

Date:2019/10/24

The student management system is based on jsp+servlet+javabean and uses the MVC model. It is a very basic student management system. Since this is a major course assignment for this semester, it has not been fully written yet. This blog post will be updated gradually according to the progress. .

First paste the URL of the student management system (I have uploaded it to the server)

http://139.9.200.70:8080/StudentMS/login.html

If you want to log in as a student, you can log in with student ID: 201724010206, password: 1

If you want to log in as a teacher, you can log in with the teacher ID: 201724010, password: 1

Of course, other accounts can also be used to log in. The sql file of the database will be given later. After importing the database, you can decide the login account and password by yourself.

 

Since I am mainly responsible for the back-end part in this big job, this blog mainly explains the back-end code part

 

1. System directory structure

 

2. Specific code

Code for html and jsp pages

(1) login.html (landing page)


<!DOCTYPE html>

<html lang="en"><!--可删,lang="en"会让浏览器显示“”翻译此页-->

<head>

    <meta charset="UTF-8">

    <title>登录页面</title>

 

    <link rel="stylesheet" type="text/css" href="css/login.css"/>

    <script type="text/javascript" src="js/login.js"></script>

</head>

 

<body>
<div id="login_main">

 

  <p id="logo_image"><img src="assets/103.png" width="50" height="50"></p>

 

    <form method="post" action="LoginServlet"><!--method 该属性定义了如何发送数据,action 这个属性定义了发送数据要去的位置-->

 

        <p><label class="label_input">用户名</label><input type="text" id="usernumber" class="text_field" name="usernumber"/></p>

        <p><label class="label_input">密码</label><input type="password" id="password" class="text_field" name="password"/></p>

 

        <div id="login_control">

            <input type="submit" id="btn_login" value="登录" οnclick="login();"/>

            <a id="forget" href="forget.html"><i>忘记密码?</i></a>

        </div>
		
        <div id="login_chosen">
			<input type="radio" name="shenfen" value="bumen"/>部门

   			<input type="radio" name="shenfen" value="teacher"/>教师

    		<input type="radio" name="shenfen" value="student"/>学生

		 </div>		

    </form>
			 

</div>
</body>

</html>

(2) index.jsp (the home page after login)

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="sms.bean.*" %>
<!DOCTYPE HTML>
<html>
	<head>
		<meta charset="utf-8" />
		<title>这是选课系统的主界面</title>
		<style type="text/css">
			@import "css/index.css"
		</style>
	</head>
	<body>
		<%
			Student s = (Student)request.getSession().getAttribute("student");
			Teacher t = (Teacher)request.getSession().getAttribute("teacher");
			if(s == null && t == null){
				response.sendRedirect("notlogin.jsp");
			}
		%>
		<div class="main">
			<div class="navigation">
				<span>欢迎回来! 
					<%
						if(s != null){
							out.print(s.getName());
						}
						else if(t != null){
							out.print(t.getName());
						}
					%>
				</span>
				<a class="exit" href="/StudentMS/LogoutServlet"><span>退出登录</span></a>
			</div>
			<div class="button_menu">
				<ul>
					<li>
					
					<button onclick="window.location.href='main.html'"><a href="main.html">公告</a></button>
					
					</li>
					<li><button onclick="window.location.href='pick.html'"><a href="pick.html">选课</a></button></li>
					<li><button onclick="window.location.href='schedule.html'"><a href="schedule.html">课表查询</a></button></li>
					<li><button onclick="window.location.href='grade.html'"><a href="grade.html">成绩查询</a></button></li>
					<div class="clear"></div>
					
				</ul>
				<div class="clear"></div>
			</div>
			<div class="message_board">
				<h1 class="message_title">公告</h1>
				<article class="message_content">内容</article>
				<div class="content_1">
				<p>
					&nbsp;&nbsp;网络视频课程(课程号080005开头的任选课)必须通过选课系统选定该类课程,一般在每学期的第二周开放在线学习平台,期末考试前一周安排网上测试。
					选定该类课程的同学通过登录教务处网站或信息技术管理处网站点击“网络视频课程在线学习平台”链接进入,学习登录时,用户名为学号,初始登录密码为‘123456’,初次登录后修改学习密码。  
				</p>
				<p>
  					&nbsp;&nbsp;请认真核实自己的课程表,不要漏选应修的课程,课程表中未有的课程将不予登记成绩;不要多选不修的课程,否则将影响毕业学分审核及平均学分绩点计算。    
				</p>
				<p>
  					&nbsp;&nbsp;选课中遇到问题请查看选课公告中相关文件或咨询本学院教务员老师。
				</p>
				<p>
  					&nbsp;&nbsp;忘记密码请联系本学院教务员老师查询。
  				</p>
				</div>
				<div class="preview"><a href="#">上一篇</a></div>
				<div class="next"><a href="#">下一篇</a></div>
			</div>
			<div class="clear"></div>			
		</div>

	</body>
</html>

(3) nologin.jsp (If someone wants to directly access index.jsp without logging in, the index.jsp page will judge whether the user has logged in by checking whether there is user's identity information in the session, and jump to nologin if not logged in. jsp page, and then jump to login.html from this page)

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>未登录,请先登陆</title>
</head>
<body>
	<div>
		未登录,请先登陆
	</div>
	<%
		response.setHeader("Refresh", "2;url=login.html");
	%>

</body>
</html>

 

java file code (servlet and javabean files)

There are four main packages in this part, among which

The bean package encapsulates the javabean file, mainly the user's class

The conn package encapsulates the file that returns the connection class

All sql query methods are encapsulated under the dao package

All servlet classes are encapsulated under the servlet package

(4)LoginServlet.java

package sms.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import sms.conn.Conn;
import sms.dao.StudentSql;
import sms.bean.Student;
import sms.bean.Teacher;
import sms.dao.TeacherSql;

/**
 * Servlet implementation class LoginServlet
 */
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public LoginServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.setCharacterEncoding("utf-8");
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		String unumber = request.getParameter("usernumber");
		String pwd = request.getParameter("password");
		String shenfen = request.getParameter("shenfen");
		//out.println(unumber);
		//out.println(pwd);
		//out.println(shenfen);
		//out.print(shenfen);
		if("student".equals(shenfen)) {
			StudentSql studentSql = new StudentSql();
			boolean b = studentSql.isStudent(unumber, pwd);
			//out.print(b);
			if(b) {
				String uname = studentSql.getSName(unumber);
				Student s = new Student(uname, unumber);
				HttpSession session = request.getSession();
				session.setAttribute("student", s);
				//out.println("正确");
				response.sendRedirect("index.jsp");
			}else {
				out.println("账号或密码错误");
				response.setHeader("refresh", "2;URL=login.html");
			}
		}
		else if("teacher".equals(shenfen)) {
			TeacherSql teacherSql = new TeacherSql();
			boolean b = teacherSql.isTeacher(unumber, pwd);
			//out.print(b);
			if(b) {
				String uname = teacherSql.getTName(unumber);
				Teacher t = new Teacher(uname, unumber);
				HttpSession session = request.getSession();
				session.setAttribute("teacher", t);
				//out.println("正确");
				response.sendRedirect("index.jsp");
			}else {
				out.println("账号或密码错误");
				response.setHeader("refresh", "2;URL=login.html");
			}
		}else {
			out.println("错误");
			response.setHeader("refresh", "2;URL=login.html");
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

(5)LoginoutServlet.java

package sms.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * Servlet implementation class LogoutServlet
 */
@WebServlet("/LogoutServlet")
public class LogoutServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public LogoutServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		HttpSession session = request.getSession();
		session.removeAttribute("student");
		session.removeAttribute("teacher");
		response.sendRedirect("login.html");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

 

 

The current code has been uploaded to the GitHub repository, and will be updated continuously with the progress of the big job. If you feel good, please help me by clicking a star.

Address: https://github.com/machi12/StudentMS

 

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324137808&siteId=291194637