鱼C论坛

 找回密码
 立即注册
查看: 620|回复: 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类用来表示学生信息:
public class Student {
    private int id;
    private String name;
    private String gender;
    private int age;
    private String department;

    // Constructors, getters and setters...
}

其次,创建一个用来访问数据库的DAO类:
public class StudentDao {
    public void insert(Student student) {
        // 代码用于将student插入到数据库
    }

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

然后,创建一个Servlet用来处理请求:
@WebServlet("/student")
public class StudentServlet extends HttpServlet {
    private StudentDao studentDao = new StudentDao();

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

        List<Student> students = studentDao.listAll();
        request.setAttribute("students", students);
        request.getRequestDispatcher("/showRecord.jsp").forward(request, response);
    }
}

创建 insert.jsp 页面用来输入学生信息:
<form action="student" method="post">
    <!-- 学生信息输入字段 -->
    <input type="submit" value="Submit">
</form>

创建 showRecord.jsp 页面用来显示所有学生:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<table>
    <c:forEach var="student" items="${students}">
        <tr>
            <td>${student.id}</td>
            <td>${student.name}</td>
            <td>${student.gender}</td>
            <td>${student.age}</td>
            <td>${student.department}</td>
        </tr>
    </c:forEach>
</table>
</body>
</html>

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

使用道具 举报

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

首先,创建一个JavaBean类用来表示学生信息:
public class Student {
    private int id;
    private String name;
    private String gender;
    private int age;
    private String department;

    // Constructors, getters and setters...
}

其次,创建一个用来访问数据库的DAO类:
public class StudentDao {
    public void insert(Student student) {
        // 代码用于将student插入到数据库
    }

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

然后,创建一个Servlet用来处理请求:
@WebServlet("/student")
public class StudentServlet extends HttpServlet {
    private StudentDao studentDao = new StudentDao();

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

        List<Student> students = studentDao.listAll();
        request.setAttribute("students", students);
        request.getRequestDispatcher("/showRecord.jsp").forward(request, response);
    }
}

创建 insert.jsp 页面用来输入学生信息:
<form action="student" method="post">
    <!-- 学生信息输入字段 -->
    <input type="submit" value="Submit">
</form>

创建 showRecord.jsp 页面用来显示所有学生:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<table>
    <c:forEach var="student" items="${students}">
        <tr>
            <td>${student.id}</td>
            <td>${student.name}</td>
            <td>${student.gender}</td>
            <td>${student.age}</td>
            <td>${student.department}</td>
        </tr>
    </c:forEach>
</table>
</body>
</html>

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-26 13:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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