文档章节

JSP九大作用域

j
 javaalex
发布于 2017/09/05 15:47
字数 1031
阅读 4
收藏 0

jsp的九大作用域:

request           请求对象             类型 javax.servlet.ServletRequest        作用域 Request
response          响应对象              类型 javax.servlet.SrvletResponse        作用域 Page
pageContext       页面上下文对象        类型 javax.servlet.jsp.PageContext       作用域 Page
session           会话对象              类型 javax.servlet.http.HttpSession      作用域 Session
application       应用程序对象          类型 javax.servlet.ServletContext        作用域 Application
out               输出对象              类型 javax.servlet.jsp.JspWriter         作用域 Page
config            配置对象              类型 javax.servlet.ServletConfig         作用域 Page
page              页面对象              类型 javax.lang.Object                   作用域 Page
exception         例外对象              类型 javax.lang.Throwable                作用域 page
  1. application:是代表Web应用本身,可用于jsp页面,或者在Servlet中交换信息。常用方法有:
String getAttribute(String name)                                     根据属性名称获取属性值。
Enumeration getAttributeNames()	                                获取所有的属性名称。
void setAttribute(String name, Object object)	                设置属性,指定属性名称和属性值。
void removeAttribute(String name)	                                根据属性名称删除对应的属性。
 ServletContext getContext(String uripath)	                获取指定URL的ServletContext对象。
String getContextPath()	                                                获取当前Web应用程序的根目录。
String getInitParameter(String name)	                        根据初始化参数名称,获取初始化参数值。
int getMajorVersion()	                                                获取Servlet API的主版本号。
int getMinorVersion()	                                                获取Servlet API的次版本号。
String getMimeType(String file)	                                获取指定文件的MIME 类型。
String getServletInfo()	                                                获取当前Web服务器的版本信息。
String getServletContextName()	                                获取当前Web应用程序的名称。
void log(String message)	                                        将信息写入日志文件中。



 使用application对象获取初始化参数
(1) 一 般来说,在web.xml文件中,设置初始化参数有如下两种方式:
n 设置系统范围内的初始化参数
n 针对单个Servlet文件或JSP文件设置初始化参数
 
对于系统范围内的初始化参数,可通过ServletContext 接口的getInitParameter(String name)方法,根据指定的参数名,获取对应的参数值。
对于针对单个Servlet文件或JSP文件设置初始化参数,可通过ServletConfig接口的 getInitParameter(String name)方法,根据指定的参数名,获取对应的参数值。
(2) 如何设置系统范围内的初始化参数
在web.xml文件中,可利用context-param元素来设置系统范围内的初始化参数。context-param元素应该包含param-name、param-value以及可选的description子元素,如下所示:
<context-param>
<param-name>support-email</param-name>
<param-value>blackhole@mycompany.com</param-value>
</context-param>
web.xml文件的示例:
<?xml version=”1.0″ encoding=”UTF-8″?>
<web-app version=”2.4″
xmlns=”http://java.sun.com/xml/ns/j2ee”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd”>
<context-param>
<param-name>appName</param-name>
<param-value>MyWebTest</param-value>
</context-param>
<context-param>
<param-name>appVersion</param-name>
<param-value>Version 1.0</param-value>
</context-param>
<welcome-file-list>
<welcome-file>MyTest01.jsp</welcome-file>
</welcome-file-list>
</web-app>
 
测试代码
TestApplication02.jsp
 
<%@ page language=”java” contentType=”text/html; charset=GBK” %>
<% request.setCharacterEncoding(“GBK”); %>
<html>
<body>
<%–使用application对象获取系统范围内的初始化参数–%>
<font color=”Red”>使用application对象获取初始化参数:</font>
<br>
<%
String appName = getServletContext().getInitParameter(“appName”);
String appVersion = getServletContext().getInitParameter(“appVersion”);
%>
应用程序的名称:<%=appName%><br>
应用程序的版本:<%=appVersion%>
</body>
</html>
  1. config:这是一个对于jsp而言是无用的对象,因为该实例代表jsp的配置信息,而jsp页面通常没有必要配置,也就不存在配置信息。因此config更多地在Servlet中起用。

  2. exception:只有当页面是错误处理页面即编译指令page的isErrorpage属性为true时才可以使用。常用方法:

getmessage(),printstacktrace();
  1. out:该实例代表jsp页面的输出流,用于输出内容,形成HTML页面。

  2. request:该实例是javax.servlet.http.httpservletrequest的实例,该对象封装一次请求,客户端的请求参数都被封装到该对象里,这是一个客户端请求参数必须使用的对象。

  3. response:该实例常用于重定向,方法有:

getoutputstream(),sendredirect();
  1. page:代表该页面本身,作用不大。也就是servlet中的this,能用page的地方就能用this。

  2. pagecontext:该实例代表该jsp页面的上下文,使用该对象可以访问页面中的共享数据。

  3. session:代表一次会话,当客户端关闭浏览器时,会话结束。

四大作用域:

作用域:是连接jsp和servlet的桥梁,让jsp和servlet可以交换数据。

  1. application:对于整个页面有效。

  2. session:对于一次会话有效。

  3. request:对于本次请求有效。

  4. page:仅对于当前页面有效。

© 著作权归作者所有

共有 人打赏支持
j
粉丝 0
博文 21
码字总数 11679
作品 0
合肥
《JSP极简教程》在jsp页面获取session对象

两种方法 1、request.getSession().getAttribute("X") 2、${sessionScope.X} 九大内置对象 JSP中有九大内置对象,可以直接用session,也可以获取从request中取,其本质都是同一个。九大内置对...

程序员诗人
2017/03/31
0
0
七、JSP九大内置对象和四个作用域

九大内置对象: request:类型是HttpServletRequest,和Servlet里的HttpServletRequest一模一样。 response:类型是HttpServletResponse,和Servlet里的HttpServletResponse一模一样。JSP里基...

Wakeeee_
07/16
0
0
JSP 九大内置对象及其作用域

JSP 中一共预先定义了 9 个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception ,下面就简单介绍下。 1、request 对象 request 对象...

几个栗子
08/22
0
0
Jsp 和 Servlet 有什么不同?

面试中被问到了 Jsp 和 Servlet 有什么不同?在这里总结分享下。 回答思路先分别进行基本介绍,然后分析说明两者相同点和不同点。 基本介绍 Servlet: Servlet 是一种服务器端的Java应用程序...

几个栗子
08/22
0
0
servlet/jsp基础复习

servlet就是一个普通的Java类,类对象由服务器(容器)创建,实现请求,响应交互数据。 实现第一个servlet继承HTTPservlet重写doget,dopost方法。其实servlet执行处理请求时候都会调用父类s...

hello_hp
2017/10/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java异常处理最佳实践

总结一些Java异常的处理原则 Java异常处理最佳实践 不要忘记关闭资源 在finally里关闭资源 public void readFile() { FileInputStream fileInputStream = null; File file = new Fil...

yysue
49分钟前
0
0
00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
4
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
124
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部