天天看点

JSP---JSP中4个容器-pageContext使用setAttribute()和getAttribute:演示用pageContext设置4个容器的属性:演示pageContext.findAttribute():顺便提一下ContentType与pageEncoding的区别:

这里重点只讲pageContext容器的用法哦。

因为另外的3个容器(request,session,application)在前面的servlet中已经演示过很多遍了

详细介绍:

pageContext – 它的作用范围仅为当前JSP页面。

request – 对于用户的一次请求有效,请求/响应结束即消失。

更多细节:

一个请求通过Servlet访问资源,在Servlet中将数据封装到request中,这在单位中是通常的做法。必须记住、必须记住、必须记住。

然后将请求转发到JSP页面,在从JSP页面上将封装到request中的信息取出。MVC

注意我上面说的是转发,而不是重定向。

对于用户的一次请求,并且请求完成后,数据将不再使用可使用request进行封装,以节省内存。

session – 对于用户的一次会话有效,通常我们用此域来封装用户登录的信息。也必须记住。

application – 在整个Web项目的生命周期内有效,不建议使用或谨慎使用。实际项目中根本不用。

开发原则 – 能用小的域尽量使用小的域。

index.jsP;

JSP---JSP中4个容器-pageContext使用setAttribute()和getAttribute:演示用pageContext设置4个容器的属性:演示pageContext.findAttribute():顺便提一下ContentType与pageEncoding的区别:
JSP---JSP中4个容器-pageContext使用setAttribute()和getAttribute:演示用pageContext设置4个容器的属性:演示pageContext.findAttribute():顺便提一下ContentType与pageEncoding的区别:

pageContext.findAttribute()方法会依次从pageContext、request、session和application中(页面、请求、会话、app)查找对应的属性,找到一个,后面的就不会再去找了。如果没有就返回null.

演示结果:

JSP---JSP中4个容器-pageContext使用setAttribute()和getAttribute:演示用pageContext设置4个容器的属性:演示pageContext.findAttribute():顺便提一下ContentType与pageEncoding的区别:

pageEncoding是jsp文件本身的编码 ,把jsp文件编译成java的时候给编译器用的 。

contentType的charset是指服务器发送给客户端时的内容编码 ,是浏览器解析网页的时候用的

如果两个任意设置了其中一个,另一个即会与此保持一致。但,contentType除可以设置charset外,还可以设置MIME类型,如text/html