JavaWeb相关总结
1.cookie和session
-
都是会话技术,
-
cookie
- 客户端会话技术
- 数据保存在客户端,有大小和个数的限制
- 单点登录的时候使用
- ① 什么是cookie
Cookie是由服务器创建,然后通过响应发送给客户端的一个键值对。客户端会保存Cookie,并会标注出Cookie的来源(哪个服务器的Cookie)。当客户端向服务器发出请求时会把所有这个服务器Cookie包含在请求中发送给服务器,这样服务器就可以识别客户端了!
② HTTP的cookie规范如下:
l Cookie大小上限为4KB;
l 一个服务器最多在客户端浏览器上保存20个Cookie;
l 一个浏览器最多保存300个Cookie;
-
session
- 服务端会话技术
- 数据保存在服务端,没有大小和个数限制
- 退出登录的时候使用
2.ajax
- 异步的JavaScript和xml
- 无需加载整个网页,异步刷新部分数据
- 减少前后端数据的交互,提升用户体验
3.JSP
-
Java服务器端页面
-
本质上还是一个servlet
-
9个内置对象(在jsp页面不需要创建,可以直接使用)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eNdiEx86-1590129114356)(C:\Users\25220\AppData\Roaming\Typora\typora-user-images\image-20200522131124045.png)]
4.Servlet
- 运行在服务器端的小程序,用于接收请求和处理请求
- 其实就是一个接口,定义了为浏览器访问到(tomcat识别)的规则,我们使用的时候定义一个类实现Servlet即可,用户访问时,先去查找web.xml的url-pattern标签,再查找servlet-class全类名,如果有,tomcat就会把字节码文件加载到内存,并创建其对象
- 生命周期
- 被创建(init) 创建时执行,只执行一次
- 提供服务,处理请求逻辑(service) 执行多次
- 被销毁(destroy) 执行一次,服务器关闭(servlet被销毁)后执行
5.get与post的区别
- get请求内容在url上,
- post请求内容在请求体中,相对较安全
6.转发和重定向的区别
- forward:
- 一次请求一次响应
- 用户不知道数据是从服务器哪个地方来的
- 在地址栏上还是你请求的地址
- 默认不能跨域
- redirect
- 服务端发送给浏览器一个响应码,告诉它去哪里访问
- 两次请求两次响应
- 可以跨域
7.过滤器和拦截器的区别
-
Filter
- 依赖于servlet容器,几乎可以对所有请求进行过滤,但是只能在servlet容器初始化的时候调用一次,在web.xml中配置,基于函数回调
-
interceptor
- Interceptor需要在SpringMVC中配置,依赖于框架,基于反射实现(类似aop)
-
过滤器的拦截顺序在拦截器之前
-
filter主要用于全局过滤啊,基于回调,包括编码等,interceptor用于处理拦截请求后需要执行的逻辑,基于反射,更加细化
截器之前
- filter主要用于全局过滤啊,基于回调,包括编码等,interceptor用于处理拦截请求后需要执行的逻辑,基于反射,更加细化