6-案例- 学生管理系统 -2

网友投稿 544 2022-11-16

6-案例- 学生管理系统 -2

6-案例- 学生管理系统 -2

案例效果

image.png

资源准备

首页实现代码:

学生管理信息系统 添加学生 查看学生

添加页面实现代码:

添加学生

学生姓名:
学生年龄:
学生成绩:

添加功能实现

创建AddStudentServlet类, 继承HttpServlet重写doGet() 和doPost方法获取表单中的数据将获取到的数据封装成Student对象将Student对象中的数据保存到I: \stu.txt文件中6 .通过定时刷新功能完成对浏览器的响应

实现代码:

//实现添加功能@WebServlet("/AddStudentServlet")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 grade = req.getParameter("grade"); //2. 创建学生对象并赋值 Student student = new Student(); student.setUsername(username); student.setAge(Integer.parseInt(age)); student.setGrade(Integer.parseInt(grade)); //3. 将学上对象的数据保存到 I: \\stu.txt append参数=true 是启用文件续写 BufferedWriter bw = new BufferedWriter(new FileWriter("I:\\stu.txt",true)); bw.write(student.getUsername()+","+student.getAge()+","+ student.getGrade()); bw.newLine(); bw.close(); //4. 通过定时刷新功能响应给浏览器 resp.setContentType("text/html;charset=UTF-8"); resp.getWriter().write("添加成功,3秒后自动跳转到首页"); resp.setHeader("ReFresh","3;URL=/stu/index.html"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req,resp); }}

查看功能实现

创建listStudentServlet类, 继承HttpServlet重写doGet和doPost方法通过字符输入流读取I:\stu.txt文件的数据将读取的数据封装到Studnet对象中将多个Student对象保存到集合中遍历集合,将数据响应到浏览器

实现代码:

//实现查看功能@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("I:\\stu.txt")); //2. 创建一个集合对象,用于保存Student对象 ArrayList list = new ArrayList<>(); //3. 循环读取文件中的数据,将数据封装到Student对象中. 再把多个学生对象添加到集合中 String line; while ((line = br.readLine()) != null){ Student stu = new Student(); String[] arr = line.split(","); stu.setUsername(arr[0]); stu.setAge(Integer.parseInt(arr[1])); stu.setGrade(Integer.parseInt(arr[2])); list.add(stu); } //4. 遍历集合,将数据响应给浏览器 //设置字符集 resp.setContentType("text/html;charset=UTF-8"); //4.1获取输出流 PrintWriter pw = resp.getWriter(); for (Student student : list) { pw.write(student.getUsername()+","+ student.getAge()+","+student.getGrade()); pw.write("
"); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Docker容器——在Github上面的一本关于Docker的书籍
下一篇:SpringDataJpa的@Query注解报错的解决
相关文章

 发表评论

暂时没有评论,来抢沙发吧~