JSP基础--ServletContext

JSP基础--ServletContext

是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放。request,一个用户可有多个;session,一个用户一个;而servletContext,所有用户共用一个。所以,为了节省空间,提高效率,ServletContext中,要放必须的、重要的、所有用户需要共享的线程又是安全的一些信息。

1、初始化类

package com.jsp;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

import javax.servlet.Servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

public class InitServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;

	@Override
	public void init() throws ServletException {
		System.out.println("I am initServlet!");
		// 系统启动时,把一些信息放入ServletContext中供所有servlet共享
		// 获取上下文对象
		ServletContext application = this.getServletContext();

		// 将一些系统字典放入一个对象,供系统使用
		//以下程序,在系统启动时就会执行
		List<String> dictList = new ArrayList<>();
		String name1 = "aa";
		String name2 = "bb";
		String name3 = "cc";
		dictList.add(name1);
		dictList.add(name2);
		dictList.add(name3);
		application.setAttribute("dictList", dictList);

		List<String> list = (List<String>) application.getAttribute("dictList");
		for (String string : list) {
			System.out.println(string);
		}

		// 创建一个空对象,存储用户的在线记录,当每次访问(loginServlet),就在这个对象加1
		List<String> userList = new LinkedList<>();
		application.setAttribute("userList", userList);

	}

}

2、在web.xml中注册

  <!-- InitServlet的配置 -->
  <servlet>
  	<servlet-name>initServlet</servlet-name>
  	<servlet-class>com.jsp.InitServlet</servlet-class>
  	<load-on-startup>0</load-on-startup>
  </servlet>

3、在其他servlet中,取ServletContext的值

在helloservlet类中
		ServletContext application = this.getServletContext();
		List<String> list = (List<String>) application.getAttribute("dictList");
		for (String string : list) {
			System.out.println("hello=>"+string);
		}

访问这个helloservlet的时候,可以取到值


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值