PageContext request session application区别以及EL表达式

简介: PageContext request session application区别以及EL表达式

四个作用域的区别

  • pageContext 【PageContext】

作用域仅限于当前的页面。

还可以获取到其他八个内置对象。

  • request 【HttpServletRequest】

作用域仅限于一次请求, 只要服务器对该请求做出了响应。 这个域中存的值就没有了。

  • session 【HttpSession】

作用域限于一次会话(多次请求与响应) 当中。

  • application 【ServletContext】

整个工程都可以访问, 服务器关闭后就不能访问了。

EL表达式

是为了简化JSP代码,具体一点就是为了简化jsp里面写的那些java代码

  • 写法格式

${ }

<%
    pageContext.setAttribute("name", "page");
    request.setAttribute("name", "request");
    session.setAttribute("name", "session");
    application.setAttribute("name", "application");
  %>
  按普通手段取值<br>
  <%= pageContext.getAttribute("name")%>
  <%= request.getAttribute("name")%>
  <%= session.getAttribute("name")%>
  <%= application.getAttribute("name")%>
  <br>使用EL表达式取出作用域中的值<br>
  ${ pageScope.name }
  ${ requestScope.name }
  ${ sessionScope.name }
  ${ applicationScope.name }
<%
        String [] a = {"aa","bb","cc","dd"};
        pageContext.setAttribute("array", a);
      %>
      使用EL表达式取出作用域中数组的值<br>
      ${array[0] } , ${array[1] },${array[2] },${array[3] }
 %>

若要想先取值,必须先存值

pageContext.setAttribute("name", "zhangsan");
session.setAttribute("name", "lisi...");
  1. 如果是数组类型的:
<%
  String [] array = {"aa","bb","cc"}
  session.setAttribute("array",array);
  ${ array[1] } 
%>

2.如果是直接创建对象类型的,可以直接用对象名.属性名

<%
  User user = new User("zhangsan",18);
  session.setAttribute("u", user);
%>
${ u.name }  , ${ u.age } 

一般使用EL表达式,用的比较多的,都是从一个对象中取出它的属性值,比如取出某一个学生的姓名。

作用域相关对象

  • pageScope
  • requestScope
  • sessionScope
  • applicationScope

头信息相关对象

  • header
  • headerValues

参数信息相关对象

  • param
  • paramValues
  • cookie
    全局初始化参数
  • initParam


相关文章
|
3月前
|
缓存 Java 应用服务中间件
JSP的内置对象 request和response
这篇文章详细介绍了JSP的内置对象,包括request、response、out、session和application对象的使用方法和特性,以及如何通过这些对象处理HTTP请求和响应、管理会话和输出数据。
|
Java Spring
springMVC中获取request 对象
springMVC中获取request 对象
|
Java 应用服务中间件
Servlet三大作用域:Request、Session、Application
Servlet三大作用域:Request、Session、Application
219 0
|
Java
${pageContext.request.contextPath}无法解析乱码使用不了
${pageContext.request.contextPath}无法解析乱码使用不了
148 0
${pageContext.request.contextPath}无法解析乱码使用不了
|
Java
JSP慕课网之application、page、pageContext、config、exception
JSP慕课网之application、page、pageContext、config、exception
111 0
|
Java Maven
JSP 使用 ${pageContext.request.contextPath} 无效
通过 ${pageContext.request.contextPath}可在JSP 中取得当前的项目绝对路径,比如当前项目是 http://localhost:8080/demo, 则 ${pageContext.request.contextPath} 代表的就是 /demo,其中 / 代表 http://localhost:8080,所以一般使用${pageContext.request.contextPath} 定位资源。
|
Java 容器
JSP中的getAttribute与getParame的区别
JSP中的getAttribute与getParame的区别
121 0
Struts2中获取Request,Response的几种方法
    在Struts2中的没有像Struts1那样必须要在Action类中写个execute()方法,只需要是个返回字符串的方法 即可(有时候也不需要返回值),在struts2中经将原有的servlet中request参数和response参数封装在拦截器 中,可是有时候编程的时候仍然需要用到这两个参数。
1133 0
|
XML Java 数据处理
Struts2中的数据处理的三种方式对比(Action中三种作用域request,session,application对象)
1:在Action中如何获得作用域(request,session,application)对象;   取得Map(键值对映射集)类型的requet,session,application; 对数据操作的所有方法:(即把数据保存到域中) 主要使用的是方式2和方式3; 方式1:直接获取...
1123 0
JSP pageContext对象和Config对象
JSP内置对象 - pageContext (1)pageContext对象提供了对JSP页面中所有对象及名字空间的访问操作 (2)pageContext对象可以访问本页面的session,可以访问本页面的application对象的任意属性值 (3)pageContext对象是某个页面中所...