Java EE JSP内置对象及表达式语言

一、JSP内置对象

JSP根据Servlet API规范提供了一些内置对象,开发者不用事先声明就可使用标准变量来访问这些对象。

JSP提供了9种内置对象:

(一)、request

简述:

JSP编程中最常用的对象,代表来自客户端的请求,调用request对象相应的方法可以获取关于客户请求的信息。

常见方法的用法示例:

 1     <font size=5>
 2     <br>客户端使用的协议是:
 3     <%
 4         String protocol = request.getProtocol();
 5         out.println(protocol);
 6     %>
 7     <br>获取接收客户提交信息的页面:
 8     <%
 9         String path = request.getServletPath();
10         out.println(path);
11     %>
12     <br>获取客户提交信息的长度:
13     <%
14         int length = request.getContentLength();
15         out.println(length);
16     %>
17     <br>获取HTTP头文件中User-Agent的值:
18     <%
19         String headerFirst = request.getHeader("User-Agent");
20         out.println(headerFirst);
21     %>
22     <br>获取HTTP头文件中accept的值:
23     <%
24         String headerSecond = request.getHeader("accept");
25         out.println(headerSecond);
26     %>
27     <br>获取HTTP头文件中Host的值:
28     <%
29         String headerThird = request.getHeader("Host");
30         out.println(headerThird);
31     %>
32     <br>获取HTTP头文件中accept-encoding的值:
33     <%
34         String headerFourth = request.getHeader("accept-encoding");
35         out.println(headerFourth);
36     %>
37     <br>获取客户的IP地址:
38     <%
39         String IP = request.getRemoteAddr();
40         out.println(IP);
41     %>
42     <br>获取客户机的名称:
43     <%
44         String clientName = request.getRemoteHost();
45         out.println(clientName);
46     %>
47     <br>获取服务器的名称:
48     <%
49         String serverName = request.getServerName();
50         out.println(serverName);
51     %>
52     <br>获取服务器的端口号:
53     <%
54         int serverPort = request.getServerPort();
55         out.println(serverPort);
56     %>
57     </font>

(二)、response

简述:

该对象用于向客户端发送数据,例如Cookie、HTTP文件头信息等数据。

通过response对象组织发送到客户端的信息,但组织方式比较底层故不建议一般程序开发人员使用,一般需向客户端发送文字信息时直接用out对象。

常见方法的用法说明及示例:

①、addCookie(Cookie cookie):向response对象添加一Cookie对象来保存客户端的用户信息,通过request对象的getCookies()方法获取该Cookie。

1 Cookie cookie = new Cookie("name","dlut");
2 response.addCookie(cookie);

②、addHeader(String name,String value):向response对象添加HTTP文件头,该头文件会传到客户端,若同名文件头存在则覆盖原来的文件头。

③、containsHeader(String name):判断response对象中指定名字的HTTP文件头是否存在。

④、sendError(int sc):向客户端发送错误信息。

⑤、setHeader(String name,String value):设定指定名字的HTTP文件头的值,若该值存在改值将被新值覆盖。

1 eg:让网页每隔5秒刷新一次
2 response.setHeader("Refresh","5");

⑥、setContentType(String value):设定返回response对象的类型。

⑦、sendRedirect(String url):将请求重新定义到一个新的页面。

(三)、out

简述:

out对象表示向客户端发送数据的对象,通过该对象发送的内容将在浏览器上显示,属于文本。

out对象内部包含了一个缓冲区。

常用方法:

print()、println()、clear()、clearBuffer()、flush()、getBufferSize()及getRemaining()

(四)、session

简述:

会话(session)是同一个用户发起的多个请求的集合,当用户第一次向站点发送请求时,服务器会创建一会话(session)对象,并为该对象分配一个唯一的会话ID,该会话ID作为每个请求的一部分传递,以此将用户与会话对象匹配便于让服务器跨多个请求记住客户机的状态。

会话(session)中保存和检索的信息必须是Java Object对象,而不是int等基本数据类型。

用法说明:

1.获取会话(session)对象

通过调用HttpServletRequest的getSession()获取当前请求的session对象。通常通过制定getSession()的参数为true使不存在现成的会话时自动创建一会话对象。

1 HttpSession session = request.getSession(true);

HttpSession对象生存与服务器上,通过Cookie或URL这类后台机制自动关联到请求的发送者。

2.存储与读取属性值

