import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;public class Info extends HttpServlet {
  
  ServletConfig config;  public void init(ServletConfig tconfig) throws ServletException {
    super.init(tconfig);
    config=tconfig;}  public String getServletInfo() {
  return "Info version 1.9: a demo and diagnostic servlet from vqSoft";}  private void pp(PrintWriter os, String name, String value) {
  os.print("<b>"+name+": </b>");
  if (value==null)
      os.print("<b>none</b>");
    else
      os.print(value);
    os.println("<br>");}
  
  private void pp(PrintWriter os, String name, int value) {
    pp(os, name, String.valueOf(value));}  public void dostuff(HttpServletRequest req, HttpServletResponse rep) throws ServletException, IOException {
   log("invoked");
    rep.setContentType("text/html");
  PrintWriter os=rep.getWriter();
    os.println("<html>");
  os.println("<head><title>Info servlet</title></head>");
  os.println("<body bgcolor=#add8af>");
  os.println("<table border=0 cellspacing=0 cellpadding=2 cols=3 width=100%>");
    os.println("<tr><td valign=top>");
    os.println("<h1 align=center>Info servlet</h1>");
    os.println("<hr>");
    os.println("<p>This page was generated by <i>Info</i> version 1.9, a demo and diagnostic servlet supplied with <a href=http://www/vqsoft.com/vq/server/index.html><i>vq</i>Server</a>. ");
    os.println("<i>Info</i> lists its initialisation parameters, information about the http request which invoked it and the http request parameters passed to it.</p>");
    os.println("<hr>");
    
    os.println("<h3>Servlet initialisation parameters</h3>");
    Enumeration e=config.getInitParameterNames();
    if (!e.hasMoreElements())
      os.println("<b>None!</b>");
    else while (e.hasMoreElements()) {
      String name=(String) e.nextElement();
      String value=config.getInitParameter(name);
      pp(os, name, value);}
    os.println("<hr>");
    
    os.println("<h3>Request parameters</h3>");
    pp(os, "Request method", req.getMethod());
  pp(os, "Request URI", req.getRequestURI());
  pp(os, "Request protocol", req.getProtocol());
    pp(os, "Servlet path", req.getServletPath());
  pp(os, "Path info", req.getPathInfo());
  pp(os, "Path translated", req.getPathTranslated());
  pp(os, "Query string", req.getQueryString());
  pp(os, "Content length", req.getContentLength());
  pp(os, "Content type", req.getContentType());
  pp(os, "Server name", req.getServerName());
  pp(os, "Server port", req.getServerPort());
  pp(os, "Remote user", req.getRemoteUser());
    pp(os, "Remote address", req.getRemoteAddr());
  pp(os, "Remote host", req.getRemoteHost());
  pp(os, "Authorization scheme", req.getAuthType());
    os.println("<hr>");
    
    os.println("<h3>Request headers</h3>");
    e=req.getHeaderNames();
    if (!e.hasMoreElements())
      os.println("<b>None!</b>");
    else while (e.hasMoreElements()) {
      String name=(String) e.nextElement();
      String value=(String) req.getHeader(name);
      pp(os, name, value);}
    os.println("<hr>");
    
    os.println("<h3>Servlet parameters</h3>");
    e=req.getParameterNames();
    if (!e.hasMoreElements())
      os.println("<b>None!</b>");
    else while (e.hasMoreElements()) {
      String name=(String) e.nextElement();
      String value=req.getParameter(name);
      StringBuffer tbuffer=new StringBuffer();
      pp(os, name, value);}
    os.println("<hr>");
    
    os.println("<h3>Other servlets (by name)</h3>");
    ServletContext tcontext=config.getServletContext();
    e=tcontext.getServletNames();
    if (!e.hasMoreElements())
      os.println("<b>None!</b>");
    else while (e.hasMoreElements()) {
      os.println((String) e.nextElement()+"<br>");}
    os.println("<hr>");
    
    os.println("<h3>Other servlets</h3>");
    e=tcontext.getServlets();
    if (!e.hasMoreElements())
      os.println("<b>None!</b>");
    else while (e.hasMoreElements()) {
      Servlet tservlet=(Servlet) e.nextElement();
      os.println(tservlet.getServletInfo()+"<br>");}
    os.println("<hr>");
    
    os.println("<p><i>Info</i> version 1.9. <i>Info</i> and <a href=http://www/vqsoft.com/vq/server/index.html><i>vq</i>Server</a> are copyright &copy; 1997-99 Steve Shering and <i>vq</i>Soft.");
    os.println("</td>");    
    os.println("<td width=20></td>");
    os.println("<td valign=top width=150>");
    os.println("<a href=/index.html><img src=/vq/server/icons/utab.gif border=0 height=15 width=15>Home page</A>");
    os.println("</td>");
    os.println("</table>");
    os.println("</body></html>");
    os.flush();}  public void doGet(HttpServletRequest req, HttpServletResponse rep) throws ServletException, IOException {
    dostuff(req, rep);}  public void doPost(HttpServletRequest req, HttpServletResponse rep) throws ServletException, IOException {
    dostuff(req, rep);}}---------------
[email protected]

解决方案 »

  1.   

    这是《java网络编程》一书中的实例,用于取html的头信息:import java.net.*;
    import java.io.*;
    import java.util.*;public class MIMEHeadersViewer {  public static void main(String args[]) {    for (int i=0; i < args.length; i++) {
          try {
            URL u = new URL(args[i]);
            URLConnection uc = u.openConnection();
            System.out.println("Content-type: " + uc.getContentType());
            System.out.println("Content-encoding: " 
             + uc.getContentEncoding());
            System.out.println("Date: " + new Date(uc.getDate()));
            System.out.println("Last modified: " 
             + new Date(uc.getLastModified()));
            System.out.println("Expiration date: " 
             + new Date(uc.getExpiration()));
            System.out.println("Content-length: " + uc.getContentLength());
          }  // end try
          catch (MalformedURLException e) {
            System.err.println(args[i] + " is not a URL I understand");
          }
          catch (IOException e) {
            System.err.println(e);
          }      
          System.out.println();       
        }  // end for
          
      }  // end main}  // end MIMEHeadersViewer