Spring MVC - 不要为请求创建会话

时间:2013-04-18 11:22:27

标签: spring session spring-mvc request httprequest

是否可以告诉Spring MVC不为某个请求创建会话?

我们有应用程序在Spring MVC中运行,我们有很多这样的控制器方法: / add_client / show_order ......等等。

显然我们需要这些方法的会话, 但我们还有一个特殊要求:

@RequestMapping(value = "/monitoring", method = RequestMethod.GET)
public String monitoring(HttpServletRequest request) {
    // do some check
    return "monitoring";
}

用于监控请求,我们不想创建会话。

如果我在网上搜索或搜索,我发现的所有内容都是:“我想要一个会话,但它没有被创建或无法正常工作”但我想解决这个问题:“我有一个会议,但我不喜欢不想要它(对于某些要求)“

Spring MVC中是否有一些选项可以实现这一目标?

的Ladislav

1 个答案:

答案 0 :(得分:0)

在.jsp文件中创建隐藏变量,以获取您不想保留会话的请求。 在控制器方法中检查

public String yourMethod(HttpServletRequest request, HttpServletResponse response,
            Your model, BindingResult bindingResult, ModelMap modelmap) {

           if( model.isHiddenPath() ){ // you dont want to keep session 
            request.getSession(false);
}
else{
request.getSession(true);

在控制器中检查你的所有方法都很困难。使用拦截器会更好。