会话对象提供了一个内建的数据结构,该结构可以保存任意数量的键值对。

(1).存储

通过调用session对象的setAttribute(String name,Object object)方法存储属性值。

(2).读取

通过调用session对象的getAttribute(String name)方法读取属性值。

(五)、application

简述:

该对象代表运行在服务器上的Web应用程序,相当于Servlet上下文。

该对象一旦创建后会一直保持下去直至服务器关闭。

常见方法的用法说明:

方法名称 方法说明
getAtteibute(String name) 返回由name指定名字的application对象属性的值,该值为一Object对象。
setAttribute(String name,Object object) 用object初始化某个属性,该属性由name指定。
getAtteibuteNames() 返回所有application对象属性的名字,结果集是一Enumeration(枚举)类的实例。
getInitParameter(String name) 返回application初始化参数属性值,属性由name指定。
getServerInfo() 获得当前版本Servlet编译器的信息。
getMimeType() 获取组件MIME的类型。
getRealPath() 获取组件在服务器上的真实路径。

(六)、config

简述:

config内置对象是ServletConfig类的一个实例,用于JSP引擎在Servlet初始化时,通过config向它(Servlet)传递信息。这种信息可以是属性名/值匹配的参数,也可以是通过ServletContext对象传递的服务器的有关信息。一般在JSP开发中很少用到config内置对象,只有在编写Servlet时若需要重载Servlet的init()方法时才会用到。

常用方法:

方法名称 方法说明
getServletContext() 返回 一个含有服务器相关信息的ServletContext对象。
getInitParameter(String name) 返回初始化参数的值
getInitParameterNames() 返回包含了Servlet初始化所需要的所有参数,返回类型是枚举型

(七)、pagecontext

简述:

pageContext内置对象是一个比较特殊的对象,它相当于页面中所有其他对象功能的最大集成者,即使用它可以访问到本页面中所有其他的对象,例如前面已经描述的request、response、out和page对象等。由于在JSP中request和response等对象本来就可以通过直接调用方法使用,所以pageContext对象在实际JSP开发中很少使用到。

常用方法:

方法名称 方法说明
getRequest() 返回当前页面中的request对象。
getResponse() 返回当前页面中的response对象。
getSession() 返回当前页面中的session对象。
getServletContext() 返回当前页面中的application对象。
getPage() 返回当前页面中的page对象。
getOut() 返回当前页面中的out对象。
getException() 返回当前页面中的exception对象。
getServletConfig() 返回当前页面中的config对象。
setAttribute(String name) 给指定的属性名设置属性值。
getAttribute(String name) 根据属性名找到相应的属性值。
setAttribute(String name, Object obj, int scope) 在给定的范围内设置相应的属性值。
getAttribute(String name, int scope) 在给的范围内获取相应的属性值。
findAttribute(String name) 寻找一个属性并返回,如果查找不到则返回null。
removeAttribute(String name) 通过属性名删除掉某个属性。
removeAttribute(String name, int scope) 在指定的某个范围里删除某个属性。
getAttributeScope(String name,int scope) 返回某属性的作用域。
getAttributeNamesInScope(int scope) 返回指定范围内的所有属性名的枚举。
release() 释放pageContext占据的所有资料。
forward(String relativeURLpath) 使用当前页面重导到另一个页面。
include(String relativeURLpath) 使用当前位置包含的另一个页面。

(八)、page

简述:

page对象有点类似于Java编程中的this指针,就是指当前JSP页面本身。page是java.lang.Object类的对象。page对象在实际开发过程中并不经常使用。

常用方法:

方法名称 方法说明
getClass() 返回当时Object的类。
hashCode() 返回此时Object的哈希代码。
toString() 将此时的Object类转换成字符串。
equals(Object object) 比较此对象是否与指定的对象相等。
copy(Object object) 将此对象复制到指定的对象中。
clone() 对此对象进行克隆。

(九)、exception

简述:

该对象用来处理JSP文件在执行时所有发生的错误及异常。

常用方法:

方法名称 方法说明
getMessage() 返回错误信息。
printStackTrace() 以标准错误形式输出一个错误及错误的堆栈。
toString() 以字符串形式返回一个对异常的描述。

注意事项:(很重要)

必须在<%@page isErrorPage="true"%>的情况下才可以使用内嵌对象exception。

二、JSP内置对象对应类型及作用范围

