Java 如何在ServletRequestWrapper中覆盖请求对象?
我想使用Java 如何在ServletRequestWrapper中覆盖请求对象?,java,jsp,servlets,Java,Jsp,Servlets,我想使用SecurityRequestWrapper的getParameter()方法超越ServletRequestWrapper的默认getParameter()方法 例如,如果我使用一个简单的jsp表单来获取一个人的名字 String name = request.getParameter("firstName"); 我希望上面的getParameter()方法来自SecurityRequestWrapper类。我无法理解请求对象是如何被覆盖的,因为在任何jsp表单中,默认情况下都会对其
SecurityRequestWrapper
的getParameter()
方法超越ServletRequestWrapper
的默认getParameter()
方法
例如,如果我使用一个简单的jsp表单来获取一个人的名字
String name = request.getParameter("firstName");
我希望上面的
getParameter()
方法来自SecurityRequestWrapper
类。我无法理解请求对象是如何被覆盖的,因为在任何jsp表单中,默认情况下都会对其调用getParameter
方法。我可能错了,但我认为这是不可能的。因为请求和响应对象是由容器创建的,并传递给servlet的流程方法。这些对象之所以由容器创建,正是因为它们希望刷新输出并希望控制输出。但是,我很想知道是否可以传递我们自己的请求/响应对象。我可能错了,但我认为这是不可能的。因为请求和响应对象是由容器创建的,并传递给servlet的流程方法。这些对象之所以由容器创建,正是因为它们希望刷新输出并希望控制输出。但是,我很想知道是否可以传递我们自己的请求/响应对象。我知道您所说的SecurityRequestWrapper
已经实现了吗?如果是这样,那么只需创建一个过滤器
,该过滤器映射到*.jsp的url模式
(或者您想调用此过滤器的任何内容),并在doFilter()方法中基本上执行以下操作
chain.doFilter(new SecurityRequestWrapper((HttpServletRequest) request, response));
我知道您所说的SecurityRequestWrapper
已经实现了吗?如果是这样,那么只需创建一个过滤器
,该过滤器映射到*.jsp的url模式
(或者您想调用此过滤器的任何内容),并在doFilter()方法中基本上执行以下操作
chain.doFilter(new SecurityRequestWrapper((HttpServletRequest) request, response));
你错了。看看HttpServletRequestWrapper
和HttpServletReponseWrapper
。你错了。看看HttpServletRequestWrapper
和HttpServletResponseWrapper
。这太棒了,我愚蠢地没有想到这种过滤方法。@Shamik:你可以在我发布的相关答案中找到几个使用示例:和。这太棒了,我愚蠢地没有想到这种过滤方法。@Shamik:你可以在我在这里发布的相关答案中找到几个使用示例:和。