学生管理系统
index.jsp
<%-- Created by IntelliJ IDEA. User: 12270 Date: 2021/3/18 Time: 21:39 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %>学生管理系统首页 <%-- 获取会话域中的数据 如果获取到了则显示添加和查看功能的超链接 如果没获取到则显示登录功能额超链接 --%> <%Object username = session.getAttribute("username"); if (username==null){ %> 请登录 <%}else{%> 添加学生 查看学生 <%}%>
login.jsp
<%-- Created by IntelliJ IDEA. User: 12270 Date: 2021/3/18 Time: 21:46 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %>学生登陆
LoginStudentServlet
package com.itheima.servlet; 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 java.io.IOException; @WebServlet("/loginStudentServlet") public class LoginStudentServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取到用户名和密码 String username = req.getParameter("username"); String password = req.getParameter("password"); //2.判断用户名 if (username == null||"".equals(username)) { //2.1用户名为空,重定向到登陆页面 resp.sendRedirect("/stu/login.jsp"); return; } //2.2用户名不为空,将用户名存入到会话域对象中 req.getSession().setAttribute("username",username); //3.重定向到首页 resp.sendRedirect("/stu/index.jsp"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
Student
package com.itheima.bean; public class Student { private String username; private int age; private int score; public Student() { } public Student(String username, int age, int score) { this.username = username; this.age = age; this.score = score; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } @Override public String toString() { return "Student{" + "username='" + username + '\'' + ", age=" + age + ", score=" + score + '}'; } }
案例实现-添加功能
1.在web目录下创建一个addStudent.jsp,实现添加学生的表单项
2.创建AddStudentServlet,获取学生信息并保存到文件中
3.通过定时刷新功能2s后跳转到首页
addStudent.jsp
<%-- Created by IntelliJ IDEA. User: 12270 Date: 2021/3/18 Time: 22:03 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %>添加学生
addStudentServlet
package com.itheima.servlet; import com.itheima.bean.Student; 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 java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; /* * *实现添加功能 * */ @WebServlet("/addStudentServlet") public class AddStudentServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=UTF-8"); //1.获取表单中的数据 String username=req.getParameter("username"); String age=req.getParameter("age"); String score = req.getParameter("score"); //2.创建学生对象并赋值 Student stu=new Student(); stu.setUsername(username); stu.setAge(Integer.parseInt(age)); stu.setScore(Integer.parseInt(score)); //3.将学生对象的数据保存到d:\\stu.txt中 BufferedWriter bw=new BufferedWriter(new FileWriter("d:\\stu.txt",true)); bw.write(stu.getUsername()+","+stu.getAge()+","+stu.getScore()); bw.newLine(); bw.close(); //通过定时刷新功能相应给浏览器 resp.getWriter().write("添加成功。2秒后自动跳转到首页"); resp.setHeader("Refresh","2;URL=/stu/index.jsp"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
案例实现-查看功能
1.创建ListStudentServlet,读取文件中的学生信息到集合中
2.将集合重定向到会话域中
3.重定向到listStudent.jsp页面上
4.在web目录下创建一个listStudent,jsp
5.定义表格标签,在表格中获取会话域的集合数据,将数据显示在页面上
LoginStudentServlet
package com.itheima.servlet; 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 java.io.IOException; @WebServlet("/loginStudentServlet") public class LoginStudentServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取到用户名和密码 String username = req.getParameter("username"); String password = req.getParameter("password"); //2.判断用户名 if (username == null||"".equals(username)) { //2.1用户名为空,重定向到登陆页面 resp.sendRedirect("/stu/login.jsp"); return; } //2.2用户名不为空,将用户名存入到会话域对象中 req.getSession().setAttribute("username",username); //3.重定向到首页 resp.sendRedirect("/stu/index.jsp"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
listStudent.jsp
<%@ page import="java.util.ArrayList" %> <%@ page import="com.itheima.bean.Student" %><%-- Created by IntelliJ IDEA. User: 12270 Date: 2021/3/18 Time: 22:27 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %>查看学生 <%ArrayListstudents = (ArrayList <%}%>) session.getAttribute("students"); for (Student stu:students){ %>
姓名 | 年龄 | 成绩 |
---|---|---|
<%=stu.getUsername()%> | <%=stu.getAge()%> | <%=stu.getScore()%> |