Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在ServletRequestWrapper中覆盖请求对象?_Java_Jsp_Servlets - Fatal编程技术网

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:你可以在我在这里发布的相关答案中找到几个使用示例:和。