前言:
学习Java Web也有好几天了,从数据库的学习到服务端的学习,与之前的基础相比,这次的复杂度提升了,难度也提高了很多。学习的过程中始终不得要领,只能跟着视频里边内容去学习,同时也借鉴菜鸟教程里更详细的内容,尤其是对方法的理解就得选要去找百度。下面是我在学习过程中的一些笔记。
关于Servlet:
Servlet post中文请求会发生乱码
请求转发只是一次请求
Request可以共享
重定向是服务端指导,客户端行为
两次请求 request不共享
Servlet的生命周期
Servlet 初始化后调用 init () 方法。
Servlet 调用 service() 方法来处理客户端的请求。
Servlet 销毁前调用 destroy() 方法。
最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。
Servlet的三种创建方式:
- 实现 Servlet 接口
- 继承 GenericServlet 类
- 继承 HttpServlet 方法
Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息。
Servlet Cookie 处理需要对中文进行编码与解码,方法如下:
String str = java.net.URLEncoder.encode("中文","UTF-8"); //编码
String str = java.net.URLDecoder.decode("编码后的字符串","UTF-8"); // 解码
Cookie没有删除的方法,但他的name不能重复可以通过设置相同的name
使用 setMaxAge() 方法设置 cookie 的年龄为零,来删除现有的 cookie。
Session 代表着服务器和客户端一次会话的过程。Session 对象存储特定用户会话所需的属性及配置信息。
Cookie 和 Session 的不同:
- 作用范围不同,Cookie 保存在客户端(浏览器),Session 保存在服务器端。
- 存取方式的不同,Cookie 只能保存 ASCII,Session 可以存任意数据类型,一般情况下我们可以在 Session 中保持一些常用变量信息,比如说 UserId 等。
- 有效期不同,Cookie 可设置为长时间保持,比如我们经常使用的默认登录功能,Session 一般失效时间较短,客户端关闭或者 Session 超时都会失效。
- 隐私策略不同,Cookie 存储在客户端,比较容易遭到不法获取,早期有人将用户的登录名和密码存储在 Cookie 中导致信息被窃取;Session 存储在服务端,安全性相对 Cookie 要好一些。
- 存储大小不同, 单个 Cookie 保存的数据不能超过 4K,Session 可存储数据远高于 Cookie。
总结:
要多看多去记忆与其有关的方法,虽然软件的功能很强大,但不能去过于依赖,构建出自己的体系。