码迷,mamicode.com
首页 > 其他好文 > 详细

ServletContext及相关案例

时间:2017-08-10 22:38:15      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:资源文件   初始化   输入流   ssas   访问   vax   容器   创建   request   

ServletContext对象 (域对象)

定义:WEB容器在启动时,它会为每个WEB运用程序都创建一个对应的ServletContext对象,它代表当前WEB运用。

  一个WEB运用对应一个ServletContext对象

  一个WEB运用下有多个Servlet程序

所有的Servlet程序都共享同一个ServletContext对象

作用

1、获取WEB运用的全局初始化参数         案例和ServletConfig类似

String getInitParameter(String name)

Enumeration getInitParameters()

  配置全局初始化参数    在<Servlet>外面

<Context-param>

   <param-name>assasasa</param-name>

   <param-value>fdsfdsfsd<param-value>

</Context-param>

2、实现数据共享

void setAttribute(String name,Object object) 存入数据

void removeAttribute(String name)    删除数据

  • object getAttribute(String name)   获取数据

3、读取资源文件

InputStream getResourceAsStream(String path)  通过文件地址获取输入流

String getRealPath(String path)  通过文件地址获取文件的绝对磁盘路径

 

统计网站访问量

package cn.idcast.Servlet;

import java.io.IOException;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletCount extends HttpServlet {
	/**
	 * 实例被创建,调用init进行初始化 在域对象存入一个变量,初始化为0
	 */
	public void init() throws ServletException {
		getServletContext().setAttribute("count", 0);
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		/**
		 * 每一次访问,都会执行该方法 获得count的变量,每次访问count都会自增,再存入到域对象中
		 */
		ServletContext sc = getServletContext();
		// 因为count 是数字,所以用integer
		Integer count = (Integer) sc.getAttribute("count");
		// ++i是先处理完加法,再做其它运算, i++是处理完相关运算(执行完一条语句后)后自加
		sc.setAttribute("count", ++count);
		// 向页面输出内容
		response.setContentType("text/html;charset=UTF-8");
		response.getWriter().write("<h3>下次再来</h3>");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

  

package cn.idcast.Servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletShow extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		Integer count = (Integer) getServletContext().getAttribute("count");
		// 向页面输出内容
		response.setContentType("text/html;charset=UTF-8");
		response.getWriter().write("<h3>一共访问了" + count + "次</h3>");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

  

ServletContext及相关案例

标签:资源文件   初始化   输入流   ssas   访问   vax   容器   创建   request   

原文地址:http://www.cnblogs.com/zengjiao/p/7341352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!