2009-11-19 7 views
3

Avoir la ServletAPI ainsi que les configurations que vous pouvez faire à la jetée ou tout autre conteneur WebQuelques questions servlet/jetée

  1. Avons-nous un moyen de limiter la taille des requêtes? (c'est-à-dire fermer la connexion si vous enregistrez plus de 50 Mo)
  2. Pouvons-nous en quelque sorte tuer l'envoi d'une demande qui prend trop de temps?
  3. Lors de l'envoi d'une requête dans votre propre servlet configuré, pouvons-nous transférer (pas rediriger) la requête vers le servlet 'par défaut'. ? Cela fonctionnera-t-il toujours?

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

Merci à l'avance!

Répondre

2

Le printemps a quelque chose à régler. Si vous utilisez Spring, vous avez de la chance, ou bien vous devez lancer votre propre solution en fonction de ce que Spring fait. Je ne peux pas parler pour d'autres cadres, mais je suppose que beaucoup d'autres cadres auraient un certain soutien pour cela.

Jetez un oeil à org.springframework.web.multipart.commons.CommonsMultipartResolver et org.springframework.web.multipart.MaxUploadSizeExceededException

Le CommonsMultipartResolver a une propriété maxUploadSize qui vous permet de contrôler la taille max.

+0

et pour le point 2? –

+0

http://stackoverflow.com/questions/1414795/how-to-specify-http-request-timeout-parameter-on-java-servlet-container peut avoir quelque chose d'intéressant pour vous. Cependant, je ne suis au courant de rien dans l'API de servlet qui vous permet d'annuler une demande. – rahul