JavaWeb-05-JSP规范-03-Servlet和JSP文件分工

该博客详细介绍了Servlet和JSP在JavaWeb开发中的分工。Servlet主要负责业务处理,将结果存入请求作用域对象,而JSP则负责展示这些数据。通过请求转发,Servlet调用JSP,JSP从请求对象中读取数据并呈现到HTML表格中。示例代码展示了如何在OneServlet中创建Map并传递给index_02.jsp,JSP则遍历Map并显示用户数据。
摘要由CSDN通过智能技术生成

JavaWeb-05-JSP规范-03-Servlet和JSP文件分工

1.Servlet和JSP之间的分工

  1. Servlet:负责处理业务并得到【处理结果】---->大厨
  2. JSP:不负责处理业务,主要人物是将Servlet中的【处理结果】写入响应体---->传菜员

2.Servlet和JSP之间的调用关系

Servlet工作完毕后,一般通过请求转发方式,向Tomcat服务器申请调用JSP

3.Servlet和JSP之间的数据共享

一般通过【请求作用域对象】来实现数据共享。

  1. Servlet将处理结果添加到请求作用域对象后,通过请求转发将请求对象交给JSP文件。
  2. JSP文件运行时读取请求作用域对象中的处理结果。、

4.演示

4.1演示流程

创建一个网站MyWeb,创建一个Servelt接口实现类【OneServlet】和一个JSP文件【index_02.jsp】。

在OneServlet中将一个存储着用户数据的Map集合放入请求作用域对象中,然后通过请求转发方式调用index_02.jsp文件。

index_02.jsp文件读取请求作用域对象中的Map集合,然后将其中的用户数据写入到html表格中。

4.2代码实现

4.2.1OneServlet
package com.tsccg.controller;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
 * @Author: TSCCG
 * @Date: 2021/08/23 15:08
 */
public class OneServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Map<Integer,String> map = new HashMap<>();
        map.put(1,"张三");
        map.put(2,"李四");
        map.put(3,"王五");
        map.put(4,"赵六");
        request.setAttribute("key1",map);
        request.getRequestDispatcher("index_02.jsp").forward(request,response);
    }
}
4.2.2index_02.jsp
<%@ page import="java.util.Map" %>
<%@ page import="java.util.Set" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
  Map<Integer,String> map = (Map<Integer, String>) request.getAttribute("key1");
%>
<%--输出--%>
<table border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td>编号</td>
    <td>姓名</td>
  </tr>
<%
    Set<Map.Entry<Integer,String>> users = map.entrySet();
    for (Map.Entry<Integer, String> user : users) {
%>
    <tr>
      <td><%=user.getKey()%></td>
      <td><%=user.getValue()%></td>
    </tr>
<%
    }
%>
</table>

4.3开始演示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TSCCG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值