Web
软件架构
C/S:cline/server 客户端/服务端
B/S:browser/server 浏览器/服务端
静态资源:每个人访问的结果一样,例如百度百科
动态资源:每个人访问的结果不一样,动态资源会先转换为静态资源再返回
网络三要素 IP 端口 协议
TCP:建立安全连接,速度慢
UDP:连接不安全,速度快
服务器用于接收用户请求,处理请求,做出响应
Tomcat命令行启动catalina run配置端口号为80可以不用写端口
Servlet
server applet 服务器上运行的小程序,是一个接口,定义了Java类被浏览器访问到(服务器识别)的规则
我们要实现它并重写其方法
原理 收到请求 通过URL找到相应的URL-pattern再找到对应的类
通过反射加载字节码文件,创建对象,调用方法
生命周期 init service destroy
使用servlet3.0的动态工程 使用注解WebServlet实现
HTTP
hyper text transfer protocol 超文本传输协议
定义了浏览器和服务器通信时,发送的数据的格式
基于TCP/IP的高级协议,默认端口号:80,一次请求对应一次响应,
无状态,每次请求相互独立,不能交互数据
请求方式
get:请求参数在URL后面,相对不安全,数据有限制
post:请求参数在请求体中,相对安全,数据没有限制
请求头 请求行 请求体
响应头 响应行 响应体
URL:uniform resource location 通一资源定位符(中华共和国)
uri:uniform resource identity 通一资源标识符(共和国)
request&response
都是由服务器创建的,request用于获取请求信息,response用于设置响应信息
请求转发 服务器类部的资源跳转
是一次请求 地址栏不会发生改变 只能转发到当前服务器内部资源
可以使用request对象共享数据
使用request获取RequestDispatcher然后forward
重定向 redirect资源跳转
是两次请求 地址栏会发生改变 可以访问其他服务器的资源
不可以使用request对象共享数据
路径
相对路径 :以/开头 不可以确定唯一资源
找到当前资源和目标资源的相对路径
绝对路径:不以/开头 可以确定唯一资源
判断定义的路径是给谁用的?判断请求将来从哪里发出
cookie&session
会话:一次会话包括多次请求和响应 在一次会话的范围内的多次请求间,共享数据
cookie是在浏览器端的 数据大小有限制 相对不安全
例如:在不登录的情况下,完成服务器对客户端身份的识别
session实在服务器端的 数据大小无限制 相对安全
session是基于cookie实现的
session的钝化:
在服务器正常关闭之前,将session对象系列化到硬盘上
session的活化:
在服务器启动后,将session文件转化为内存中的session对象即可。