基于javaweb的JSP+Servlet简单学生信息管理系统(java+servlet+mysql+jsp+bootstrap)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

342323212309

362323212309

372323212309

382323212309

基于javaweb的JSP+Servlet简单学生信息管理系统(java+servlet+mysql+jsp+bootstrap)

登录:
admin 123456

学生信息增删改查管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

@WebFilter(filterName = "LoginFilter")
public class LoginFilter implements Filter {
//静态代码块中向集合中存放所有可以放行的请求或网页地址(不用账号密码即可访问)
public static ArrayList<String> urls = new ArrayList<>();
static {
urls.add("/login.jsp");
urls.add("/register.jsp");
urls.add("/LoginServlet");
urls.add("/RegisterServlet");
urls.add("/index.jsp");
}

public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {

// 获得在下面代码中要用的request,response,session对象
HttpServletRequest servletRequest = (HttpServletRequest) req;
HttpServletResponse servletResponse = (HttpServletResponse) resp;
HttpSession session = servletRequest.getSession();
// 获得用户请求的URI
String path = servletRequest.getRequestURI();
System.out.println("已进入登陆过滤器,请求地址:"+path);
// 从session里取员工工号信息
String username = (String) session.getAttribute("username");
System.out.println("当前Sessiond对象:"+username);
// 登陆页面无需过滤
for (String url : urls ) {
if(url.equals(path) || path.contains(url)) {
//System.out.println("resource do chain...");
System.out.println("放行!");
chain.doFilter(req, resp);
//防止重复响应
return;
}
}
// 判断如果没有取到员工信息,则未登录,检查是否存在有Cookie信息,若没有就跳转到登陆页面
if (username == null || "".equals(username)) {
System.out.println("没有员工信息,开始读取Cookie");
Cookie[] cookies = servletRequest.getCookies();
String value = null;//Cookie的值
if (cookies!=null){
for (int i=0; i<cookies.length; i++){//获取名称为username的Cookie的值
if (cookies[i].getName().equals("user")){
value = cookies[i].getValue();
}
System.out.println("第"+(i+1)+"条Cookie记录:"+cookies[i].getName()+"+"+cookies[i].getValue());
}
}
if (value != null){//Cookie值不为空,自动登陆成功
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
    urls.add("/LoginServlet");
urls.add("/RegisterServlet");
urls.add("/index.jsp");
}

public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {

// 获得在下面代码中要用的request,response,session对象
HttpServletRequest servletRequest = (HttpServletRequest) req;
HttpServletResponse servletResponse = (HttpServletResponse) resp;
HttpSession session = servletRequest.getSession();
// 获得用户请求的URI
String path = servletRequest.getRequestURI();
System.out.println("已进入登陆过滤器,请求地址:"+path);
// 从session里取员工工号信息
String username = (String) session.getAttribute("username");
System.out.println("当前Sessiond对象:"+username);
// 登陆页面无需过滤
for (String url : urls ) {
if(url.equals(path) || path.contains(url)) {
//System.out.println("resource do chain...");
System.out.println("放行!");
chain.doFilter(req, resp);
//防止重复响应
return;
}
}
// 判断如果没有取到员工信息,则未登录,检查是否存在有Cookie信息,若没有就跳转到登陆页面
if (username == null || "".equals(username)) {
System.out.println("没有员工信息,开始读取Cookie");
Cookie[] cookies = servletRequest.getCookies();
String value = null;//Cookie的值
if (cookies!=null){
for (int i=0; i<cookies.length; i++){//获取名称为username的Cookie的值
if (cookies[i].getName().equals("user")){
value = cookies[i].getValue();
}
System.out.println("第"+(i+1)+"条Cookie记录:"+cookies[i].getName()+"+"+cookies[i].getValue());
}
}
if (value != null){//Cookie值不为空,自动登陆成功
session.setAttribute("username",value);
System.out.println("Cookie自动登陆成功!");
chain.doFilter(req, resp);//放行
return;
}else{
// 跳转到登陆页面
System.out.println("拦截!");
servletResponse.sendRedirect("/login.jsp");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
        System.out.println("ListServlet!!");
req.getRequestDispatcher("/list.jsp").forward(req, resp);
}
}



@WebServlet(name = "LoginServlet")
public class RegisterServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String username = req.getParameter("username");
String password = req.getParameter("password");
User user = new UserDAO().getUser(username);
System.out.println(username+"+"+password);
System.out.println(user.getUsername()+"+"+user.getPassword());
if (user.getUsername() == null){
user.setUsername(username);
user.setPassword(password);
new UserDAO().addUser(user);
System.out.println("注册成功!");
resp.sendRedirect("login.jsp");
}else {
req.setAttribute("flag","false");//用户已存在
req.getRequestDispatcher("/register.jsp").forward(req,resp);
}



}
}


@WebServlet(name = "UpdateServlet")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
    }
}


