`
TRAMP_ZZY
  • 浏览: 131986 次
社区版块
存档分类
最新评论

ServletContext 与ServletConfig剖析

阅读更多
1. ServletContext 是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放。request,一个用户可有多个;session,一个用户一个;而servletContext,所有用户共用一个。所以,为了节省空间,提高效率,ServletContext中,要放必须的、重要的、所有用户需要共享的线程又是安全的一些信息。[/size]一个ServletContext对象表示了一个Web应用程序的上下文。运行在JAVA虚拟机中的每一个Web应用程序都有一个与之相关的Servlet上下文。


2. ServletConfig 从一个servlet被实例化后,对任何客户端在任何时候访问有效,但仅对本servlet有效,一个servlet的ServletConfig对象不能被另一个servlet访问。


3. 配置相应范围的参数和读取
<context-param>
    <param-name>charset</param-name>
    <param-value>utf-8</param-value>
  </context-param>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>TestServletContextServlet</display-name>
    <servlet-name>TestServletContextServlet</servlet-name>
    <servlet-class>cn.fruit.test.TestServletContextServlet</servlet-class>
    <init-param>
    	<param-name>servletconfig</param-name>
    	<param-value>zhang</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>TestServletContextServlet</servlet-name>
    <url-pattern>/TestServletContextServlet</url-pattern>
  </servlet-mapping>


public class TestServletContextServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
  
	public void init(ServletConfig config) throws ServletException {
		
		super.init(config);
		
		ServletContext context = config.getServletContext();
		String attr = (String) context.getInitParameter("charset");
		String initP = config.getInitParameter("servletconfig");
		System.out.println("attr " + attr);
		System.out.println("initP " + initP);
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		System.out.println("fuck");
		System.out.println("path info " + request.getPathInfo());
		ServletContext context = request.getServletContext();
		System.out.println(context.getInitParameter("charset"));
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics