博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp九个内置对象
阅读量:5897 次
发布时间:2019-06-19

本文共 1891 字,大约阅读时间需要 6 分钟。

     在开发java web项目的时候我们经常需要在servlet和jsp之间进行传值,之前介绍了传值的几种方式,详见:有时候我们在jsp和Servlet之间传值的时候,需要在Servlet中创建对象传值,但是在jsp页面中不需要创建对象,因为在jsp页面中,已经内置了九个对象分别是:request,response,application,session、out、pagecontext、config、page、exception,我们只需要拿来直接用即可。下面我们简单说一下这九个对象的特点:

  • 九个对象有jsp规范提供,用户不需要实例化
  • 这九个对象有web容器实现和管理
  • 在所有的jsp页面均可以使用
  • 只有在脚本元素的表达式中才可以使用(<%=内置对象%>,<%内置对象%>)

我们在tomcat目录下打开work\Catalina\localhost\打开任意一个我们写的web项目,在\org\apache\jsp目录下打开任意一个有jsp编译的java文件,

我们看到request和response对象是_jspService()方法的形参,剩下的都是方法中的局部变量,在方法中初始化。

一、request

request是一个非常重要的内置对象,该对象代表了客户端的请求信息,用到的也是最多的,经常用到在jsp和Servlet之间传值。每个request对象都是用户的一次请求,所有的参数都被封装在了request对象中,一次请求可以是点击一个超链接,点击一个提交按钮等等,对于第二次请求,就会是另外一个request对象了。对于转发有效,重定向是两次请求。

二、response

response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。作为jsp页面处理结果返回给用户。我们可以利用response对象设置cookie

三、session

session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”,键值对。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。

四、application

applocation对象是将信息保存到服务器中,在服务器运行期间一直有效,我们可以在此项目中的任意jsp和Servlet中获取到,直到服务器关闭,信息失效。application对象的有效时间相比于以上三种长。

以上对象我们经常使用,在一个web项目中,经常要传值,接收值,处理。下面的几种对象只能说用处很少

五、out

out对象代表jsp页面的输出流,可以用在浏览器页面输出信息,注意这是个流对象,最后要有关闭操作,另外还要有清空缓冲区操作。

六、pageContext

pageContext 对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的。

七、config

该对象代表jsp的配置信息,通常jsp页面无需进行配置,也就不存在配置信息。

八、page

page对象代表页面本身,其实就是Servlet中的this,类型是生成的Sevlet类,可以用page的地方就可以用this。

九、exception

exception代表异常,只有当前页面定义为错误页面的时候,该对象才可以使用。只有在包含 page的isErrorPage="true" 的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。excepation对象和Java的所有对象一样,都具有系统提供的继承结构。exception 对象几乎定义了所有异常情况。在Java程序中,可以使用try/catch关键字来处理异常情况; 如果在JSP页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception 对象传送到在page指令中设定的错误页面中,然后在错误页面中处理相应的 exception 对象。

参考:《深入理解JavaWeb开发技术》--谭贞军

            http://www.cnblogs.com/leirenyuan/p/6016063.html

转载于:https://www.cnblogs.com/duzhentong/p/7816554.html

你可能感兴趣的文章
PHP函数
查看>>
VSS虚拟交换系统
查看>>
DNS原理总结及其解析过程详解
查看>>
tornado 网页提交内容 展示内容作业
查看>>
(转载) Chrome中canvas上drawImage无法画出image的解决办法
查看>>
wp8 在OnBackKeyPress事件中调用MessageBox.Show()崩溃
查看>>
架构漫谈(六):软件架构到底是要解决什么问题?
查看>>
用 Python 描述 Cookie 和 Session
查看>>
MSChart 发布后报“图表处理程序配置 [c:\TempImageFiles\] 中的临时目录无效”问题解决方法...
查看>>
四层和七层负载均衡的区别-转
查看>>
[转]Objective-C Literals, part 2
查看>>
JavaScript IE 中 的new Date() 问题
查看>>
spring mvc 和spring security配置 web.xml设置
查看>>
Maven集成
查看>>
ThinkPHP3.2 --- 中文乱码问题
查看>>
偷懒把本来要判断输入值的textbox 输出提示值,结果点两次程序异常
查看>>
bzoj1079 dp
查看>>
(转).NET Core 使用 log4net
查看>>
infate
查看>>
Mobile Web中URL设计问题
查看>>