ourhttpservlet.java
来自「JAVA Servlet2.3外文书籍源码」· Java 代码 · 共 192 行
JAVA
192 行
package httpExamples;import javax.servlet.*;import javax.servlet.http.*;import java.io.IOException;import java.io.PrintWriter;import java.util.Enumeration;import java.util.Date;import java.text.DateFormat;import java.util.GregorianCalendar;import java.util.Calendar;/** * Title: OurHttpServlet * Description: Example servlet implementing demonstrating use of request and * response objects * Copyright: Copyright (c) 2001 * Company: * @author Andrew Harbourne-Thomas * @version 1.0 */public class OurHttpServlet extends HttpServlet { /** * Method to handle a HTTP GET request * * @param request HttpServletRequest object for the clients request * @param response HttpServletResponse object for the servers response * @throws IOException */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { //------------------------------------ //Extract data from the request object //------------------------------------ //Extract Parameters (if any) String name = request.getParameter("name"); String[] children = request.getParameterValues("children"); Enumeration params = request.getParameterNames(); //Extract Attributes (if any) Enumeration attributes = request.getAttributeNames(); //Extract Header Info Enumeration headers = request.getHeaderNames(); //Information about the client String protocolUsed = request.getProtocol(); String mimeTypeUsed = request.getContentType(); String client = request.getRemoteHost(); //---------------------------------------- //Send response back using response object //---------------------------------------- //Convienience - redirect page if name parameter was Frank if (name != null && "Frank".equals(name.trim())) { response.sendRedirect("Frank.html"); return; } //buffering int buffersize = response.getBufferSize(); //add a header - more useful with custom clients response.addHeader("Servlet", "OurHttpServlet"); //set the refresh option requesting that the client refresh //in specified number of seconds - not officially part of //HTTP 1.0 or 1.1 by supported by most browsers response.setIntHeader("Refresh", 10); //get the PrintWriter object to write output to the client PrintWriter out = response.getWriter(); //set the mime type content response.setContentType("text/html"); //set the status code - not really necessary in this case response.setStatus(HttpServletResponse.SC_OK); //send back the data collected from the request out.println("<html><head><title>OurHttpServlet</title></head>"); out.println("<body><h1>OurHttpServlet</h1>"); out.println("<h2>Current Time</h2>"); Calendar calendar = new GregorianCalendar(); calendar.setTime(new Date()); String currentTime = (calendar.get(Calendar.HOUR) + ":" + (calendar.get(Calendar.MINUTE) < 10 ? "0" + calendar.get(Calendar.MINUTE): "" + calendar.get(Calendar.MINUTE)) + ":" + (calendar.get(Calendar.SECOND) < 10 ? "0" +calendar.get(Calendar.SECOND): "" + calendar.get(Calendar.SECOND)) + " " + (calendar.get(Calendar.AM_PM) == Calendar.AM ? "AM" : "PM") ); out.println("<b>Time:</b> " + currentTime); out.println("<h2>Parameters</h2>"); out.println("<b>Name:</b>" + name); out.print("<br><b>Children:</b>"); if (children == null) { out.println("none"); } else { for (int i = 0; i < children.length; i++) out.println(children[i] + "; "); } out.print("<br><b>Parameters:</b>"); if (params.hasMoreElements()) { while (params.hasMoreElements()) { String param = (String)params.nextElement(); out.println("<br>" + param + ": <i>" + request.getParameter(param) + "</i>"); } } else { out.println("none"); } out.println("<h2>Attributes</h2>"); if (attributes.hasMoreElements()) { while (attributes.hasMoreElements()) { String attrib = (String)attributes.nextElement(); out.println("<br>" + attrib + ": <i>" + request.getAttribute(attrib) + "</i>"); } } else { out.println("none"); } out.println("<h2>Header Info</h2>"); out.print("<b>Headers:</b>"); if (headers.hasMoreElements()) { while (headers.hasMoreElements()) { String head = (String)headers.nextElement(); out.println("<br>" + head + ": <i>" + request.getHeader(head) + "</i>"); } } else { out.println("none"); } //on large pages it may help performance to periodically flush the //output to the client rather than wait until the end of the page //(depending on the servers buffering strategy) out.flush(); out.println("<h2>Path Elements</h2>"); //Request Path Elements String requestURI = request.getContextPath() + request.getServletPath() + ((request.getPathInfo() == null) ? "" : request.getPathInfo()); out.println("<b>Request URI:</b> " + requestURI); out.println("<br><b>Request Context Path:</b> " + request.getContextPath()); out.println("<br><b>Request Servlet Path:</b> " + request.getServletPath()); out.println("<br><b>Request Path Info:</b> " + request.getPathInfo()); out.println("<br><b>Request Path Translated:</b> " + request.getPathTranslated()); out.println("<br><b>Request Request URI:</b> " + request.getRequestURI()); out.println("<br><b>Request Request URL:</b> " + request.getRequestURL()); out.println("<br><b>Query String:</b> " + request.getQueryString()); out.println("<h2>Client</h2>"); out.println("<b>Protocol used:</b>" + protocolUsed); out.println("<br><b>Mime Type Used:</b>" + mimeTypeUsed); out.println("<br><b>Client:</b>" + client); out.println("</body></html>"); out.close(); } /** * Method to handle a HTTP POST request * * @param request HttpServletRequest object for the clients request * @param response HttpServletResponse object for the servers response * @throws IOException */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { //forward request to doGet method doGet(request, response); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?