Spring mvc springmvc中带哈希的URL
各位 我使用的是SpringMVC4。我的应用程序将激活url发送到用户的电子邮件 激活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
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接得好!我最初检查了相同的东西,但由于我正在使用调试器,并且看到正在调用该方法,所以我不再进一步查看!