jsp的9个内置对象

request, response, out, session, application, config, pagecontext, page, exception.

 

                             内置对象名               类型

                              request           HttpServletRequest

                              response        HttpServletResponse

                               config              ServletConfig

                            application          ServletContext

                              session              HttpSession

                              exception            Throwable

                                page                  Object(this)

                                  out                    JspWriter

                            pageContext         PageContext 

.request对象
该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。
例如:  request.getParameter("myVar");


.response对象
对客户的请求做出动态的响应,向客户端发送数据。例如:
PrintWriter out = response.getWriter();
out.println("hello!");


三.session对象:
1.什么是sessionsession对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,
服务器应当通过某种办法知道这是同一个客户,这就需要session对象
2
session对象的ID:当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个session对象,
同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,
这样session对象和客户之间就建立了一一对应的关系。当客户再访问连接该服务器的其他页面时,
不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,
并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。

四.aplication对象:
1.什么是application:
服务器启动后就产生了这个application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。
但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象。
2application对象常用方法:
(1)public void setAttribute(String key,Object obj): 将参数Object指定的对象obj添加到application对象中,
并为添加的对象指定一个索引关键字。
(2)public Object getAttribute(String key): 获取application对象中含有关键字的对象。

五.out对象:
out对象是一个输出流,用来向客户端输出数据。out对象用于各种数据的输出。

六.page对象:
对应this关键字JSP网页本身
page对象是当前页面转换后的Servlet类的实例。从转换后的Servlet类的代码中,可以看到这种关系:
Object page =this;
JSP页面中,很少使用page对象。

七.config对象
javax.servlet. ServletConfig 的实例,该实例代表该JSP 的配置信息。
常用的方法有getInitPararneter(String paramNarne) getInitPararneternarnes() 等方法。
事实上, JSP 页面通常无须配置,也就不存在配置信息。因此,该对象更多地在Servlet 中有效。

八:exception对象:
java.lang.Throwable 的实例,该实例代表其他页面中的异常和错误。
只有当页面是错误处理页面,即编译指令page isErrorPage 属性为true 时,该对象才可以使用。
常用的方法有getMessageOprintStackTraceO等。

九:pageContext对象
javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。
常用的方法有getServletContextOgetServletConfigO等。
//使用pageContext 设置属性,该属性默认在page 范围内
pageContext.setAttribute ("page" , "hello") ;
//使用request 设置属性,该属性默认在request 范围内
request.setAttribute ("request" , "hello");
//使用pageContext将属性设置在request 范围中
pageContext.setAttribute("request2", "hello" , pageContext.REQUEST_SCOPE);
// 使用session将属性设置在session 范围中
session.setAttribute("session", "hello"l;
//使用pageContext将属性设置在session范围中
pageContext.setAttribute("session2", "hello" , pageContext.SESSION_SCOPE);
//使用application将属性设置在application范围中
application. setAttribute("app" , "hello") ;
//使用pageContext 将属性设置在application 范围中
pageContext.setAttribute("app2", "hello" , pageContext.APPL CATION_SCOPE) ;

 

 

 

 session,application,request的区别:


一个项目中session尽量少用几个,因为过多的session会影响程序的执行效率.它主要用于保存登录信息(用户信息,权限,资源)即频繁使用的信息.


application: 用于多个浏览器之间共享数据,多个用户共享该对象,可以做计数器.它的用法与session完全一样.

 

数据范围:application(服务器关闭时失效)>session(浏览器关闭时失效)>request(只能用于两个跳转页面之间)

 

posted @ 2017-07-14 18:43  杯酒故人  阅读(251)  评论(0编辑  收藏  举报