@WebServlet(name = "LogoutServlet")
public class LogoutServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
HttpSession session = req.getSession();
System.out.println("已登录用户为:"+session.getAttribute("username"));
session.removeAttribute("username");
System.out.println("已退出登录");
resp.sendRedirect("/login.jsp");
}
}



@WebServlet(name = "EditStudent")
public class EditServlet extends HttpServlet {

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

int id = Integer.parseInt(req.getParameter("id"));
Student student = new StudentDAO().get(id);

req.setAttribute("student", student);
req.getRequestDispatcher("edit.jsp").forward(req, resp);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
}



@WebServlet(name = "AddServlet")
public class AddServlet extends HttpServlet {
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

Student student = new Student();

// 直接从表单中获取数据
int studentID = Integer.parseInt(req.getParameter("studentID"));
String name = req.getParameter("name");
int age = Integer.parseInt(req.getParameter("age"));
String sex = req.getParameter("radio");

student.setStudentID(studentID);
student.setName(name);
student.setAge(age);
student.setSex(sex);

new StudentDAO().add(student);
resp.sendRedirect("ListServlet"); // 这里可以理解为刷新,重新请求
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

@WebFilter(filterName = "LoginFilter")
public class LoginFilter implements Filter {
//静态代码块中向集合中存放所有可以放行的请求或网页地址(不用账号密码即可访问)
public static ArrayList<String> urls = new ArrayList<>();
static {
urls.add("/login.jsp");
urls.add("/register.jsp");
urls.add("/LoginServlet");
urls.add("/RegisterServlet");
urls.add("/index.jsp");
}

public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {

// 获得在下面代码中要用的request,response,session对象
HttpServletRequest servletRequest = (HttpServletRequest) req;
HttpServletResponse servletResponse = (HttpServletResponse) resp;
HttpSession session = servletRequest.getSession();
// 获得用户请求的URI
String path = servletRequest.getRequestURI();
System.out.println("已进入登陆过滤器,请求地址:"+path);
// 从session里取员工工号信息
String username = (String) session.getAttribute("username");
System.out.println("当前Sessiond对象:"+username);
// 登陆页面无需过滤
for (String url : urls ) {
if(url.equals(path) || path.contains(url)) {
//System.out.println("resource do chain...");
System.out.println("放行!");
chain.doFilter(req, resp);
//防止重复响应
return;
}
}
// 判断如果没有取到员工信息,则未登录,检查是否存在有Cookie信息,若没有就跳转到登陆页面
if (username == null || "".equals(username)) {
System.out.println("没有员工信息,开始读取Cookie");
Cookie[] cookies = servletRequest.getCookies();
String value = null;//Cookie的值
if (cookies!=null){
for (int i=0; i<cookies.length; i++){//获取名称为username的Cookie的值


项目链接:
https://javayms.github.io?id=332323212309201fr
https://javayms.pages.dev?id=332323212309201fr