如何在ServletRequestWrapper中过度请求对象?

时间:2010-07-12 01:30:47

标签: java jsp servlets

我希望使用getParameter() ServletRequestWrapper方法覆盖getParameter()的默认SecurityRequestWrapper方法。

例如,如果我使用一个简单的jsp表单来取一个人的名字,

String name = request.getParameter("firstName");

我希望上面的getParameter()方法来自SecurityRequestWrapper类。我无法理解请求对象是如何过度的,因为getParameter方法默认以任何jsp形式默认调用它。

2 个答案:

答案 0 :(得分:3)

我了解您所谈论的SecurityRequestWrapper已经实现了HttpServletRequestWrapper?如果是这样,那么只需创建Filter映射到url-pattern *.jsp(或者您想要调用此Filter的任何内容),并基本完成以下操作在doFilter()方法中。

chain.doFilter(new SecurityRequestWrapper((HttpServletRequest) request, response));

答案 1 :(得分:-2)

我可能错了,但我不认为这是可能的。因为请求和响应对象是由容器创建的,并传递给servlet的进程方法。这些对象是由容器创建的原因,因为它们想要刷新输出并希望控制它。但是我很想知道是否可以传递我们自己的请求/响应对象。