Java教程

Java Web中requset,session,application 的作用域及区别

本文主要是介绍Java Web中requset,session,application 的作用域及区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

三者概述

requset概述:

request是表示一个请求,只要发出一个请求就会创建一个request
用处:常用于服务器间同一请求不同页面之间的参数传递,常应用于表单的控件值传递。

session概述:

服务器会为每个会话创建一个session对象,所以session中的数据可供当前会话中所有servlet共享。
会话:用户打开浏览器会话开始,直到关闭浏览器会话才会结束。一次会话期间只会创建一个session对象。
用处:常用于web开发中的登陆验证界面(当用户登录成功后浏览器分配其一个session键值对)。

application概述:

Application属性范围值,只要设置一次,则所有的网页窗口都可以取得数据。
ServletContext在服务器启动时创建,在服务器关闭时销毁,一个JavaWeb应用只创建一个ServletContext对象,所有的客户端在访问服务器时都共享同一个ServletContext对象;
用处:ServletContext对象一般用于在多个客户端间共享数据时使用;

具体案例

我写了一个小demo,大家可以看一下,下面这是代码。

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/getCount")
public class CountServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest requset, HttpServletResponse response) throws ServletException, IOException {
//        super.service(req, resp);

        Integer countRequset = (Integer) requset.getAttribute("count");
        if (countRequset==null) {
            countRequset = 0;
        }
        countRequset++;
        requset.setAttribute("count",countRequset);
        System.out.println("ok");

        Integer countSession = (Integer) requset.getSession().getAttribute("count");
        if (countSession==null) {
            countSession = 0;
        }
        countSession++;
        requset.getSession().setAttribute("count",countSession);

        Integer countContext = (Integer) requset.getSession().getServletContext().getAttribute("count");
        if (countContext==null) {
            countContext = 0;
        }
        countContext++;
        requset.getSession().getServletContext().setAttribute("count",countContext);

        requset.getRequestDispatcher("WEB-INF/page/count_page.jsp").forward(requset,response);

    }

标签:Java,Web,requset,session,服务器,数据,浏览器, 来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

这篇关于Java Web中requset,session,application 的作用域及区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!