发表于: 2019-11-09 22:06:49

1 1071


今天完成的事情:

把登录,注册模块写好

创建好DB

dao层

public interface UserDao {

int insert(User record);

   List<User> selectByName(String name);

   List<User> selectByNameAndPwd(@Param("name") String name,@Param("pwd") String pwd);

dao.xml

<insert id="insert" parameterType="com.pojo.User" >
insert into user (name, pwd)
values (#{name,jdbcType=VARCHAR}, #{pwd,jdbcType=VARCHAR})
</insert>

<select id="selectByName" resultMap="BaseResultMap">
select id,name,pwd from user where name = #{name,jdbcType=VARCHAR}
</select>

<select id="selectByNameAndPwd" resultType="com.pojo.User">
select * from user where name = #{name} and pwd = #{pwd}
</select>

controller

@Controller
@RequestMapping("")
public class UserController {

private static Logger logger = Logger.getLogger(UserController.class);

   @Autowired
   UserService userService;


   /**
    * 跳转页面
    * @return
    */
   @RequestMapping(value = "/register", method = RequestMethod.GET)
public String register() {
return "register";
   }

@RequestMapping(value = "/register", method = RequestMethod.POST)
public String insert(User user, String name) {
logger.info("新用户注册信息:" + user);
       //通过用户名查找数据,查看是否有这条数据
       List<User> users = userService.selectByName(name);
       logger.info("查看是否注册:" + users);
       //如果能查出来这条数据就说明数据库里有这条数据,那么注册失败,否则注册成功,跳转到首页
       if (!CollectionUtils.isEmpty(users)) {
logger.info("该用户名已存在");
           return "register";
       } else {
if (user.getName() != null
                   && user.getName().length() > 0
                   && user.getPwd() != null
                   && user.getPwd().length() > 0) {
System.out.println("user" + user);
               int row = userService.insert(user);
               logger.info("注册成功:" + row);
               return "home";
           } else {
return "register";
           }
}
}

@RequestMapping(value = "/login",method = RequestMethod.GET)
public String login(User user,String name,String pwd){
logger.info("user"+user);
       //如果能查出来数据,说明数据库里存在这条数据,那么登录成功,跳转首页;否则登录失败,留在登录页面
       List<User> user1 = userService.selectByNameAndPwd(name, pwd);
       if (!CollectionUtils.isEmpty(user1)){
logger.info("登录成功");
           return "home";
       }else {
logger.info("登录失败,该用户名不存在");
           return "login";
       }
}
}

登录页面

注册页面

在head加上两个跳转页面

效果

明天计划的事情:尝试DES对登录页加密
遇到的问题:DES加密还是不知道怎么用
收获:

简单了解cookie

什么是cookie

HTTP协议本身是无状态的。什么是无状态呢,即服务器无法判断用户身份。Cookie实际上是一小段的文本信息(key-value格式)。客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。

打个比方,我们去银行办理储蓄业务,第一次给你办了张银行卡,里面存放了身份证、密码、手机等个人信息。当你下次再来这个银行时,银行机器能识别你的卡,从而能够直接办理业务。




返回列表 返回列表
评论

    分享到