编程语言
首页 > 编程语言> > 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,服务器,数据,浏览器,
来源: