我是靠谱客的博主 端庄蜗牛,这篇文章主要介绍java servlet的域对象,现在分享给大家,希望可以做个参考。

在进行网络编程中的项目时 经常用到的域对象主要包括以下三种:

1、 ServletContext  作用范围比较大

代码如下:

复制代码
1
2
3
4
//一个请求代码: ServletContext sc = request.getServletContext(); sc.setAttribute("name", "一个请求的共享资源在另一个请求中可以直接访问.可以多个请求之间共享资源");

 

复制代码
1
2
3
4
5
6
7
//另一个请求代码: ServletContext sc = request.getServletContext(); String ss = (String) sc.getAttribute("name"); System.out.println(ss);

 2、request  作用范围只限于一次请求  多个请求之间共享资源需要做请求转发操作

代码如下:

复制代码
1
2
3
4
5
6
7
request.setAttribute("name", "鸡腿好吃"); //直接共享数据是不行的 我们需要做请求转发 才能共享会话数据 //创建转发器对象 RequestDispatcher rd = request.getRequestDispatcher("qu"); rd.forward(request, response);

 

复制代码
1
2
3
4
//另外一个请求 //获取共享数据 String name = (String) request.getAttribute("name");

 3、httpsession 作用范围 一次会话   (一次会话可以有多个请求)    当浏览器关闭会话结束

复制代码
1
2
3
4
5
6
//一个请求 HttpSession hs = request.getSession(); String sid = hs.getId(); response.getWriter().write("<a href='g'>这是一个sessionid</a>"); System.out.println(sid);

 

复制代码
1
2
3
4
5
6
//另一个请求 HttpSession hs = request.getSession(); String sId = hs.getId(); System.out.println(sId); //最后结果返回的都是同一个sessionId 它们之间共享sessionId

 4、HttpSession的生命周期

1、request.getSession();就被创建
2、活着 只要没有超过session的最大超时时间  也没有调用invalidate 方法该session对象都是活着的
3、死亡:当超过session的最大超时时间及调用了invalidate 方法 该session对象就死亡

总结:作用域范围图:

转载于:https://www.cnblogs.com/nianzhilian/p/9227536.html

最后

以上就是端庄蜗牛最近收集整理的关于java servlet的域对象的全部内容,更多相关java内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部