JSP内置对象 对应类型 作用范围
request javax.servlet.servletRequest request
response javax.servlet.servletResponse page
session java.servlet.http.HttpSession session
application java.servlet.servletContext application
page java.lang.Object page
out java.servlet.jsp.JspWrite page
pagecontext java.servlet.jsp.PageContext page
config java.servlet.servletConfig page
exception java.lang.throwable page

三、表达式语言

表达式语言(EL):与JSP脚本相比,EL提供了一种更加简便的生成动态Web页面的方式。

时间: 2024-11-25 04:13:48

Java EE JSP内置对象及表达式语言的相关文章

9.Java web&mdash;JSP内置对象

容器内置了9大对象,这些对象在jsp页无需实例化,可以直接使用. 分别为request. response .session. application .out. pageContext .config .page. exception 1)request对象 request封装了由客户端请求的http所有细节,包括HTTP头信息,系统信息,请求方式,请求参数 request.getParameter("参数name");  //获取请求的url参数.不存在此参数返回null,存在参数

JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础

JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次都要先创建这些对象,然后再去使用它们,这样就显得十分繁琐了,为了方便使用者,Sun公司在开发JSP的时候,把一些对象设置为内置对象,开发者在JSP页面编程的时候不必声明这些对象就能直接使用,这就是JSP的内置对象. 那么JSP对象有哪些呢? JSP内置对象          对应的类型   备注 R

Jsp内置对象及EL表达式的使用

一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response  HttpServletResponse session HttpSession(有开关的:page指令的session属性的取值) application  ServletContext config  ServletConfig page this(当前Servlet对象) exception java.lang.Throwable(有开关

JAVA遇见HTML——JSP篇:JSP内置对象(下)

什么是session session表示客户端与服务器的一次会话 Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间 从上述定义中可以看到,session实际上是一个特定的时间概念 在服务器的内部中保存着不同用户的session session对象 session对象是一个JSP内置对象. session对象在第一个JSP页面被装载时自动创建,完成会话期管理. 从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开

JavaWeb编程(二)Jsp内置对象

1.JSP:html中嵌入java代码.2.JSP执行过程: 客户端通过浏览器发送请求: 由web容器将得到的请求jsp文件翻译成.java文件; (servlet文件) 再将翻译成.java文件编译成.class; 最后执行.class并将结果响应给客户端进行呈现. 3.JSP执行过程经历了哪几个阶段: 请求阶段 翻译阶段 编译阶段 执行阶段4.jsp页面元素组成 静态文本(html) 指令<%@ %>(比如:<%@page %>,<%@include%>) 表达式&

JavaWeb学习(三)----JSP内置对象详解

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4065790.html 联系方式:[email protected] [系列]JSP学习系列文章:(持续更新) JavaWeb学习(一)----JSP简介及入门(含Tomcat的使用) JavaWeb学习(二)----JSP脚本元素.指令元素.动作元素 JavaWeb学习(三)----JSP内置对象

【转】JSP内置对象详细介绍(上)

第一个问题: JSP有多少类内置对象? 要想回答好这个问题,首先是对JSP的基本知识和技术有深刻的理解和掌握.主要有九个 内置对象:application对象,config对象,exception对象,out对象,page对象,pageContext对象,request对象,reponse对象,session对象. 第二个问题:JSP的内置对象都是什么类型的?这些对象的作用是什么?它们常用的方法是什么呢? (1)application对象:javax.servlet.ServletContext

JSP内置对象详细介绍(上)&lt;转载&gt;

第一个问题: JSP有多少类内置对象? 要想回答好这个问题,首先是对JSP的基本知识和技术有深刻的理解和掌握.主要有九个 内置对象:application对象,config对象,exception对象,out对象,page对象,pageContext对象,request对象,reponse对象,session对象. 第二个问题:JSP的内置对象都是什么类型的?这些对象的作用是什么?它们常用的方法是什么呢? (1)application对象:javax.servlet.ServletContext

JSP 内置对象和域

JSP 九大内置对象简介 application 对象 1 让多个 JSPServlet 共享数据 2 获取 Web 应用配置参数 config 对象 exception 对象 out 对象 pageContext 对象 request 对象 1 获取请求参数 2 操作 request 范围的属性 3 执行 forward 或 include response 对象 1 response 响应生成非字符响应 2 重定向 3 增加 Cookie session 对象 JSP 中的四大域对象 1.