1、控制層代碼編寫
@Controller @RequestMapping("user") public class UserController{ @Autowired private UserService userService; //開發用戶登錄 @PostMapping("login") public String login(String username,String password,HttpSession session){ User user = userService.login(username, password); System.out.println("user = " + user); if(user!=null){ session.setAttribute("user",user); return "redirect:/ems/emplist.jsp"; }else { return "redirect:/ems/login.jsp"; } }
注意點:這里的重定向可以解決表單重新提交的問題,重定向要寫全名字.jsp也要寫。如果不重定向可以“ems/emplist”這樣。
2、service業務層
public interface UserService { public void save(User user); public User login(String username,String password); }
//service
@Override public User login(String username, String password) { return userDAO.findUserByUsernameAndPassword(username,password); }
3、dao層
@Repository public interface UserDAO { public void save(User user); //登陸方法 User findUserByUsernameAndPassword(@Param("username") String username,@Param("password") String password); }
特別注意:在這里如果傳倆個參數,在mapper.xml的prarmType類型里傳了倆個參數,要用@Param(“password”),然后還有就是這個參數里面的名字和傳過來的參數的名字要一致。比如jsp里面傳等的是password,那你這里就不能用Password。要一致。
4、xml文件里
<select id="findUserByUsernameAndPassword" resultType="User"> select id,username,realname,password,sex from t_user where username=#{username} and password=#{password} </select>
目錄結構: