2009-11-19 36 views
3

具有ServletAPI再加上你可以到碼頭的配置或其他任何Web容器一些的servlet /碼頭問題

  1. 我們有沒有辦法來限制請求的大小? (即,如果發佈多於50MB的關閉連接)
  2. 我們可以通過某種方式終止發送時間過長的請求嗎?
  3. 在您自己配置的servlet中分派請求時,我們能否將請求轉發(不重定向)到'默認'servlet。 ?這一切都會起作用嗎?

    RequestDispatcher rd = getServletContext().getNamedDispatcher("default"); 
    HttpServletRequest wrapped = new HttpServletRequestWrapper(req) { 
        public String getServletPath() { return ""; } 
    }; 
    rd.forward(wrapped, resp); 
    

提前感謝!

回答

2

春天有事情要照顧這個。如果您使用的是Spring,那麼您很幸運,否則您需要根據Spring的功能推出自己的解決方案。我不能說其他框架,但我想很多其他框架會對此有所支持。

看看org.springframework.web.multipart.commons.CommonsMultipartResolverorg.springframework.web.multipart.MaxUploadSizeExceededException

CommonsMultipartResolver有一個屬性maxUploadSize,可以讓你控制的最大尺寸。

+0

和點2? – 2011-04-01 12:21:28

+0

http://stackoverflow.com/questions/1414795/how-to-specify-http-request-timeout-parameter-on-java-servlet-container可能會讓你感興趣的東西。不過,我不知道可以讓你取消請求的servlet api中的任何東西。 – rahul 2011-04-02 00:13:40