WEB容器小谈

静态网页:请求服务器上网页时,服务器不对网页进行任何处理。
动态网页:服务器在响应之前,可能会先根据客户端的请求参数、标头或实际服务器上的状态,以程序的方式动态产生响应内容,再回传给客户。

====================================

动态网页技术有CGI、PHP、ASP、Servlet/JSP(JavaServerPages)。
Servlet/JSP与JavaScript两者的根本不同是执行与内存的地址空间不同。前者执行于服务器端,后者执行于客户端。两者无法做直接的互动,必须通过网络通过HTTP来进行互动、数据交换或请求、响应。

有时候在JSP网页中也会写一些Javascript,但是这些Javascript并不是在服务器上执行,服务器会如同处理那些HTML标签一样,将这些Javascript原封不动地传给浏览器

======================================

JVM是java程序唯一认识的操作系统,可执行.class文件。WEB容器是Servlet/JSP唯一认得的HTTP服务器。
容器说白了就是一个用java写的程序,运行与JVM之上。
HTTP那些文字性的通信协议,如何变成Servlet/JSP中可用的Java对象,其实就是容器的剖析与转换。
只要写的Servlet/JSP符合WEB容器的标准规范,Servlet/JSP就可以在各种不同厂商实现的WEB容器上运行,而不用理会底层真正的HTTP服务器是什么。
JVM介于Java程序和实体操纵系统之间,WEB容器介于实体HTTP服务器与Servlet之间
JSP最后也是转译、编译、加载为Servlet,在容器的世界中,真正负责请求、响应的是Servlet

=========================================
请求响应的基本例子:
1、浏览器对WEB服务器发出HTTP请求
2、HTTP服务器收到HTTP请求,将请求转给WEB容器处理,WEB容器剖析HTTP请求内容,创建各种对象(HttpServletRequest、HttpServletResponse等)
3、WEB容器决定使用那个Servlet处理请求
4、Servlet根据请求对象(HttpServletRequest)的信息决定如何处理,通过响应对象创建响应
5、WEB容器与HTTP服务器沟通,WEB服务器将响应转换为HTTP响应并回传给客户端(浏览器)

===========================================
WEB容器可能会使用同一个Servlet实例来服务多个请求。也就是说多个请求相当于多个线程在共享存取一个对象,因此得注意线程安全的问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值