JavaWeb

1、javaweb的三大组件

servlet:用来处理浏览器和服务器之间的请求和响应
filter:过滤器
listener:监听器

2、jsp(java server page)的四大域
  • jsp本质上就是一个servlet

  • 四大域对象:
    pageContext:请求到响应
    request:一次请求范围
    session:一次会话范围
    application:整个应用

  • 其他内置对象
    response:响应数据
    page:当前页对象
    out:数据输出到页面对象
    config:servlet的配置类对象
    exception:异常对象

3、cookie和session

比较:
- 相同点:在一次会话的多次请求间,共享数据
- 不同点:1.cookie存储在客户端,session存储在服务器端
2.cookie有大小限制,session没有大小限制
3.cookie存在浏览器中,数据传输不安全;session存在硬盘中,数据传输安全
4.生命周期不同,默认情况下,浏览器关闭,cookie就会消失,可以调用setmaxage设置存储时间;服务器关闭,session消失,默认失效时间是30分钟。
实现:
- cookie:浏览器给服务端发出请求,服务端查到数据后,tomcat服务器将response从的cookie对象解析,然后以http格式解析cookie对象,然后响应给浏览器;
浏览器接收到响应,通过http格式解析响应到的cookie对象,然后存到浏览器中;
浏览器再次访问客户端时,会携带cookie,tomcat服务器通过http网络协议解析cookie对象。
- session:session是依赖于cookie实现的
浏览器第一次访问服务器端,会先判断服务器端是否有一个键为jsessionid的cookie对象,如果没有,会创建一个session对象,生成session的id,然后存到集合中;然后创建一个cookie对象,键为jsessionid,值为刚才创建的session的id。 如果有,就通过jsessionid获取session的id,然后查找对应的session,如果session还存在,就直接引用;如果不存在,重复第一次没有jsessionid的操作。

4、请求转发、访问重定向
  • 请求转发:浏览器的地址栏不会发生变化;服务器内部资源的转发;只能转发一次
  • 访问重定向:浏览器的地址栏会发生变化;可以重定向到其它网站;可以重定向多次;不能使用request域来共享数据。
5、请求、响应的乱码问题

请求:post请求:调用request的setCharacterEncoding方法设置编码格式为utf-8
get请求:tomcat8以后直接在配置文件中配置编码属性为utf-8
响应:调用response的setContentType设置编码格式为utf-8

6、servlet和filter的生命周期

servlet:第一次访问服务器时,servlet就会被web服务器创建
每次访问服务器时,service方法就会执行一次
服务器关闭时,servlet就会被销毁,执行destroy方法
filter:服务器启动时,filter就会被web服务器创建,执行init方法
每次访问服务器被拦截时,doFilter方法就会被调用
服务器关闭时,filter就被销毁,执行destroy方法

7、Http的协同流程

1.在浏览器中输入url或者ip或者域名
2.如果是域名,通过dsn解析成ip地址
3.建立tcp请求,三次握手
4.发送http请求
5.访问服务器,给浏览器响应数据
6.断开tcp连接,四次挥手
7.浏览器对返回的数据进行页面渲染

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值