JSP实用教程第七章--------MVC模式

文章介绍了MVC模式的基本概念,阐述了在JSP中如何实现MVC结构,包括模型(Model)由JavaBean表示,视图(View)通过JSP页面展示,控制器(Controller)由servlet控制。同时,详细讨论了requestbean、sessionbean和applicationbean三种不同生命周期的JavaBean在MVC中的角色。
摘要由CSDN通过智能技术生成

目录

7.1 MVC模式介绍:

7.2 JSP中的MVC模式:

7.3 模型的生命周期与视图更新:

7.3.1 request bean:

7.3.2 session bean:

7.3.3 application bean:

7.1 MVC模式介绍:

MVC(Model-View-Controller)模式是一种常用的软件架构模式,它将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。模型负责封装数据和逻辑,视图负责展示数据,控制器负责接收用户输入并调用模型和视图来处理请求。

7.2 JSP中的MVC模式:

在JSP中可以使用MVC模式来组织代码,实现分层架构。

 在 JSP 中,MVC 模式的实现如下:

模型(Model):一个或多个 JavaBean 对象,用于存储数据。JavaBean 主要提供简单的 setXxx 方法和 getXxx 方法,在这些方法中不涉及对数据的具体处理细节,一边增强模型的通用性。


视图(View):一个或多个 JSP 页面,其作用是向控制器提交必要的数据和显示数据。JSP 页面可以使用 HTML 标记、JavaBean 标记以及 JAVA 程序片或 JAVA 表达式来显示数据。视图的主要工作就是显示数据,对数据的逻辑操作由控制器负责。


控制器(Controller):一个或多个 servlet 对象,根据视图提交的要求进行数据处理操作,并将有关的结果存储到 JavaBean 中,然后 servlet 使用转发或重定向的方式请求视图中的某个 JSP 页面显示数据。例如让某个 JSP 页面通过使用 JavaBean 标记、JAVA 程序片或 JAVA 表达式显示控制器存储在 JavaBean 中的数据。

例如,可以使用JavaBean或servlet来实现模型层,使用JSP页面来实现视图层,使用servlet或过滤器来实现控制器层。

首先,我们创建一个JavaBean,用来封装数据和逻辑。例如,下面是一个简单的Person类,它定义了一个name属性:

public class Person {
    private String name;
 
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}


然后,我们创建一个servlet,用来接收用户输入并调用模型和视图来处理请求。例如,下面是一个简单的HelloServlet类,它接收用户提交的name参数,并将其存储在request对象中,然后转发到JSP页面:

public class HelloServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("name");
        Person person = new Person();
        person.setName(name);
        request.setAttribute("person", person);
        request.getRequestDispatcher("/hello.jsp").forward(request, response);
    }
}

最后,我们创建一个JSP页面,用来展示数据。例如,下面是一个简单的hello.jsp页面,它从request对象中获取person对象,并展示其name属性:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
<%
    Person person = (Person) request.getAttribute("person");
%>
Hello, <%= person.getName() %>!
</body>
</html>

7.3 模型的生命周期与视图更新:

7.3.1 request bean:

request bean是一种特殊的JavaBean,它的生命周期与HTTP请求相同。可以使用useBean动作标记或EL表达式来创建和访问request bean。例如:

<jsp:useBean id="person" class="com.example.Person" scope="request" />

7.3.2 session bean:

session bean是一种特殊的JavaBean,它的生命周期与HTTP会话相同。可以使用useBean动作标记或EL表达式来创建和访问session bean。例如:

<jsp:useBean id="person" class="com.example.Person" scope="session" />

7.3.3 application bean:

application bean是一种特殊的JavaBean,它的生命周期与Web应用相同。可以使用useBean动作标记或EL表达式来创建和访问application bean。例如:

<jsp:useBean id="person" class="com.example.Person" scope="application" />

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值