欢迎回来!
<%
if(s != null){
out.print(s.getName());
}
else if(t != null){
out.print(t.getName());
}
%>
退出登录
日期:2019/10/24
该学生管理系统基于jsp+servlet+javabean,使用MVC模式,是一个很基础的学生管理系统,由于这是本学期的课程大作业,所以现在还没有完全写完,这篇博文会根据进度逐步更新.
先贴一下该学生管理系统的网址(我已经上传到服务器上了)
http://139.9.200.70:8080/StudentMS/login.html
如果要使用学生身份登陆,可以用学号:201724010206,密码:1 进行登陆
如果要使用教师身份登陆,可以用教师号:201724010,密码:1 进行登陆
当然也可以用其他账号进行登陆,后文会给出数据库的sql文件,导入数据库便可以自己决定登陆的账号和密码
由于我在这个大作业中主要负责后端部分,所以这个博客主要讲解后端代码部分
1.系统的目录结构
2.具体代码
html和jsp页面的代码
(1)login.html(登陆页面)
登录页面

(2)index.jsp(登陆后的首页)
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="sms.bean.*" %>
这是选课系统的主界面
<%
Student s = (Student)request.getSession().getAttribute("student");
Teacher t = (Teacher)request.getSession().getAttribute("teacher");
if(s == null && t == null){
response.sendRedirect("notlogin.jsp");
}
%>
(3)nologin.jsp(如果有人想要不登陆直接访问index.jsp, index.jsp页面会通过检查session中是否有用户的身份信息来判断用户是否已经登陆,若没登陆则跳转到nologin.jsp页面,然后由该页面跳转到login.html)
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
未登录,请先登陆
未登录,请先登陆
<%
response.setHeader("Refresh", "2;url=login.html");
%>
java文件代码(servlet和javabean文件)
这部分主要有四个包,其中
bean包下封装的是javabean文件,主要是用户的类
conn包下封装的是返回connection类的文件
dao包下封装的是所有sql查询的方法
servlet包下封装的是所有servlet类
(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);
}
}
目前的代码已经上传到了GitHub仓库中,之后会随着大作业的进度不断更新,如果感觉不错就帮忙点个star.
地址:https://github.com/machi12/StudentMS