目录:
1.servlet:
2.servlet生命周期:
3.servlet常见错误:
4、servlet和jsp:
5.get和post请求:
6.request和response:
7.forword和redirect:
8.jsp9大内置对象:
9.session和cookie:
10.mvc模式:
11.网络架构分层:
12.tcp和udp:
13.三次挥手和4次握手:
14.io和nio:
1.servlet:
运行再服务端的java程序,主要负责和浏览器进行数据的交互和响应请求。servlet不是线程安全的。
因为servlet被调用时,只会初始化一次,生成一个单例对象,多个请求都是再这个servlet中处理。加入定义了全局变量就可能产生问题。
2.servlet生命周期:
实例:第一次请求调用会进行实例化
初始化:实例化时会调用init方法。
处理业务:实例化后就一直存在,可以进行调用service方法或者doget,dopost方法等。
销毁:关闭服务或重新加载servlet进如销毁阶段,调用destroy方法。
3.servlet常见错误:
404:访问路径找不到。
405:提交请求错误,一般是get或post请求。
500:服务器内部错误。
4、servlet和jsp:
jsp可以看作一个特殊的servlet,所有的jsp最后都会被翻译成servlet。
servlet的应用逻辑是java,jsp可以看作是java和html的组合。
5.get和post请求:
get:请求参数会展示在浏览器地址栏中,所以存在安全性问题,且提交的数据只有几k左右。
post:请求参数不会展示在地址栏,安全行相对高一点,且提交数据可以有几m左右的。
6.request和response:
request:主要负责接收浏览器的数据。
response:主要负责向浏览器响应数据。
7.forword和redirect:
forword是服务端内部跳转,请求转发一次,浏览器地址不会改变。
redirect是客户端跳转,请求转发两次,浏览器地址会改变。
8.jsp9大内置对象:
Page:jsp页面
Out:负责浏览器数据输出
Session:用户会话对象
response:服务端响应数据给客户端
request:客户端的请求数据
config:web服务配置信息
exception:显示异常信息
application:application也会保存信息,但比session更持久,会一直保存到服务关闭。全局变量
Pagecontext:获取任何范围的参数
9.session和cookie:
session:在服务端存储数据,性能低,但安全高。
cookie:在客户端存储数据,性能高,但安全低。
10.mvc模式:
model(模型):JavaBean
view(视图):jsp
controller(控制器):servlet
11.网络架构分层:
应用层:ftp/http
传输层:tcp/udp
网络层:ip
网络接口:网络通信,一般是以太网
12.tcp和udp:
tcp:可以看作电话,点对点通信,需要建立3次握手,占用资源多,效率低。
udp:无连接通信,不需要建立连接,占用资源少,效率高,且容易造成数据丢失。
13.三次挥手和4次握手:
第一次握手:客户端向服务端发起握手通知。
第二次握手:服务端通知客户端可以连接,并申请连接客户端。
第三次握手:客户端通知服务端可以连接。
第一次挥手:发送方向接收方法通知断开请求。
第二次挥手:接收方法向发送方通知可以断开连接。
第三次挥手:接收方通知发送方自己也要断开连接。
第四次挥手:发送发通知接收方可以断开连接。
14.io和nio:
io:阻塞式io,每一次请求都会新建一个线程,并发时,连接压力大。传输数据使用字节。
nio:非阻塞式io,一个线程可以对应多个请求,传输数据使用缓存。