在控制器内创建会话cookie
问题内容:
我是Tomcat,Servlet和Spring Web的新手。我来自PHP背景,因此至少可以说我有点迷失方向。我希望控制器为我创建一个会话cookie。
有人告诉我可以在标准servlet中获得这样的会话:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Somewhere inside the method...
HttpSession session = request.getSession(true);
// Set a cookie
session.setAttribute("hello", "world");
// More stuff...
}
这如何转换为Spring Web MVC的工作方式?我可以在控制器内创建会话cookie吗?
问题答案:
在Java Servlet(尤其是Spring
MVC)中,您不会直接与会话cookie进行交互,实际上,正确编写的基于servlet的应用程序应该在不启用cookie的情况下工作,并自动退回到基于URL的会话id。
您提供的方法是正确的,尽管Spring为您提供了更好的(更高级别)方法,例如会话范围的 bean。这样,您就不会与会话本身进行交互。