Spring MVC - 会话 - 请求

时间:2010-10-15 03:34:56

标签: model-view-controller spring session request

我有一个Spring MVC(3)控制器,我试图输入注释但是失败了我的代码大纲

@Controller
public class SpringController {

    @RequestMapping("/welcome")
    public String myHandler(@RequestParam("id") String id) {

        //My RequestParm is able to do the job of request.getParameter("id") 

        HttpSession session = request.getSession();
        session.setAttribute("name","Mike") ;
        return "myFirstJsp";
    }

   @RequestMapping("/process")
   public String processHandler(@RequestParam("processId") String processId) {

      //do stuff
      String someName = session.getAttribute("name");
      return "result";
   }

}

只是为了会话对象,我必须声明HttpServletRequest和HttpSession。 无论如何我们可以通过@nnotations获得解决方案。

谢谢!

3 个答案:

答案 0 :(得分:2)

您可以在处理程序中声明HttpSessionHttpServletRequest作为参数,系统会自动通知它们。

public String myHandler(@RequestParam("id") String id, HttpServletRequest request) { ... }

处理程序有很多不同的参数和结果。你可以看到他们here

答案 1 :(得分:2)

如果您不喜欢使用HttpSession并且想要使用Spring管理的东西,它也可以使用org.springframework.web.context.request.WebRequest:

public String myHandler(@RequestParam("id") String id, WebRequest request) {
    request.getAttribute("name", SCOPE_REQUEST);
    ... 
}

答案 2 :(得分:1)

如果你没有,你应该查看SessionAttributes上的this documentation,看看它是否适合你。