⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 requestcounterservlet.java

📁 <Java网络程序设计 J2EE>随书源码
💻 JAVA
字号:
/* * Class.java * Example shows how to cound the request to a certain servlet * Created on October 9, 2002, 1:27 PM */package jwadbook.servlets;/** * * @author  cai */import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import java.util.*;//import java.util.Calendar;public class RequestCounterServlet extends HttpServlet { 	private  Vector  counter;                public void init() throws ServletException {		counter	= new Vector();        	}                public void doPost ( HttpServletRequest req, HttpServletResponse resp ) 			throws ServletException,IOException	{       		RequestInfo reqinfo = new RequestInfo(getServletConfig());                GregorianCalendar current = new GregorianCalendar();                int hour = current.get(Calendar.HOUR_OF_DAY);                int min = current.get(Calendar.MINUTE);                String time = String.valueOf(hour) +":"+ String.valueOf(min);                reqinfo.setCounter(req, getServletContext(), time);                counter.add(reqinfo);                String outformat = req.getParameter("outformat");                PrintWriter out = resp.getWriter();		resp.setContentType("text/html");		out.println(" <HTML> ");		out.println(" <HEAD>");		out.println(" <TITLE>RequestCounterServlet</TITLE> ");		out.println(" </HEAD> ");		out.println(" <BODY BGCOLOR=white> ");		out.println(" <CENTER> ");		out.println(" <FONT COLOR='#009999' SIZE='4' face='Arial'> ");		out.println(" <STRONG>Display the History to this Servlet</STRONG> ");		out.println(" </FONT> ");		out.println(" </CENTER> ");		out.println(" <HR>");                    Enumeration reqlist = counter.elements();		out.println("<CENTER>Total Request Number to this Servlet: " + counter.size() +" </CENTER><br>  ");                out.println("<CENTER>");                out.println ( "<TABLE Border=1 BGCOLOR=WHITE> ");                while( reqlist.hasMoreElements() )                {                    out.println("<TR BGCOLOR='#99cee6'> <TH> Request Attribute </TH> </TR> ");                        RequestInfo nextreq = (RequestInfo)reqlist.nextElement();                        if (outformat!=null)                        {                            if(outformat.equals("simple"))                            {                                out.println("<TR> <TD>" + nextreq.getSimpleOutput("<BR>") + " </TD></TR>" );                            }                        }                        else                        {                            out.println("<TR> <TD>" + nextreq.getOutput("<BR>") + " </TD></TR>" );                        }                }                out.println ( "</TABLE> ");                out.println("</CENTER>");		out.println(" <HR> ");		out.println(" </BODY> ");		out.println(" </HTML> " );		out.flush();	}        public void doGet ( HttpServletRequest req, HttpServletResponse resp ) 			throws ServletException,IOException	{		doPost(req,resp);	}        	public String getServletInfo(){             return "Count Hit Servlet v1"; 	}                protected class RequestInfo        {            public RequestInfo(ServletConfig sconfig)            {                              this.sfg   = sconfig;            }            private ServletConfig sfg;            private String REQEST_TIME;                        private String AUTH_TYPE;             private String CONTENT_LENGTH;            private String CONTENT_TYPE;            private String DOCUMENT_ROOT;            private String PATH_INFO;            private String PATH_TRANSLATED;            private String QUERY_STRING;            private String REMOTE_ADDR;            private String REMOTE_HOST;            private String REMOTE_USER;            private String REQUEST_METHOD;            private String SCRIPT_NAME;            private String SERVER_PORT;            private String SERVER_INFO;            private String SERVER_NAME;            private String SERVER_PROTOCOL;                                    public void setCounter(HttpServletRequest req, ServletContext sc, String time)            {             REQEST_TIME = time;             AUTH_TYPE = req.getAuthType();             CONTENT_LENGTH = String.valueOf(req.getContentLength());             CONTENT_TYPE = req.getContentType();             //DOCUMENT_ROOT = sfg.getServletContext().getRealPath("/");             DOCUMENT_ROOT = sc.getRealPath("/");             PATH_INFO = req.getPathInfo();             PATH_TRANSLATED = req.getPathTranslated();             QUERY_STRING = req.getQueryString();             REMOTE_ADDR = req.getRemoteAddr();             REMOTE_HOST = req.getRemoteHost();             REMOTE_USER = req.getRemoteUser();             REQUEST_METHOD = req.getMethod();             SCRIPT_NAME = req.getServletPath();             SERVER_NAME = req.getServerName();             SERVER_PORT = String.valueOf(req.getServerPort());             SERVER_PROTOCOL = req.getProtocol();             //SERVER_INFO = sfg.getServletContext().getServerInfo();             SERVER_INFO = sc.getServerInfo();            }                    public String getOutput(String eofl)            {                String output = "REQEST_TIME: "      +REQEST_TIME + eofl +                                "AUTH_TYPE: "        +AUTH_TYPE + eofl +                                "CONTENT_LENGTH: "   +CONTENT_LENGTH + eofl +                                                "AUTH_TYPE: "          +AUTH_TYPE + eofl +                                "CONTENT_LENGTH: "     +CONTENT_LENGTH + eofl +                                "CONTENT_TYPE: "       +CONTENT_TYPE + eofl +                                "DOCUMENT_ROOT: "      +DOCUMENT_ROOT +eofl +                                "PATH_INFO: "          +PATH_INFO +eofl +                                "PATH_TRANSLATED: "    +PATH_TRANSLATED + eofl +                                "QUERY_STRING: "       +QUERY_STRING + eofl +                                "REMOTE_ADDR: "        +REMOTE_ADDR + eofl +                                "REMOTE_HOST: "        +REMOTE_HOST + eofl +                                "REMOTE_USER: "        +REMOTE_USER + eofl +                                "REQUEST_METHOD: "     +REQUEST_METHOD + eofl +                                                               "SCRIPT_NAME : "       +SCRIPT_NAME + eofl +                                "SERVER_NAME: "        +SERVER_NAME + eofl +                                "SERVER_PORT: "        +SERVER_PORT + eofl +                                "SERVER_PROTOCOL: "    +SERVER_PROTOCOL + eofl +                                "SERVER_INFO: "        +SERVER_INFO + eofl;                                return output;            }            public String getSimpleOutput(String eofl)            {                String output = "REQEST_TIME: "      +REQEST_TIME + eofl +                                "AUTH_TYPE"          +AUTH_TYPE + eofl +                                "CONTENT_TYPE"       +CONTENT_TYPE + eofl +                                "DOCUMENT_ROOT"      +DOCUMENT_ROOT +eofl +                                "PATH_INFO"          +PATH_INFO + eofl +                                "REMOTE_ADDR"        +REMOTE_ADDR + eofl +                                "REMOTE_HOST"        +REMOTE_HOST + eofl ;                return output;            }        }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -