Servlet的三个域对象

来源:互联网 发布:netstat 显示端口号 编辑:程序博客网 时间:2024/06/08 19:48

我们在开发javaweb项目的时候,经常会遇到jsp和Servet之间互相传值,既然有传值,就要有对象来传,这里先说Servlet的三大域对象,request,session,application他们共同的特点都是通过键值对传值,这样也很好理解,键是唯一的,通过键可以找到值。


一、request

request汉译为请求需求,request代表的只是一次请求,当你点击一个链接,这就是依次请求,request只是一次请求有效,当你在跳转一次的时候和上一次就不是依次请求了。记住一句话,一次请求就是一个request,只对当前请求有效。


用法:用于一次请求之间的值的传递,在jsp页面设置有name属性的表单,在Servlet通过request对象获取属性值,注意request是jsp内置的九个对象之一,可以直接用


常用方法:

request.setAttribute();request.getAttribute();request.getParameter();

注意传值的时候总是根据键值对传值

二、session

session会话,他的作用范围只是对一次会话有效,例如打开了一个浏览器访问网址,当你再打开另一个的时候就是两次会话了,当你关闭浏览器的时候本次会话就结束了,这次会话的session也就失效了,一次会话只对应一个session

用法:有时我们要在两个Servlet之间进行传值,用session比较方便,还有就是当用户登录之后,服务器记下这个session键值对,那么本次会话用户就不用二次登录了

常用方法:

session.setAttribute(); session.getAttribute();

在用上面的方法的时候先要获取session对象,在jsp页面中session属于九大内置对象,可以直接拿来用,在Servlet中必须先要获取session对象通过

HttpSession session = request.getSession();

在jsp页面直接拿来

<%session.serAttribute("key",value)%>

session对象进行传值也是通过键值对,键的值是唯一的

三、application

这个对象的范围比较大,他是作用于整个服务端,在你启动服务器创建application对象设置值,之后在本项目中都可以获取到,一个项目中只有一个对象,传值的时候根据键的不同区分,application在服务器关闭的时候销毁,

常用方法

 application.setAttribute("key", value);  application.getAttribute("key"); 
注意在Servlet中也是要获取application对象的,通过下面这句获取

 ServletContext application = request.getServletContext();
ServletContext也是属于JSP九大内置对象之一,故可以直接使用


参考:http://blog.csdn.net/qq_26676207/article/details/52592846

原创粉丝点击