学生管理系统 垃圾版
实行功能
代码目录
index页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>学生管理系统</title> </head> <body> <a href="stu/addStudent.html">添加学生</a> <a href="/stu/listStudentServlet">查看学生</a> </body> </html>
添加学生页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>添加学生</title> </head> <body> <form action="/stu/addStuServlet" method="get" autocomplete="off"> 学生姓名:<input type="text" name="username"><br> 学生年龄:<input type="number" name="age"><br> 学生成绩:<input type="number" name="score"><br> <button type="submit">保存</button> </form> </body> </html>
添加学生Servlet
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("/addStuServlet") public class AddStudentServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //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.setContentType("text/html;charset=UTF-8"); resp.getWriter().write("添加成功。2秒后自动跳转到首页"); resp.setHeader("Refresh","2;URL=/stu/index.html"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
学生实体类
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 + '}'; } }
展示学生Servlet
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.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; /** * 实现查看功能 * */ @WebServlet("/listStudentServlet") public class ListStudentServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //1.创建一个字符输入流对象,关联读取的文件 BufferedReader br=new BufferedReader(new FileReader("d:\\stu.txt")); //2.创建集合对象,保存Student对象 ArrayList<Student> list=new ArrayList<>(); //3.循环读取文件中的数据,将数据封装到Student对象中,在把多个对象添加到集合中 String line; while((line= br.readLine())!=null){ //张三,23,90 Student stu=new Student(); String[] split = line.split(","); stu.setUsername(split[0]); stu.setAge(Integer.parseInt(split[1])); stu.setScore(Integer.parseInt(split[2])); list.add(stu); } //4.遍历集合,将数据响应给浏览器 resp.setContentType("text/html;charset=UTF-8"); //获取输出流对象 PrintWriter pw = resp.getWriter(); for(Student s:list){ pw.write(s.getUsername()+","+s.getAge()+","+s.getScore()); pw.write("<br>"); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }