JavaWeb-05-JSP规范-02-JSP常见内置对象

JavaWeb-05-JSP规范-02-JSP常见内置对象

1.JSP内置对象:request

类型:HttpServletRequest

作用:在JSP文件运行时读取请求包信息,与Servlet在请求转发过程中实现数据共享。

演示:

  1. 新建一个网站,在默认的index.jsp文件中,编写代码,通过内置对象request读取请求包中的请求参数,然后将请求参数写入到响应包里,展示浏览器上。

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%
      String userName = request.getParameter("userName");
      String password = request.getParameter("passWord");
    %>
    来访用户名:<%=userName%>
    <br>
    来访用户密码:<%=password%>
    
  2. 编写一个前端页面index.html,通过表单访问index.jsp,同时发送请求参数

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>test</title>
    </head>
    <body>
        <form action="/MyWeb/index.jsp" method="get">
            用户名:<input type="text" name="userName">
            <br>
            密&nbsp;&nbsp;&nbsp;码:<input type="password" name="passWord">
            <br>
            <input type="submit" value="提交">
        </form>
    </body>
    </html>
    
  3. 打开服务器,开始演示

2.JSP内置对象:session

类型:HttpSession

作用:JSP文件在运行时,可以通过session指向当前用户的私人储物柜,用于添加共享数据或者读取共享数据。

演示:

  1. 创建一个jsp文件session_01.jsp,将共享数据写入到当前session对象中

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%--将共享数据添加到当前session对象--%>
    <%
    //    HttpSession session = requset.getSession();//执行JSP文件时自动创建
        session.setAttribute("key1","张三");
    %>
    
  2. 再创建一个jsp文件session_02.jsp,从当前session对象中读取共享数据,并写入到响应体中

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%--从当前session对象中读取共享数据--%>
    <%
        String value = (String)session.getAttribute("key1");
    %>
    <%--将共享数据写入到响应体中--%>
    session_02.jsp从当前session对象中读取数据:<%=value%>
    
  3. 打开服务器,开始演示

3.JSP内置对象:application

类型:ServeltContext

作用:全局作用域对象,同一个网站中的Servlet和JSP,都可以通过当前网站的全局作用域对象实现数据共享

演示:

  1. 创建一个JSP文件application.jsp,读取全局作用域对象中的共享数据,写入响应体里

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%
        String value = (String)application.getAttribute("key1");
    %>
    从全局作用域对象中读取到数据:<%=value%>
    
  2. 创建一个Servlet接口实现类OneServlet,将共享数据添加到全局作用域对象application中,并请求转发到application.jsp。

    package com.tsccg.controller;
    
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    /**
     * @Author: TSCCG
     * @Date: 2021/08/23 14:12
     */
    public class OneServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            ServletContext application = request.getServletContext();
            application.setAttribute("key1","李四");
            request.getRequestDispatcher("/application.jsp").forward(request,response);//请求转发
        }
    }
    
  3. 开启服务器,开始演示

posted @ 2021-08-23 14:25  TSCCG  阅读(34)  评论(0编辑  收藏  举报