servlet的功能主要为读取客户端请求的头部信息Apache Tomcat/6.0.20
实现了doGet()与doPost()方法,为何会出错调试了很久,我把它放在tomcat项目目录里,手动建立项目再启动也报同样的错误注:FirstServlet是我另外建立的一个servlet运行没有问题。我是新手,希望知道此问题所在的朋友告诉我。感谢!
源代码:
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class GetHeaderInfoServlet extends HttpServlet {
 private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public GetHeaderInfoServlet() {
        super();
        // TODO Auto-generated constructor stub
    } /**
  * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  printHeader(request, response);
 } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  printHeader(request, response);
 } 
 
 public void printHeader(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException
 {
  String headers = null;
  Enumeration<?> e = request.getHeaderNames();  response.setContentType("text/html;charset=utf-8");
  PrintWriter out = response.getWriter();  out.println("<html>");
  out.println("<head><title>display header values</title></head>");
  out.println("<body>");  out.println("<table align=\"center\" border=\"1\">");
  out.println("<tr><th>名称</th><th>数值</th>");  while (e.hasMoreElements()) {
   headers = (String) e.nextElement();
   if (headers != null) {
    out.println("<tr><td align=\"center\">" + headers + "</td>");
    out.println("<td align=\"center\">" + request.getHeader(headers) + "</td></tr>");
   }
  }
  out.println("</table><br>");  out.println("</body>");
  out.println("</html>");
  out.flush();
  out.close();
 }}
------------------------------------------
报错:
HTTP Status 405 - HTTP method GET is not supported by this URL--------------------------------------------------------------------------------type Status reportmessage HTTP method GET is not supported by this URLdescription The specified HTTP method is not allowed for the requested resource (HTTP method GET is not supported by this URL).
--------------------------------------------------------------------------------xml配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>
liugm1
</display-name>
<servlet>
<description>
</description>
<display-name>
FirstServlet</display-name>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>
FirstServlet</servlet-class>
</servlet>
<servlet>
<description>
</description>
<display-name>
GetHeaderInfoServlet</display-name>
<servlet-name>GetHeaderInfoServlet</servlet-name>
<servlet-class>
GetHeaderInfoServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/First</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GetHeaderInfoServlet</servlet-name>
<url-pattern>/head</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>