其他分享
首页 > 其他分享> > Jsp九大内置对象

Jsp九大内置对象

作者:互联网

1.九大内置对象

  1. PageContext【存东西】
  2. Request 【存东西】
  3. Response
  4. Session【存东西】
  5. Application(ServletContext)【存东西】
  6. config(ServletConfig)
  7. out
  8. page 【基本用不到】
  9. exception

新建pageContextDemo1.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%--内置对象--%>
<%
    pageContext.setAttribute("name1","falltime01");//保存的数据只在一个页面中有效
    request.setAttribute("name2","falltime02");//保存的数据只在依次请求中有效,请求转发后会携带这个数据
    session.setAttribute("name3","falltime03");//保存的数据只在一次会话中有效,从打开浏览器到关闭浏览器
    application.setAttribute("name4","falltime04");//保存的数据只在服务器中有效,从打开浏览器到关闭浏览器,从打开服务器到关闭服务器(ServletContext)


%>

<%--脚本片段中的代码会被原封不动的生成到.jsp.Java文件中,这里必须保证Java语法的正确性--%>
<%
    //
    String name1 = (String)pageContext.getAttribute("name1");
    String name2 = (String)pageContext.findAttribute("name2");
    String name3 = (String)pageContext.findAttribute("name3");
    String name4 = (String)pageContext.findAttribute("name4");
    String name5 = (String)pageContext.findAttribute("name5");
%>
<%--使用EL表达式输出--%>
<h1>取出的值为:</h1>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
<h3><%=name5%></h3>
</body>
</html>

image

新建pageContextDemo2.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%--脚本片段中的代码会被原封不动的生成到.jsp.Java文件中,这里必须保证Java语法的正确性--%>
<%
    //
    String name1 = (String)pageContext.getAttribute("name1");
    String name2 = (String)pageContext.findAttribute("name2");
    String name3 = (String)pageContext.findAttribute("name3");
    String name4 = (String)pageContext.findAttribute("name4");
    String name5 = (String)pageContext.findAttribute("name5");
%>
<%--使用EL表达式输出--%>
<h1>取出的值为:</h1>
<h3>${name1}</h3>
<h3>${name2}</h3>
<h3>${name3}</h3>
<h3>${name4}</h3>
<h3><%=name5%></h3>
</body>
</html>

结果(需要先请求一下pageContextDemo1.jsp然后再请求pageContextDemo2.jsp,不然都取不到值)

image

新建pageContextDemo3.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>


<%--
  public void setAttribute (String name,
			    Object attribute,
			    int scope)
  {
    switch (scope) {
    case PAGE_SCOPE:
      mPage.put (name, attribute);
      break;
    case REQUEST_SCOPE:
      mRequest.put (name, attribute);
      break;
    case SESSION_SCOPE:
      mSession.put (name, attribute);
      break;
    case APPLICATION_SCOPE:
      mApp.put (name, attribute);
      break;
    default:
      throw new IllegalArgumentException  ("Bad scope " + scope);
    }
  }
--%>

<%--内置对象--%>
<%
    pageContext.setAttribute("name1","falltime01", PageContext.REQUEST_SCOPE);
    //等价于 request.setAttribute("name1","falltime01");
%>
</body>
</html>

新建pageContextDemo4.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>

<%
    pageContext.forward("/index.jsp");
    // pageContext封装了此方法等价于request.getRequestDispatcher("/index.jsp").forward(request, response);
%>
</body>
</html>

request:客户端向服务器发送请求,产生的数据,用户看完就没用了,比如:新闻

session:客户端向服务器发送请求,产生的数据,用户用完一会还有用,比如:购物车

application:客户端向服务器发送请求,产生的数据,一个用户用完了,其他用户还可能使用,比如:聊天数据

标签:内置,请求,Title,新建,九大,jsp,服务器发送,Jsp,客户端
来源: https://www.cnblogs.com/CnFallTime/p/15966857.html