针对过大的HTTP请求保护Java webapp(使用JAX-RS)

时间:2012-05-03 14:16:27

标签: java jersey jax-rs

我有一个JAX-RS 1.1资源FooBar,它有一个接受String POST参数的方法,如下所示

@Path("/foobar")
public class FooBar {

  @POST
  public void doSomething(@FormParam("name") String name) {
    //...
  }
}

如果name超过指定的最大值,是否可以防止被调用?我想知道如果这个名字大小为1GB会怎么样?

2 个答案:

答案 0 :(得分:2)

通常,您可以在ServletContainer上配置发布请求的最大大小。例如,Tomcat在httpConnector指令中设置了maxPostSize。默认情况下,Tomcat中的大小为2 MB左右。

答案 1 :(得分:1)

通常您会使用过滤器。这是an example in Grailsand one in Ruby。这是一个教程,将在Jersey中显示如何执行此操作。