• Web程序对象作用域


    Web程序对象作用域:
    常用的有三个:请求作用域,会话作用域,应用上下文。
    请求作用域req范围最小,需要的资源最少,作用当前请求

    session会话作用于本次对话,每个对话都有JSessionID,

    ServletContext作用域范围大:web应用中所有都能够访问,生命周期和web容器一样长,维护所需资源多。

    在满足需求内耗费的资源越小越好

    一、请求作用域:

    //得到页面的属性和值
    req.getParameter("userName");
    Enumeration<String> enus = req.getParameterNames();//获取页面所提交的参数项
    while (enus.hasMoreElements()) {
    String propertyName = (String) enus.nextElement();//得到具体的属性名称
    String propertyValue = req.getParameter(propertyName);//得到具体的属性的值
    params.put(propertyName, propertyValue);
    }

    //可以设置的属性和值
    request.setSttribute("priceList",priceList);
    List priceList = (List)request.getAttribute("priceList");

    二、会话作用域

    req.getSession().setAttribute("user", user);//将查询出的对象交给Session,由Session去维护这个人的状态
    req.getSession().setMaxInactiveInterval(60);//设置Session作用域内的特殊对象的有效时间,以秒为单位
    //超过这个时间,比如在页面要引用这个,就没有了

    <!-- 全局设置Session会话超时时长,单位是分钟 -->
    <session-config>
    <session-timeout>15</session-timeout>
    </session-config>


    三、应用上下文
    @WebServlet(urlPatterns="/regist",asyncSupported=true,initParams={@WebInitParam(name="password",value="123456")})
    public class RegistServlet extends HttpServlet {

    private String password;

    @Override
    public void init(ServletConfig config) throws ServletException {
    // TODO Auto-generated method stub
    password = config.getInitParameter("password");
    }
    }

    <!-- 向整个应用上下文(Servlet运行环境,类似于JVM)中 ,设置默认参数,这是一种初始化的设置方式-->
    <context-param>
    <param-name>qianduoduo</param-name>
    <param-value>5000000</param-value>
    </context-param>

    String value = getServletConfig().getServletContext().getInitParameter("qianduoduo");


    ServletContext sc = getServletConfig().getServletContext();
    sc.setAttribute("qianshaoshao", 1);
    Integer qianshaoshao = (Integer) getServletConfig().getServletContext().getAttribute("qianshaoshao");

  • 相关阅读:
    第07组 Alpha事后诸葛亮
    第07组 Alpha冲刺(4/4)
    第07组 Alpha冲刺(3/4)
    第07组 Alpha冲刺(2/4)
    第07组 Alpha冲刺(1/4)
    2021-7-15
    2021-7-13工作笔记
    第07组 Beta版本演示
    第07组 Beta冲刺(2/4)
    第07组 Beta冲刺(3/4)
  • 原文地址:https://www.cnblogs.com/wanglei718/p/5495089.html
Copyright © 2020-2023  润新知