jsp内置对象和el表达式语言常见api

文章介绍了JSP的四种域对象——page、request、session和application的生命周期及其使用场景,强调了它们的优先顺序和作用范围。同时,详细讲解了JSP的内置对象如out、page、pageContext、request、response和session的使用方法和功能,包括设置属性、获取信息等操作。
摘要由CSDN通过智能技术生成
四大域对象

 

page :jsp页面被执行,生命周期开始, jsp 页面执行完毕,生命周期结束。
request :用户发送一个请求,开始,服务器返回响应,请求结束,生命周期结束。
session :用户打开浏览器访问,创建 session( 开始 ),session 超时或被声明失效,该对象生命周期结
束。
application web 应用加载的时候创建。 Web 应用被移除或服务器关闭,对象销毁
TEST
    <%
        pageContext.setAttribute("name_pageContext","pageContext");
        request.setAttribute("name_request","request");
        session.setAttribute("name_session","session");
        application.setAttribute("name_application","application");
    %>

    ${name_pageContext}
    ${name_request}
    ${name_session}
    ${name_application}
优先顺序:虽然四个域对象都可以存取数据。在使用上它们是有优先顺序的。四个域在使用的时
候,优先顺序分别是,他们从小到大的范围的顺序。
pageContext < request < session < application
如果统一页面传递数据,可以使用 pageContext
如果同一个请求传递页面,建议使用 request
如果不同请求间,但是同一会话,可以使用 session
application 用来保存共享数据的
JSP 内置对象

 练习:

   out对象:在JSP页面中,经常需要向客户端发送文本内容,这时可以使用out对象来实现。<br>
  <%
    out.println("你好1");
  %>
  <%="你好2"%>
  <br>
  <%="--------------------------------------------------------------------------"%><br>
  page对象:本页面取得,服务器跳转后无效。所设置的属性仅在当前页面内有效。<br>
  <%!Object object;%>
  <ul>
    <li>getClass()方法的返回值:<%=page.getClass() %>></li>
    <li>hashCode()方法的返回值:<%=page.hashCode() %></li>
    <li>toString()方法的返回值:<%=page.toString() %></li>
    <li>与Object对象比较的返回值:<%=page.equals(object) %></li>
    <li>与this对象比较的返回值:<%=page.equals(this) %></li>
  </ul>
  ${name_pageContext}
  ${name_request}
  ${name_session}
  ${name_application}
  <%="--------------------------------------------------------------------------"%><br>
  pageContext 对象<br>
  <%
    pageContext.setAttribute("name","pageContext");
  %>
  <%="pageContext中的name值:"+pageContext.getAttribute("name")%>
  ${name}
  <%pageContext.removeAttribute("name");%><br>
  <%="pageContext中的name值:"+pageContext.findAttribute("name")%><br>
  <%="--------------------------------------------------------------------------"%><br>
  request对象:所设置的属性仅在一次请求的范围内有效。<br>
  <%="按照参数名称,获取获取请求中的参数值:"+request.getParameter("id")%><br>
  <%="获取当前应用在服务器端的真实路径:"+request.getRealPath("")%><br>
  <%="项目运行时的应用的访问名称:"+request.getContextPath()%><br>
  <%="获取当前请求的方式:"+request.getMethod()%><br>
  <%="获取发起本次请求的客户端IP地址:"+request.getRemoteAddr()%><br>
  <%="获取服务器本地的IP地址:"+request.getLocalAddr()%><br>
  <%request.setAttribute("name1","request");%><br>
  <%="request中的name1值:"+request.getAttribute("name1")%><br>
  <%="pageContext中的name1值:"+pageContext.findAttribute("name1")%><br>
  <%="--------------------------------------------------------------------------"%><br>
  response 对象<br>
  <%
    //response.sendRedirect("login.jsp");
    //重定向到login.jsp页面
   // response.sendRedirect("https://www.baidu.com/");
    //重定向到百度页面
  %>
  <%="--------------------------------------------------------------------------"%><br>
  session对象:无论客户端还是服务端都可以取得,但是现在重新开启一个新的浏览器,则无法取得之前设置的session了,因为每一个session值保存在当前浏览器中,并在相关的页面取得,对于服务器而言,每一个连接到它的客户端都是一个session<br>
  <%="获取当前Session会话对象的ID:"+session.getId()%>
  <%="获取当前Session会话对象的创建时间:"+session.getCreationTime()%>
  <%="本次会话最后一次访问时间"+session.getLastAccessedTime()%>
  <%="--------------------------------------------------------------------------"%><br>
  application对象:application对象用于保存所有应用程序中的公有数据。它在服务器启动时自动创建,在服务器停止时销毁。当application对象没有被销毁时,所有用户都可以共享该application对象。与session对象相比,application对象的生命周期更长,类似于系统的“全局变量”。
  <%="--------------------------------------------------------------------------"%><br>
  <%=pageContext.getAttribute("name_pageContext")%>
  <%=request.getAttribute("name_request")%>
  <%=session.getAttribute("name_session")%>
  <%=application.getAttribute("name_application")%>
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值