9-案例- 学生管理系统 -3

网友投稿 630 2022-11-16

9-案例- 学生管理系统 -3

9-案例- 学生管理系统 -3

package com.itheima.student;public class Student { private String username; private int age; private int grade; public Student() { } public Student(String username, int age, int grade) { this.username = username; this.age = age; this.grade = grade; } 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 getGrade() { return grade; } public void setGrade(int grade) { this.grade = grade; } @Override public String toString() { return "Student{" + "username='" + username + '\'' + ", age=" + age + ", grade=" + grade + '}'; }}

案例实现 - 登录功能 1. 创建一个Web项目 2. 在web目录下创建一个index.jsp 3. 在页面中获取会话域中的用户名,获取到了就显示添加和查询功能的超链接,没有获取到就显示登录功能的超链接 4. 在web目录下创建一个login.jsp,实现登录页面 5. 创建loginStudentServlet,获取用户名和密码 6. 如果用户为空,则重定向到登录页面 7. 如果不为空,将用户添加到会话域中,在重定向到首页

实现代码1: index.jsp 代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 学生管理信息系统 <%-- 获取会话域中的数据 如果获取到了则显示添加和查看功能 如果没获取到则显示登录功能的超链接 --%> <% Object username = session.getAttribute("username"); if (username == null){ %> 请登录 <%} else {%> 添加学生 查看学生 <%}%>

代码实现2: login.jsp 代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 登陆页面

学生姓名:
学生密码:

实现代码3: loginStudentServlet

package com.itheima.servlet;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.javax.servlet.javax.servlet.java.io.IOException;//学生登录功能@WebServlet("/loginStudentServlet")public class loginStudentServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //1. 获取用户名和密码 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. 重定向到首页index.jsp resp.sendRedirect("/stu/index.jsp "); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); }}

案例实现 - 添加功能 1. 创建一个web目录先创建一个addStudent.jsp,实现添加学生的表单项 2. 创建AddStudentServlet,获取学生信息并保存到文件中 3. 通过定时刷新功能2秒后跳转 4. 在web目录下创建一个login.jsp,实现登录页面实现代码4: addStudent.jsp 代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 添加学生

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

实现代码5: AddStudentServlet

package com.itheima.servlet;import com.itheima.student.Student;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.javax.servlet.javax.servlet.java.io.*;@WebServlet("/addStudentServlet")// 映射路径public class addStudentServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取表单中的数据 String username = req.getParameter("username"); String age = req.getParameter("age"); String grade = req.getParameter("grade"); //创建学生对象并赋值 Student stu = new Student(); stu.setUsername(username); stu.setAge(Integer.parseInt(age)); stu.setGrade(Integer.parseInt(grade)); //将学生对象的数据保存到 "I:\\stu2.txt"文件中 BufferedWriter bw = new BufferedWriter(new FileWriter("I:\\stu2.txt",true)); bw.write(stu.getUsername()+","+stu.getAge()+","+stu.getGrade()); bw.newLine(); bw.close(); //通过定时刷新功能响应给浏览器 resp.setContentType("text/html;charset=UTF-8"); resp.getWriter().write("添加成功. 2秒后自动跳转到首页..."); resp.setHeader("Refresh","2;URL=/stu/index.jsp"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { }}

案例实现 - 添加功能 1. 创建listStudentServlet,读取文件中的学生信息到集合中 2. 将集合添加到会话域中 3. 重定向到listStudent.jsp页面上 4. 在web目录下创建一个listStudent.jsp 5. 定义表格标签, 在表格中获取会话域的集合数据,将数据显示在页面上实现代码6: listStudentServlet

package com.itheima.servlet;import com.itheima.student.Student;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.javax.servlet.javax.servlet.java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;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("I:\\stu2.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. 将集合对象存入到会话域中 req.getSession().setAttribute("students",list); //5. 重定向到学生列表页面 resp.sendRedirect("/stu/listStudent.jsp"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); }}

实现代码7: listStudent.jsp

package com.itheima.servlet;import com.itheima.student.Student;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.javax.servlet.javax.servlet.java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;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("I:\\stu2.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. 将集合对象存入到会话域中 req.getSession().setAttribute("students",list); //5. 重定向到学生列表页面 resp.sendRedirect("/stu/listStudent.jsp"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); }}

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

上一篇:app开发和小程序开发(app开发和小程序开发哪个难)
下一篇:如何在npm官网中上传自己的包
相关文章

 发表评论

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