springboot用户登录功能
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>
目录结构:
along