关于Servlet的ServletContext的介绍

以一个网站登录计数为例子:

 1 package cn.contextcount;

 2 

 3 import java.io.IOException;

 4 import java.io.PrintWriter;

 5 

 6 import javax.servlet.ServletContext;

 7 import javax.servlet.ServletException;

 8 import javax.servlet.http.HttpServlet;

 9 import javax.servlet.http.HttpServletRequest;

10 import javax.servlet.http.HttpServletResponse;

11 

12 public class Counter extends HttpServlet {

13 

14     /**

15      * 一个计数器实例

16      * 

17      */

18     

19     public void doGet(HttpServletRequest request, HttpServletResponse response)

20             throws ServletException, IOException {

21         

22         try {

23             response.setCharacterEncoding("gb2312");

24             // 获取ServletContext接口的实现类

25             ServletContext sc = super.getServletContext();

26             Integer count = (Integer) sc.getAttribute("count");

27             if (null == count) {

28                 count = new Integer(1);

29             } else {

30                 count = new Integer(count.intValue() + 1);

31             }

32             sc.setAttribute("count", count);

33             PrintWriter out = response.getWriter();

34             out.print("<body>");

35             out.print("你登录的次数是:" + count.intValue());

36             out.print("</body>");

37             out.close();

38 

39         } catch (IOException e) {

40             e.printStackTrace();

41         }

42 

43     }

44 

45     public void doPost(HttpServletRequest request, HttpServletResponse response)

46             throws ServletException, IOException {

47 

48         doGet(request, response);

49     }

50 

51 }

XML源码:

 1 <?xml version="1.0" encoding="UTF-8"?>

 2 <web-app version="3.0" 

 3     xmlns="http://java.sun.com/xml/ns/javaee" 

 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

 5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 

 6     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

 7   <display-name></display-name>

 8   <servlet>

 9     <servlet-name>Counter</servlet-name>

10     <servlet-class>cn.contextcount.Counter</servlet-class>

11   </servlet>

12 

13   <servlet-mapping>

14     <servlet-name>Counter</servlet-name>

15     <url-pattern>/count</url-pattern>

16   </servlet-mapping>    

17   <welcome-file-list>

18     <welcome-file>index.jsp</welcome-file>

19   </welcome-file-list>

20 </web-app>

 

 

你可能感兴趣的:(servletContext)