jsp内置对象

来源:互联网 发布:python网络编程 pdf 编辑:程序博客网 时间:2024/06/10 03:47
request
session
application
pageContext
out
response
config
exception
page






1、scope作用范围
request、session、application、pageContext 他们四个可以传递数据,但是作用范围不一样
按照从小到大的顺序排序:
pageContext
表示的是当前页面的东西,通过setAttribute(参数1,参数2)来传递数据 ,参数1是一个String类型(对应map里面的key),参数2是一个Object类型(对应map里面的value)
Map<String, Object>
setAttribute就相当于map的put
getAttribute就相当于map的get
getAttribute只能得到setAttribute里面的东西,getParameter不能得到setAttribute里的东西,因为两种存值方式不一样
他只在当前页面有效
request
表示在一次请求中有效,传递数据方法和pageContext一样,一次请求表示页面之间跳转
当访问页面跳转时,数据可以传递过来
session
表示一次回话中有效,传递数据方法和pageContext一样,一次回话表示重新开启一次浏览器,得到数据
application
表示一次应用中有效,传递数据方法和pageContext一样,一次应用表示服务器不停掉和访问工程相同


2、request的几个方法方法
1、跳转访问
request.getRequestDispatcher(访问的jsp).forward(内置对象request, 内置对象response);
2、获得当前工程名
request.getContextPath();
3、获得服务器相关信息
request.getScheme()传输协议
request.getServerName()服务器地址
request.getServerPort()端口号

3、四个传递数据的内置对象应用地点
1、pageContext:作用范围只是当前页面,应用面比较窄
2、request:一次请求应用,应用比较多,在一次请求中传递
3、session:一次回话,应用较多,多存储一下常用信息,比如用户数据。
session有自己的生命周期,默认30分钟,比如登录时的自动退出就是通过session管理
4、application:一次应用,应用较少,多数时用于用户统计,网站点击率


4、session几个方法
1、获得session创建时间:session.getCreationTime();
2、获得session最后时间:session.getLastAccessedTime();
*(java中时间的保存方式是用一个long值保存,当long值是0的时候表示的时间是1970年1月1日00:00:00
没过1毫秒long值加1,1秒叫1000

3、手动销毁session:session.invalidate();服务器默认销毁session的时间是30分钟


5、application
可以完成计数功能,统计网站访问量


6、pageContext
当前页面上下文内容


7、out
在页面上显示信息

8、response
页面跳转
跳转方法是:response.sendRedirect(对应页面);方式是redirect


9、config、exception、page
引用非常少,记住名字就行


10、客户端跳转和服务器跳转
客户端跳转(redirect):浏览器向服务器发送请求,服务器处理完成之后,告诉浏览器去访问那个页面,然后浏览器再去访问这个页面。
这是两次请求,第一次doLogin.jsp,第二次是success.jsp
服务器跳转(dispatcher):浏览器向服务器发送请求,服务器处理完成之后,直接把要访问的页面发送给浏览器。
这是一次请求,只访问doLogin.jsp,服务器会把success.jsp发送给浏览器。
两种不同跳转的用途:
看情况用哪个,当要减少服务器压力的时候用redirect,但是它的速度比dispatcher低。



原创粉丝点击