【发布时间】:2017-07-14 09:20:06
【问题描述】:
我对 Spring MVC RequestMapping 注释有疑问。需要你的帮助。
我创建了一个 IPSL 控制器,我希望该 IPSL 控制器处理所有请求 url。我在这个控制器中创建了两个方法。
1)handleLogoutRequest :- 这个方法应该在下面的 url 上调用。
2)handleRequest :- 此方法应在除注销之外的所有请求 url 上调用。
http://localhost:9086/webapp/login 或者 http://localhost:9086/webapp/add 或者 http://localhost:9086/webapp/remove
这是我的示例代码。但它没有按预期工作。
@Controller
public class IPSLController {
@RequestMapping(value={"/logout/*"},method = RequestMethod.POST)
protected void handleLogoutRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
System.out
.println("........................IPSLController logout request.......................................");
}
@RequestMapping(method = RequestMethod.POST,value={"/*"})
protected void handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
System.out
.println("........................IPSLController all request Post.......................................");
}
}
【问题讨论】:
-
你的问题是?
-
“未按预期工作”是什么意思?
-
我正在寻找正确的映射值。上面的代码没有按预期工作。注销请求也来到了handleRequest方法。
-
恕我直言,它按预期工作。
/logout由您的全部处理,正如预期的那样,这就是您的映射。接下来你正在做的事情也是一个坏主意,不要写1个控制器来处理所有事情,那是调度程序servlet的作用。控制器应该是细粒度的对象。 -
为什么不让 spring security 处理登录/注销过程?你在这里尝试的已经很好地实现了,并且经过了测试
标签: java spring spring-mvc