1. 在web.xml中配置实例化spring容器
2. 在controller中获取spring容器实例
<context-param>
<!-- location of spring config -->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</context-param>
<!-- initialize spring context-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
2. 在controller中获取spring容器实例
@Controller("accountController") //让spring管理Controller
@RequestMapping("/accountController.do")
@SessionAttributes({"account"}) //put account to session,
//as a result both request and session have the two attribute.
public class AccountController {
@Resource //自动注入Service实例
AccountService accountService;
@RequestMapping(params="method=login", method=RequestMethod.POST)
public String login(String username, String password, ModelMap map, HttpServletRequest request){
Account account = accountService.Login(username, password);
if(account!=null){
//request.getSession().setAttribute("account", account);
System.out.println("Hello "+ username);
map.put("message", "welcome "+ username +"!");
return "main";
}else{
map.put("message", "username or password is wrong! ");
return "index";
}
}
@RequestMapping(params="method=register", method=RequestMethod.POST)
public ModelAndView register(Account account, HttpServletRequest request){
ModelAndView mav =new ModelAndView("main");
mav.addObject("account", account);
try {
accountService.reqister(account);
} catch (Exception e) {
e.printStackTrace();
mav.addObject("message", "register failed!");
mav =new ModelAndView("account/account_register");
}
mav.addObject("message", "register successed!");
mav =new ModelAndView("main");
return mav;
}
}