鱼C论坛

 找回密码
 立即注册
查看: 1192|回复: 1

[已解决]代码

[复制链接]
发表于 2023-6-8 13:40:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
使用MVC模式。视图部分由两个JSP页面构成,其中一个页面(insert.jsp)负责提供输入学生信息(学号、姓名、性别、年龄、所在系)的视图,即用户可以在该页面输入要添加的记录,然后将要添加的记录提交给servlet。Servlet负责插入记录到数据库的表中,然后查询数据库的表,并讲查询结果存储到Javabean数据模型当中,继而转存在List当中,然后请求视图的另一个JSP页面(showRecord.jsp)显示数据模型中的数据
最佳答案
2023-6-8 14:38:13
这里是一个简单的实现。这个实现并不完全按照MVC模式,因为JSP中既有视图也有一些控制器的功能,但它足够说明基本概念。

首先,创建一个JavaBean类用来表示学生信息:

  1. public class Student {
  2.     private int id;
  3.     private String name;
  4.     private String gender;
  5.     private int age;
  6.     private String department;

  7.     // Constructors, getters and setters...
  8. }
复制代码


其次,创建一个用来访问数据库的DAO类:

  1. public class StudentDao {
  2.     public void insert(Student student) {
  3.         // 代码用于将student插入到数据库
  4.     }

  5.     public List<Student> listAll() {
  6.         // 代码用于查询所有的学生并返回一个学生列表
  7.     }
  8. }
复制代码


然后,创建一个Servlet用来处理请求:

  1. @WebServlet("/student")
  2. public class StudentServlet extends HttpServlet {
  3.     private StudentDao studentDao = new StudentDao();

  4.     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  5.         Student student = new Student();
  6.         // 填充student对象
  7.         studentDao.insert(student);

  8.         List<Student> students = studentDao.listAll();
  9.         request.setAttribute("students", students);
  10.         request.getRequestDispatcher("/showRecord.jsp").forward(request, response);
  11.     }
  12. }
复制代码


创建 insert.jsp 页面用来输入学生信息:

  1. <form action="student" method="post">
  2.     <!-- 学生信息输入字段 -->
  3.     <input type="submit" value="Submit">
  4. </form>
复制代码


创建 showRecord.jsp 页面用来显示所有学生:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" %>
  2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  3. <html>
  4. <body>
  5. <table>
  6.     <c:forEach var="student" items="${students}">
  7.         <tr>
  8.             <td>${student.id}</td>
  9.             <td>${student.name}</td>
  10.             <td>${student.gender}</td>
  11.             <td>${student.age}</td>
  12.             <td>${student.department}</td>
  13.         </tr>
  14.     </c:forEach>
  15. </table>
  16. </body>
  17. </html>
复制代码


注意:这只是一个简单的实现,并未处理所有的边缘情况和错误。在实际的项目中,你应该使用像Spring MVC这样的框架来实现MVC模式,它提供了更完善的功能和更好的分层结构。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-6-8 14:38:13 | 显示全部楼层    本楼为最佳答案   
这里是一个简单的实现。这个实现并不完全按照MVC模式,因为JSP中既有视图也有一些控制器的功能,但它足够说明基本概念。

首先,创建一个JavaBean类用来表示学生信息:

  1. public class Student {
  2.     private int id;
  3.     private String name;
  4.     private String gender;
  5.     private int age;
  6.     private String department;

  7.     // Constructors, getters and setters...
  8. }
复制代码


其次,创建一个用来访问数据库的DAO类:

  1. public class StudentDao {
  2.     public void insert(Student student) {
  3.         // 代码用于将student插入到数据库
  4.     }

  5.     public List<Student> listAll() {
  6.         // 代码用于查询所有的学生并返回一个学生列表
  7.     }
  8. }
复制代码


然后,创建一个Servlet用来处理请求:

  1. @WebServlet("/student")
  2. public class StudentServlet extends HttpServlet {
  3.     private StudentDao studentDao = new StudentDao();

  4.     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  5.         Student student = new Student();
  6.         // 填充student对象
  7.         studentDao.insert(student);

  8.         List<Student> students = studentDao.listAll();
  9.         request.setAttribute("students", students);
  10.         request.getRequestDispatcher("/showRecord.jsp").forward(request, response);
  11.     }
  12. }
复制代码


创建 insert.jsp 页面用来输入学生信息:

  1. <form action="student" method="post">
  2.     <!-- 学生信息输入字段 -->
  3.     <input type="submit" value="Submit">
  4. </form>
复制代码


创建 showRecord.jsp 页面用来显示所有学生:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" %>
  2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  3. <html>
  4. <body>
  5. <table>
  6.     <c:forEach var="student" items="${students}">
  7.         <tr>
  8.             <td>${student.id}</td>
  9.             <td>${student.name}</td>
  10.             <td>${student.gender}</td>
  11.             <td>${student.age}</td>
  12.             <td>${student.department}</td>
  13.         </tr>
  14.     </c:forEach>
  15. </table>
  16. </body>
  17. </html>
复制代码


注意:这只是一个简单的实现,并未处理所有的边缘情况和错误。在实际的项目中,你应该使用像Spring MVC这样的框架来实现MVC模式,它提供了更完善的功能和更好的分层结构。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-4 21:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表