2011-04-26 97 views
0

这是我的代码:如何使用表单验证和会话Spring MVC中

@Controller 
@RequestMapping("loginform.htm") 
public class LoginController { 

    @RequestMapping(method = RequestMethod.GET) 
    public String showForm(Map<String, LoginForm> model) { 
     LoginForm loginForm = new LoginForm(); 
     model.put("loginForm", loginForm); 
     return "loginform"; 
    } 

    @RequestMapping(method = RequestMethod.POST) 
    public String processForm(@Valid LoginForm loginForm, BindingResult result, 
      Map<String, LoginForm> model) { 
     String userName = "UserName"; 
     String password = "password"; 
     if (result.hasErrors()) { 
      return "loginform"; 
     } 

     loginForm = (LoginForm) model.get("loginForm"); 
     if (!loginForm.getUserName().equals(userName) 
       || !loginForm.getPassword().equals(password)) { 
      return "loginform"; 
     } 
     model.put("loginForm", loginForm); 
     return "success"; 
    } 
} 

我使用它来验证表单当用户输入用户名和密码。但问题是验证成功时,我想在此页面的会话中添加用户信息。请告诉我怎么做,我试图增加功能

public ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) 

但它什么也没有显示。你有什么主意吗?谢谢!

回答

3

一般情况下,您不应该使用自己的安全设备,而应该使用Spring Security


要在春天访问会话你有树不同的方式:

  • 与HTTP会话工作direcly(参数HttpSession session添加到您的控制器的方法)
  • @SessionAttributes - 访问某个特定领域的会议
  • 在会议中附加豆(session scoped beans