发表于: 2018-02-06 14:58:07

1 699


今天完成的事:

一、邮箱注册

邮箱注册是通过发送到邮箱的链接进行验证,验证通过则直接将用户名和密码添加到数据库,逻辑如下

1、邮箱注册页面填写用户名

2、后台接收到参数,将指定的参数加密(我是将用户名+密码用MD5加密,加密后的就相当于短信验证码),将密文和请求拼接成新的url(注意:密文相当于get请求的参数)发送至邮箱

3、通过邮箱中的url直接访问验证的controller,通过验证则将用户信息添加到数据库,完成注册


邮箱注册花时间对多的是<a>标签,字符串拼接的问题 ,“+变量+",发送到邮箱的是文字链接,但这个没有实现,原因应该是腾讯拦截,我把这个链接放在jsp页面没问题。

String emaillink = "<a href='http://localhost:8080/task4-1/emailin?mdpsw="+mdpsw+"'>进行验证</a>";


二、用弹窗实现图片上传

因为七牛云api提供的方法是传图片的url作为参数,但是使用弹窗<input type="file">无法获取本地图片的路径,所以使用字节流上传,现在是实现了上传的功能,但对其中很多东西还是理解不够就不贴这部分代码了


这个浪费了今天80%的时间,方向错了,一直在想办法用<input type="file">获取图片的路径,请教前端大佬后才知道其实这是无法获取到资源路径的

贴一张效果图

三、图片迁移

下载工具类

链接https://help.aliyun.com/document_detail/56990.html?spm=a2c4g.11186623.6.1074.EAdFc4

修改配置文件,修改内容不写了,有两个坑,一是默认前缀去掉,二是默认的阿里云域名

通过配置文件来确定从哪迁移到哪,每次迁移都需要改配置文件,或者换配置文件


遇到的问题:

1、邮箱注册

发送的连接直接点击无法跳转,复制连接到浏览器没问题,应该是腾讯拦截了

发送的连接复制到浏览器可以完成注册,但是直接点连接跳转到这里,点继续没有反应

//    邮件注册新用户---发送邮件
@RequestMapping(value = "/register_email", method = RequestMethod.POST)
public String register2(User user,String email,HttpServletRequest request) throws Exception {
System.out.println("邮箱注册的用户信息:" + user);
//       判断用户名是否存在,不存在则向数据库插入,存在则进入错误页面;
   User user1 = userService.selectUserByName(user.getUsername());
//      将密码和用户名加密
       String mdpsw = Md5Util.getMd5(user.getPassword() + user.getUsername());
//        将加密后的信息放入session中
   HttpSession session = request.getSession();
   session.setAttribute("mdpsw1",mdpsw);
   session.setAttribute("user",user);
//     设置session有效期
   session.setMaxInactiveInterval(60);
//    拼接get请求
   String link="http://localhost:8080/task4-1/emailin?mdpsw="+mdpsw;
//    request.setAttribute("link",link);
   String emaillink = "<a href='http://localhost:8080/task4-1/emailin?mdpsw="+mdpsw+"'>进行验证</a>";
   logger.info("这是要发送到邮箱的连接参数:"+emaillink);
   logger.info("这是要发送到邮箱的地址:"+email);
   request.setAttribute("link2",emaillink);
//    将加密后的信息发送到邮箱
   sendEmail.sendEmail(email,"https://www.baidu.com");
//    sendEmail.sendEmail(email,emaillink);
   return "ajax";
}

//验证邮件连接的参数
@RequestMapping(value = "/emailin",method = RequestMethod.GET)
public String emailin(HttpServletRequest request,String mdpsw){
System.out.println("进入参数验证方法");
    System.out.println(mdpsw);
    User user = (User) request.getSession().getAttribute("user");
    System.out.println("这是user"+user);
   String confirm = (String) request.getSession().getAttribute("mdpsw1");
    System.out.println("这是加密的"+confirm);
    System.out.println("这是连接里的"+mdpsw);
    if(mdpsw.equals(confirm)){
System.out.println("通过验证");
        user.setPassword(confirm);
        userService.insertUser(user);
        return "registerok";
    }else{
return "errorpage2";
    }

}


明天计划:

完成任务7



返回列表 返回列表
评论

    分享到