JavaWeb-05-JSP规范-02-JSP常见内置对象
JavaWeb-05-JSP规范-02-JSP常见内置对象
1.JSP内置对象:request
类型:HttpServletRequest
作用:在JSP文件运行时读取请求包信息,与Servlet在请求转发过程中实现数据共享。
演示:
-
新建一个网站,在默认的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%>
-
编写一个前端页面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> 密 码:<input type="password" name="passWord"> <br> <input type="submit" value="提交"> </form> </body> </html>
-
打开服务器,开始演示
2.JSP内置对象:session
类型:HttpSession
作用:JSP文件在运行时,可以通过session指向当前用户的私人储物柜,用于添加共享数据或者读取共享数据。
演示:
-
创建一个jsp文件session_01.jsp,将共享数据写入到当前session对象中
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%--将共享数据添加到当前session对象--%> <% // HttpSession session = requset.getSession();//执行JSP文件时自动创建 session.setAttribute("key1","张三"); %>
-
再创建一个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.JSP内置对象:application
类型:ServeltContext
作用:全局作用域对象,同一个网站中的Servlet和JSP,都可以通过当前网站的全局作用域对象实现数据共享
演示:
-
创建一个JSP文件application.jsp,读取全局作用域对象中的共享数据,写入响应体里
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String value = (String)application.getAttribute("key1"); %> 从全局作用域对象中读取到数据:<%=value%>
-
创建一个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);//请求转发 } }
-
开启服务器,开始演示