第二章

发生邮件

注册功能

访问注册页面

HTTP的基本性质 

    - HTTP是简单的 

    - HTTP是可扩展的

    - HTTP是无状态的,有会话的(Cookies) 使服务器可以识别浏览器(由服务器发给浏览器,浏览器存放在本地,下次访问出示)


Session (依赖于Cookie,用于在服务端记录客户端的数据,安全但是服务器压力变大)

浏览器和session之间的对应需要cookie(cookie携带sessionId传给浏览器,即服务器和浏览器之间的令牌是sessionId)

cookie只能存少量字符串,session可以存更多的任何类型的数据

分布式部署中session会有问题,对于分布式服务器,浏览器访问的是nginx(代理,做负载均衡等),这就导致浏览器访问的可能是不同的服务器,原来的sessionId不能使用了。解决方法:粘性session,同步session(影响性能,产生耦合),共享session(存在宕机风险和瓶颈);主流方法是不使用session,尽可能存在cookie,敏感数据存在数据库集群(redis)中

空值处理很重要

DAO层实现Mapper接口,Service层将错误信息或者登录凭证放入map中,登陆成功还要将凭证存入数据库和map中,controller层中将service层的map放入,同时将验证码等验证信息也放入,并且将凭证从map中取出放入cookie中返回,thymeleaf可以直接读取map中的内容(${},链接是@{}),同时实体类或者request中的内容也可以读取到,配合bootstrap的class属性即可给出错误信息


显示登录信息

拦截器

    -在请求开始时查询登录用户

    -在本次请求中持有用户数据

    -在模板视图上显示用户数据

    -在请求结束时请理用户数据


上传文件:请求必须时POST请求,表单:enctype="multipart/form-data",Spring MVC通过MultipartFile处理上传文件

使用拦截器

    - 在方法前标注自定义语法

    - 拦截所有请求,只处理带有该注解的方法

使用映射读取注解 Method.getDeclaredAnnotations()

你可能感兴趣的:(第二章)