Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Spring mvc springmvc中带哈希的URL_Spring Mvc - Fatal编程技术网

Spring mvc springmvc中带哈希的URL

Spring mvc springmvc中带哈希的URL,spring-mvc,Spring Mvc,各位 我使用的是SpringMVC4。我的应用程序将激活url发送到用户的电子邮件 激活url: www.example.com:8080/myapp/user/activate/$2a$10$Ax2WL93zU3mqjtdxuYlYvuWWyQsPBhkhIfzYHJYk4rdNlAY8qCyC6 但是,我的应用程序找不到路径 我的控制器: @RequestMapping(value=“/user/activate/{hash}) public void activateUser(@Path

各位

我使用的是SpringMVC4。我的应用程序将激活url发送到用户的电子邮件

激活url:

www.example.com:8080/myapp/user/activate/$2a$10$Ax2WL93zU3mqjtdxuYlYvuWWyQsPBhkhIfzYHJYk4rdNlAY8qCyC6
但是,我的应用程序找不到路径

我的控制器:

@RequestMapping(value=“/user/activate/{hash})
public void activateUser(@PathVariable(“哈希”)字符串哈希){
userService.activate(散列);
}
我做错了什么

更新:

我发现若散列包含点(“.”),则抛出404错误

我已更改我的url:

www.example.com:8080/myapp/user/activate?code=$2a$10$Ax2WL93zU3mqjtdxuYlYvuWWyQsPBhkhIfzYHJYk4rdNlAY8qCyC6
和我的控制器:

@RequestMapping(value=“/user/activate)
public void activateUser(@RequestParam(“code”)字符串散列){
userService.activate(散列);
}

它工作正常。

您没有从控制器返回任何内容,因此收到404

如果路径变量值中有点(.),则必须在RequestMapping中明确声明,如下所示-

@RequestMapping(value = "/download/{attachmentUri:.+}", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<InputStreamResource> downloadAttachment(@PathVariable("attachmentUri") String attachmentUri,
                                                              HttpServletResponse response,
                                                              WebRequest webRequest) {

}
@RequestMapping(value=“/download/{attachmentUri:.+}”,method=RequestMethod.POST)
@应答器
public ResponseEntity downloadAttachment(@PathVariable(“attachmentUri”)字符串attachmentUri,
HttpServletResponse,
WebRequest(WebRequest){
}

发生了什么错误,并记录了日志?出现了404异常。我可以稍后附加日志。您有任何请求映射工作吗?是的,我有。如果我以散列形式发送一个整数值,它就会工作。因此,如果您也在URI中使用应用程序上下文调用它,您是否使用调试器验证它不会运行控制器?我在问,因为你回来了。我在这里也试过了,得到了一个404,但是控制器被调用了。我返回了“重定向:/user”,它现在可以工作了。谢谢。@Nim接得好!我最初检查了相同的东西,但由于我正在使用调试器,并且看到正在调用该方法,所以我不再进一步查看!