文章目录
B/S架构
好处:易于维护升级,服务端升级后,客户端无需任何部署就可以使用到新的版本
静态资源
html,css,js图片等,负责页面展现
动态资源
servlet,jsp等 负责逻辑处理
数据库
负责存储数据
HTTP
超文本传输协议,规定了浏览器和服务器之间数据传输的规则
基于TCP协议,面向连接安全
基于请求响应模型 一次请求对应一次响应
无状态的协议:对于事务处理没有记忆能力,每次请求响应都是独立的
缺点:多次请求间不能共享数据,java使用Cookie,Session解决
优点:速度快
请求数据格式:
get,post区别
get请求参数在请求行中,没有请求体,post请求参数在请求体中
get请求参数大小有限制,post没有
响应数据格式:
Servlet
动态web资源开发技术
是javaee规范之一,其实就是一个接口,将来我们需要定义Servlet类实现Servlet接口,并由web服务运行Servlet并由web服务器运行
执行流程:
tomcat创建servlet对象,方法也由tomcat调用
实现接口覆写service()
生命周期:
运行在servlet容器(web服务器)中,其生命周期由容器来管理,分为四个阶段:
1.加载和实例化:默认情况下,当servlet第一次被访问时,由容器创建servlet对象
2.初始化:在servlet实例化之后,容器将调用servlet的init()方法初始化这个对象,完成一些如加载配置文件,创建连接初始化的工作,该方法只调用一次
3.请求处理:每次请求servlet时,servlet容器就会调用service()方法对请求进行处理
4.服务终止:当需要释放内存或容器关闭时,容器会调用servlet实例的destroy()方法完成资源的释放,调用后,容器释放这个servlet实例,该实例随后会被java垃圾收集器所回收
体系结构:
httpServlet
doget(),dopost()
url配置
request与response
service方法中两个参数
request:
继承体系:
tomcat解析请求数据,封装成一个request对象,提供实现类,传入service参数位置
获取请求数据:
request乱码
getpost中文都会乱码
解决post:设置输入流的编码
request.setCharacterEncoding(“UTF-8”)
解决get:没有用流,
request请求转发
服务器内部的资源跳转方式
req.getRequestDispatcher(“资源B路径”).forward(req,resp)
请求转发特点:
浏览器地址不发生变化
只能转发到当前服务器的内部资源
一次请求,可以在转发的资源间使用request共享数据
response:
设置响应数据:
重定向
响应字节数据
MVC模式
三层架构
会话跟踪技术
会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束.在一次会话中,可以包含多次请求和响应
会话跟踪:维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,以便再痛一次会话的多次请求间共享数据
http协议是无状态的,每次浏览器向服务器请求时,服务器都会将该请求视为新的请求,因此我们需要会话跟踪技术来实现会话内数据共享
Cookie
原理:
基于http协议
响应头:set-cookie
请求头:cookie
使用:
Session
原理
使用
必须是正常的关闭和重启
Filter
过滤器,是web(Servlet,Filter,Listener)三大组件之一
过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能
过滤器一般完成一些通用的操作,权限控制,统一编码处理,敏感字符处理等
执行流程
拦截配置
过滤器链
Listener
AJAX
异步的js和xml
作用:
1.与服务器进行数据交换,通过ajax可以给服务器发送请求,并获取服务器响应的数据,使用html和ajax替换jsp页面
2.异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术
同步和异步
axios异步框架
发送,再回调