• JSP九大内置对象及四个作用域


    JSP九大内置对象及四大作用域概述

    Jsp九大内置对象及四大作用域概述:

      Jsp开发中,Jsp提供了9个内置对象,这些内置对象将由容器为用户进行实例化,用户直接使用即可。这9个内置对象是:pageContext、request、session,application、config,out,page,exception;常用的是前面5个,需要熟练掌握;

    Jsp开发中,可以保存数据,jsp提供了四种数据保存范围;分别是page, request, session, application;

    Jsp四大作用域:

    Page范围:只在一个页面中保存数据;javax.servlet.jsp.PageContext(抽象类)

    <%

    //内置对象pagecontext key--->value
    pageContext.setAttribute("name", "page王二小");
    pageContext.setAttribute("age", 18);
    %>
    <%
    String name=(String)pageContext.getAttribute("name");
    int age= (Integer)pageContext.getAttribute("age");
    %>
    <font>姓名:<%=name %></font></br>
    <font>年龄:<%=age %></font></br>

    Request范围:只在一个请求中保存数据;javax.servlet.http.HttpServletRequest(接口)

    requestContext.jsp

    代码:  

    <%
    //内置对象requestcontext key--->value
    request.setAttribute("name", "request王二小");
    request.setAttribute("age",18);
    %>
    <jsp:forward page="requestTarget.jsp" />

    requestTarget.jsp:

    <%

    String name=(String)request.getAttribute("name");
    int age=(Integer)request.getAttribute("age");
    %>
    <font>name:<%=name %></font></br>
    <font>age:<%=age %></font>

    Session范围:在一次会话范围中保存数据(保存在服务器里面,默认是半个小时),仅存单个用户使用;javax.servlet.http.HttpSession(接口)

     sessionContext.jsp:  

    <%
    //内置对象sessionContext key--->value
    session.setAttribute("name", "session王二小");
    session.setAttribute("age",18);
    %>
    <h1>session值设置完毕</h1>

     sessionTarget.jsp:

    <%
    String name=(String)session.getAttribute("name");
    int age=(Integer)session.getAttribute("age");
    %>
    <font>名字:<%=name%></font>
    <font>年龄:<%=age %></font>

    Application范围:在整个服务器上保存数据,所用用户共享;javax.servlet.ServletContext(接口)

    applicationScope.jsp:

    <%
    application.setAttribute("name", "application王二小");
    application.setAttribute("age",18);
    %>
    <h1>application设置完成</h1>

    applicationTarget.jsp: 

    <%
    String name=(String)application.getAttribute("name");
    int age=(Integer)application.getAttribute("age");
    %>
    <font>名字:<%=name%></font><br/>
    <font>年龄:<%=age %></font>

    关于request:

    如果要取到发送请求的信息。我们可以使用下面的代码:(在jsp里面导入包:<%@page import="java.util.*" %>   )

    <%

    Enumeration enu=request.getHeaderNames();
    while(enu.hasMoreElements()){
    String headerName=(String)enu.nextElement();
    String headerValue=request.getHeader(headerName);
    %>
    <h4><%=headerName %>&nbsp;<%=headerValue %></h4>
    <%
    }
    %>

    运行结果如图所示:

     

  • 相关阅读:
    document.readyState的使用
    Selenium操作滚动条
    seq2seq模型以及其tensorflow的简化代码实现
    MOXA的Nport5600初始密码
    预测功率和电流之间的关系
    KNN与SVM对比&SVM与逻辑回归的对比
    拉格朗日乘子法以及KKT条件
    复合熵、条件熵和信息增益
    softmax为什么使用指数函数?(最大熵模型的理解)
    极大似然、最小二乘和梯度下降
  • 原文地址:https://www.cnblogs.com/zyxsblogs/p/9572152.html
Copyright © 2020-2023  润新知