JSP脚本中的9个内置对象
2015-09-07 18:58
615 查看
1.application
application是ServletContext类的实例,application对整个Web应用都有效。application就像是一个容器,只要JSP或是servlet把数据放入application对象中,那么整个应用中的JSP和servlet都可以访问这些数据。
在JSP中的使用方法:
<%application.setAttribute(name,value); %>//将数据放入application对象中。
<%application.getAttribute(name); %>//将数据从application对象中提取出来。但需要注意的是必须在上一步操作运行之后,即相关的JSP页面载入之后,才能取出放入的数据,否则取出的数据将为null
在servlet中的使用方法:
ServletContext sc=getServletConfig().getServletContext();
sc.setAttribute(name,value);//将数据放入application对象中。
sc.getAttribute(name);//将数据从application对象中取出。
2.session
session是HttpSession类的实例,session仅对一次会话有效。JSP或servlet把数据放入session范围内,则其他JSP或servlet在本次会话过程中都可以访问session中的数据。
在JSP中的使用方法:
<%session.setAttribute(name,value); %>//将数据放入session对象中。
<%session.getAttribute(name); %>//将数据从session对象中取出。
在servlet中的使用方法:
HttpSession session=request.getSession();
session.setAttribute(name,value);//将数据放入session对象中。
session.getAttribute(name);//将数据从session对象中取出。
3.request
request是HttpServletRequest类的实例,request仅对本次请求有效。JSP或servlet把数据放入request范围内,则其他JSP或servlet在本次请求中都可以访问request中的数据。
在JSP中的使用方法:
<%request.setAttribute(name,value); %>//将数据放入request对象中。
<%request.getAttribute(name); %>//将数据从request对象中取出。
在servlet中的使用方法:
request.setAttribute(name,value); //将数据放入request对象中。
request.getAttribute(name); //将数据从request对象中取出。
request还有其他用法:
用户可以通过request对象发送请求到某个页面,如GET请求和POST请求,一个请求通常包括请求头和请求参数。请求头通常由浏览器自动添加,而请求参数则通常由开发人员控制添加。
String getParameter(name):获取名为name的请求参数的值
Map getParameterMap():获取所有请求参数名和参数值组成的Map对象。
Enumeration getParameterNames():获取所有请求参数名组成的Enumeration对象。
String[] getParameterValues(name):当请求参数名name对应的值有多个的时候,用这个方法,返回的是多个值组成的数组。
String getHeader(name):获取指定请求头的值
Enumeration getHeaderNames():获取所有请求头的名称
Enumeration getHeaders(name):获取name请求头的多个值
当request中有中文的时候,需要转换字符编码,方法如下:
request.setCharacterEncoding("GBK");
4.page
page是Object的实例(在servlet中为Object page=this;),即page代表的就是当前JSP页面本身。
在JSP中使用方法:(直接使用方法,不必再使用page对象去调用)
ServletConfig getServletConfig():返回当前jsp页面的一个ServletConfig对象,即得到的就是config对象。
ServletContext getServletContext():返回当前jsp页面的一个ServletContext对象,即得到的就是application对象。
String getServletInfo():获取当前jsp页面的info属性
5.config
config对象是ServletConfig类的实例,代表的是当前jsp的配置信息。
通过config对象可以访问web.xml文件中配置的init-param参数,通过方法getInitParameter(name)获取参数的值。
在web.xml中配置servlet:
<!--配置一个jsp页面的servlet-->
<servlet>
<servlet-name>config</servlet-name>
<servlet-file>/configTest2.jsp</servlet-file>
<init-param>
<param-name>name</param-name>
<param-value>crazyit.org</param-value>
</init-param>
<init-param>
<param-name>age</param-name>
<param-value>30</param-value>
</init-param>
</servlet>
<servlet-mapping>
<!--指定将config Servlet配置到指定路径-->
<servlet-name>config</servlet-name>
<url-pattern>/config</url-pattern>
</servlet-mapping>
<!--配置一个src下的servlet-->
<servlet>
<servlet-name>firstServlet</servlet-name>
<servlet-class>lee.FirstServlet</servlet-class>
<init-param>
<param-name>name</param-name>
<param-value>crazyit.org</param-value>
</init-param>
<init-param>
<param-name>age</param-name>
<param-value>30</param-value>
</init-param>
</servlet>
<servlet-mapping>
<!--将名字为firstServlet的Servlet配置到指定路径-->
<servlet-name>firstServlet</servlet-name>
<url-pattern>/firstServlet</url-pattern>
</servlet-mapping>
6.exception
exception是Throwable类的实例,代表着JSP脚本中产生的错误和异常,是JSP异常机制的一部分。
只有当jsp页面的page指令的isErrorPage为true时,该页面才会提供exception对象。exception通过getClass()和getMessage()方法来获得上一个异常页面异常的类和信息。
7.out
out是JspWriter类的实例,通过out.print()方法可以直接将内容输出到jsp页面上。
8.pageContext对象
pageContext是PageContext类的实例。使用pageContext对象可以访问page、request、session、application范围的变量。
getAttribute(name):取得page范围内名为name的value。
getAttribute(name,PageContext.REQUEST_SCOPE):取得request范围内名为name的value。
getAttribute(name,PageContext.SESSION_SCOPE):取得session范围内名为name的value。
getAttribute(name,PageContext.APPLICATION_SCOPE):取得application范围内名为name的value。
同样的,pageContext也提供了setAttribute()方法来将数据放到page、request、session、application范围内。
setAttribute(name,value):将数据放到page范围内。
setAttribute(name,value,PageContext.REQUEST_SCOPE):将数据放到request范围内。
setAttribute(name,value,PageContext.SESSION_SCOPE):将数据放到session范围内。
setAttribute(name,value,PageContext.APPLICATION_SCOPE):将数据放到application范围内。
不仅如此,pageContext还可以用于获取其他内置对象。
ServletRequest getRequest():获取request对象。
ServletResponse getResponse():获取response对象。
ServletConfig getServletConfig():获取config对象。
ServletContext getServletContext():获取application对象。
HttpSession getSession():获取session对象。
因此在jsp或servlet中获取了pageContext对象,就可以通过它提供的上述方法来获取其各种内置对象。
9.response
response是HttpServletResponse接口的实例,response代表服务器对客户端的响应。out对象可以生成字符客户端响应,但是如果要生成非字符的客户端响应就要用到response对象。
ImageIO.write(image,"png",response.getOutputStream());
重定向功能:
response可以重定向一个请求,重定向相当于重新发起一次请求,因此会丢失所有的请求参数和request范围的属性。
response.sendRedirect("redirect.jsp");
增加Cookie
将Cookie值写入客户端硬盘,当客户端再一次发送请求时,Cookie值会作为请求参数一并发送给服务器端。
Cookie c=new Cookie("username",name);
c.setMaxAge(24*3600)//设置Cookie的生存期,括号里的单位为秒
response.addCookie(c);//在response中添加Cookie,返回给客户端
接收Cookie
Cookie[] cookies=request.getCookies();//Cookie一般随request一并发送给服务器端
for(Cookie c:cookies){
}
application是ServletContext类的实例,application对整个Web应用都有效。application就像是一个容器,只要JSP或是servlet把数据放入application对象中,那么整个应用中的JSP和servlet都可以访问这些数据。
在JSP中的使用方法:
<%application.setAttribute(name,value); %>//将数据放入application对象中。
<%application.getAttribute(name); %>//将数据从application对象中提取出来。但需要注意的是必须在上一步操作运行之后,即相关的JSP页面载入之后,才能取出放入的数据,否则取出的数据将为null
在servlet中的使用方法:
ServletContext sc=getServletConfig().getServletContext();
sc.setAttribute(name,value);//将数据放入application对象中。
sc.getAttribute(name);//将数据从application对象中取出。
2.session
session是HttpSession类的实例,session仅对一次会话有效。JSP或servlet把数据放入session范围内,则其他JSP或servlet在本次会话过程中都可以访问session中的数据。
在JSP中的使用方法:
<%session.setAttribute(name,value); %>//将数据放入session对象中。
<%session.getAttribute(name); %>//将数据从session对象中取出。
在servlet中的使用方法:
HttpSession session=request.getSession();
session.setAttribute(name,value);//将数据放入session对象中。
session.getAttribute(name);//将数据从session对象中取出。
3.request
request是HttpServletRequest类的实例,request仅对本次请求有效。JSP或servlet把数据放入request范围内,则其他JSP或servlet在本次请求中都可以访问request中的数据。
在JSP中的使用方法:
<%request.setAttribute(name,value); %>//将数据放入request对象中。
<%request.getAttribute(name); %>//将数据从request对象中取出。
在servlet中的使用方法:
request.setAttribute(name,value); //将数据放入request对象中。
request.getAttribute(name); //将数据从request对象中取出。
request还有其他用法:
用户可以通过request对象发送请求到某个页面,如GET请求和POST请求,一个请求通常包括请求头和请求参数。请求头通常由浏览器自动添加,而请求参数则通常由开发人员控制添加。
String getParameter(name):获取名为name的请求参数的值
Map getParameterMap():获取所有请求参数名和参数值组成的Map对象。
Enumeration getParameterNames():获取所有请求参数名组成的Enumeration对象。
String[] getParameterValues(name):当请求参数名name对应的值有多个的时候,用这个方法,返回的是多个值组成的数组。
String getHeader(name):获取指定请求头的值
Enumeration getHeaderNames():获取所有请求头的名称
Enumeration getHeaders(name):获取name请求头的多个值
当request中有中文的时候,需要转换字符编码,方法如下:
request.setCharacterEncoding("GBK");
4.page
page是Object的实例(在servlet中为Object page=this;),即page代表的就是当前JSP页面本身。
在JSP中使用方法:(直接使用方法,不必再使用page对象去调用)
ServletConfig getServletConfig():返回当前jsp页面的一个ServletConfig对象,即得到的就是config对象。
ServletContext getServletContext():返回当前jsp页面的一个ServletContext对象,即得到的就是application对象。
String getServletInfo():获取当前jsp页面的info属性
5.config
config对象是ServletConfig类的实例,代表的是当前jsp的配置信息。
通过config对象可以访问web.xml文件中配置的init-param参数,通过方法getInitParameter(name)获取参数的值。
在web.xml中配置servlet:
<!--配置一个jsp页面的servlet-->
<servlet>
<servlet-name>config</servlet-name>
<servlet-file>/configTest2.jsp</servlet-file>
<init-param>
<param-name>name</param-name>
<param-value>crazyit.org</param-value>
</init-param>
<init-param>
<param-name>age</param-name>
<param-value>30</param-value>
</init-param>
</servlet>
<servlet-mapping>
<!--指定将config Servlet配置到指定路径-->
<servlet-name>config</servlet-name>
<url-pattern>/config</url-pattern>
</servlet-mapping>
<!--配置一个src下的servlet-->
<servlet>
<servlet-name>firstServlet</servlet-name>
<servlet-class>lee.FirstServlet</servlet-class>
<init-param>
<param-name>name</param-name>
<param-value>crazyit.org</param-value>
</init-param>
<init-param>
<param-name>age</param-name>
<param-value>30</param-value>
</init-param>
</servlet>
<servlet-mapping>
<!--将名字为firstServlet的Servlet配置到指定路径-->
<servlet-name>firstServlet</servlet-name>
<url-pattern>/firstServlet</url-pattern>
</servlet-mapping>
6.exception
exception是Throwable类的实例,代表着JSP脚本中产生的错误和异常,是JSP异常机制的一部分。
只有当jsp页面的page指令的isErrorPage为true时,该页面才会提供exception对象。exception通过getClass()和getMessage()方法来获得上一个异常页面异常的类和信息。
7.out
out是JspWriter类的实例,通过out.print()方法可以直接将内容输出到jsp页面上。
8.pageContext对象
pageContext是PageContext类的实例。使用pageContext对象可以访问page、request、session、application范围的变量。
getAttribute(name):取得page范围内名为name的value。
getAttribute(name,PageContext.REQUEST_SCOPE):取得request范围内名为name的value。
getAttribute(name,PageContext.SESSION_SCOPE):取得session范围内名为name的value。
getAttribute(name,PageContext.APPLICATION_SCOPE):取得application范围内名为name的value。
同样的,pageContext也提供了setAttribute()方法来将数据放到page、request、session、application范围内。
setAttribute(name,value):将数据放到page范围内。
setAttribute(name,value,PageContext.REQUEST_SCOPE):将数据放到request范围内。
setAttribute(name,value,PageContext.SESSION_SCOPE):将数据放到session范围内。
setAttribute(name,value,PageContext.APPLICATION_SCOPE):将数据放到application范围内。
不仅如此,pageContext还可以用于获取其他内置对象。
ServletRequest getRequest():获取request对象。
ServletResponse getResponse():获取response对象。
ServletConfig getServletConfig():获取config对象。
ServletContext getServletContext():获取application对象。
HttpSession getSession():获取session对象。
因此在jsp或servlet中获取了pageContext对象,就可以通过它提供的上述方法来获取其各种内置对象。
9.response
response是HttpServletResponse接口的实例,response代表服务器对客户端的响应。out对象可以生成字符客户端响应,但是如果要生成非字符的客户端响应就要用到response对象。
ImageIO.write(image,"png",response.getOutputStream());
重定向功能:
response可以重定向一个请求,重定向相当于重新发起一次请求,因此会丢失所有的请求参数和request范围的属性。
response.sendRedirect("redirect.jsp");
增加Cookie
将Cookie值写入客户端硬盘,当客户端再一次发送请求时,Cookie值会作为请求参数一并发送给服务器端。
Cookie c=new Cookie("username",name);
c.setMaxAge(24*3600)//设置Cookie的生存期,括号里的单位为秒
response.addCookie(c);//在response中添加Cookie,返回给客户端
接收Cookie
Cookie[] cookies=request.getCookies();//Cookie一般随request一并发送给服务器端
for(Cookie c:cookies){
}
相关文章推荐
- javascript内置对象Date以及(面试题--打印当前的日期,格式为yyyy-mm-dd hh:mm:ss
- $.ajax传递字符串到后台,后台返回json对象
- js 图片放大缩小(动画效果)
- JS性能优化
- atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97
- atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97
- atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97
- AJAX -- 通过JSON完成多形态的数据格式传送
- JavaScript变量及其作用域
- js中使用a标签onclick事件切换图片时显示异常解决办法
- jsp和servlet的区别
- jsp页面跳转,WEB-INF
- JSON — JSON入门与实战详解 —— JavaScript、Java与JSON互转
- 禁止表单操作及JS控制输入的方式
- js的模块化
- JSON解析工具-org.json使用教程
- Jackson 框架,轻易转换JSON
- js带点自动图片轮播幻灯片特效代码分享
- js打印对象的方法
- JS 获取HTML之间的传输的参数的值.