2011-04-26 98 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