Have you tried using the doc package

解决方案 »

  1.   

    我觉得很难,不过还可以一用,我用了好像还行,不知道到底行不行,如果没达到你的要求,可再讨论。第一个ReplaceHeader.java:import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletRequestWrapper;
    import java.util.Vector;
    import java.util.Enumeration;public class ReplaceHeader extends HttpServletRequestWrapper
    {
    public ReplaceHeader(HttpServletRequest request)
    {
    super(request);
    }

    public String getHeader(String name)  
    {
    if(name.equalsIgnoreCase("METHOD"))
    {
    return "POST";
    }
    return super.getHeader(name);
    }
    public Enumeration getHeaders(String name)
    {
    if(name.equalsIgnoreCase("METHOD"))
    {
    Vector method = new Vector(1);
    method.addElement("POST");
    return method.elements();
    }
    return super.getHeaders(name);
    }

    public String getMethod()
    {
    return "POST";
    }
    }第二个FilterMethod.java:import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;public class FilterMethod implements Filter
    {
    private FilterConfig config;
    protected String encoder;
    public void init(FilterConfig config)
    {
    this.config = config;
    }
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException,ServletException
    {
    HttpServletRequest httpRequest = (HttpServletRequest)request;
    ReplaceHeader rh = new ReplaceHeader(httpRequest);
    chain.doFilter(rh, response);
    }
    public void destroy()
    {
    }
    }WEB-INF/web.xml加入:  <filter>
        <filter-name>ReplaceMethod</filter-name>
        <description>replaces the method of the request.</description>
        <filter-class>FilterMethod</filter-class>
      </filter>  <filter-mapping>
        <filter-name>ReplaceMethod</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>web.xml的配置你应该不成问题的吧。测试testRequest.java:import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.ServletException;
    import java.io.PrintWriter;
    import java.io.IOException;public class testRequest extends HttpServlet
    {
    protected void doPost(HttpServletRequest request, HttpServletResponse response)throws IOException,ServletException
    {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    String str = "post";
    System.out.println(str);
    out.println(str);
    }
    }