2

是否可以告诉 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 中是否有一些选项可以实现这一点?

拉迪斯拉夫

4

1 回答 1

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);

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

于 2013-04-18T12:51:17.383 回答