Java HttpservletRequest路径信息设置不正确

Java HttpservletRequest路径信息设置不正确,java,servlets,Java,Servlets,我将HttpservletRequest的路径信息设置如下 request.setAttribute("javax.servlet.include.path_info", pathInfo); 在这个语句之后,我尝试获取pathinfo,但返回null String info = request.getPathInfo(); 此处的信息为null 我设置的路径正确吗?这样不行。除了属性之外,HttpServletRequest对象是只读的。但您可以做的是将请求对象替换为返回所需路径信息的包装

我将HttpservletRequest的路径信息设置如下

request.setAttribute("javax.servlet.include.path_info", pathInfo);
在这个语句之后,我尝试获取pathinfo,但返回null

String info = request.getPathInfo();
此处的信息为
null


我设置的路径正确吗?

这样不行。除了属性之外,HttpServletRequest对象是只读的。但您可以做的是将请求对象替换为返回所需路径信息的包装对象。通常情况下,您会在a中执行此操作,并将请求包装在a中。

这样做行不通。除了属性之外,HttpServletRequest对象是只读的。但您可以做的是将请求对象替换为返回所需路径信息的包装对象。通常情况下,您会在a中执行此操作,并将请求包装在a中。

这样做行不通。除了属性之外,HttpServletRequest对象是只读的。但您可以做的是将请求对象替换为返回所需路径信息的包装对象。通常情况下,您会在a中执行此操作,并将请求包装在a中。

这样做行不通。除了属性之外,HttpServletRequest对象是只读的。但您可以做的是将请求对象替换为返回所需路径信息的包装对象。通常情况下,您会在a中这样做,并将请求包装在a中。

第二部分是错误的。如果将属性设置为servlet请求,则只能通过
getAttribute
方法获取该属性

因此,如果使用以下方法设置值:

request.setAttribute(“javax.servlet.include.path_info”,pathInfo)

您可以通过以下方式获得该值:

request.getAttribute(“javax.servlet.include.path_info”)

现在
request.getPathInfo()
在URI之后提供额外的路径信息。在您的情况下,它将为null,因为URI之后将没有任何内容:

例如-如果您有url=


request.getPathInfo()
将返回id=1234*name=fred第二部分错误。如果将属性设置为servlet请求,则只能通过
getAttribute
方法获取该属性

因此,如果使用以下方法设置值:

request.setAttribute(“javax.servlet.include.path_info”,pathInfo)

您可以通过以下方式获得该值:

request.getAttribute(“javax.servlet.include.path_info”)

现在
request.getPathInfo()
在URI之后提供额外的路径信息。在您的情况下,它将为null,因为URI之后将没有任何内容:

例如-如果您有url=


request.getPathInfo()
将返回id=1234*name=fred第二部分错误。如果将属性设置为servlet请求,则只能通过
getAttribute
方法获取该属性

因此,如果使用以下方法设置值:

request.setAttribute(“javax.servlet.include.path_info”,pathInfo)

您可以通过以下方式获得该值:

request.getAttribute(“javax.servlet.include.path_info”)

现在
request.getPathInfo()
在URI之后提供额外的路径信息。在您的情况下,它将为null,因为URI之后将没有任何内容:

例如-如果您有url=


request.getPathInfo()
将返回id=1234*name=fred第二部分错误。如果将属性设置为servlet请求,则只能通过
getAttribute
方法获取该属性

因此,如果使用以下方法设置值:

request.setAttribute(“javax.servlet.include.path_info”,pathInfo)

您可以通过以下方式获得该值:

request.getAttribute(“javax.servlet.include.path_info”)

现在
request.getPathInfo()
在URI之后提供额外的路径信息。在您的情况下,它将为null,因为URI之后将没有任何内容:

例如-如果您有url=


request.getPathInfo()
将返回id=1234*name=fred

谢谢Sean..实际上我想修改收到的请求的路径信息。修改请求的路径信息后,我必须调用actionservlet.post操作。是否有任何示例资源可用于修改请求路径信息。@user3147325这正是httpservlerwrapper的用例。覆盖包装中的gatPathInfo方法以返回所需的pathinfo。谢谢Sean..实际上我想修改收到的请求的路径信息。修改请求的路径信息后,我必须调用actionservlet.post操作。是否有任何示例资源可用于修改请求路径信息。@user3147325这正是httpservlerwrapper的用例。覆盖包装中的gatPathInfo方法以返回所需的pathinfo。谢谢Sean..实际上我想修改收到的请求的路径信息。修改请求的路径信息后,我必须调用actionservlet.post操作。是否有任何示例资源可用于修改请求路径信息。@user3147325这正是httpservlerwrapper的用例。覆盖包装中的gatPathInfo方法以返回所需的pathinfo。谢谢Sean..实际上我想修改收到的请求的路径信息。修改请求的路径信息后,我必须调用actionservlet.post操作。是否有任何示例资源可用于修改请求路径信息。@user3147325这正是httpservlerwrapper的用例。覆盖包装中的gatPathInfo方法以返回所需的pathinfo。感谢您的回复。实际上,我不想修改现有的请求对象路径信息和参数。修改后,我希望在调用actionservlet的dopost时使用此请求。是否有任何方法(好/坏)修改请求对象。我看过HttpServletRequestWrapp