知识要点:
1、HTTP协议
2、web服务器的缺陷及其解决方案
3、对Servlet的认识
4、Servlet的主要任务
5、web容器对Servlet的支持包括的内容
HTTP协议---(HyperText Transfer Protocol)
超文本传输协议,是网络应用层的协议,建立在TCP/IP协议的基础之上,是一种无状态的协议,遵循请求/响应模式。
http请求:请求行、请求头、消息体以及分割请求头和消息体的空行;
http响应:状态行、响应头、消息体以及分割响应头和消息体的空行;
HTTP的事务处理步骤:
1、客户端与web服务器建立连接;
2、客户端发送HTTP请求;
3、服务端接收客户端发送的HTTP请求,生成HTTP响应,并回送;
4、服务器端关闭连接,客户端解析回送的响应,恢复页面。
Web服务器的缺陷及其解决方案
缺陷:只能向客户端提供静态网页内容
解决思路:增加一个辅助应用程序,生成动态页面。
具体解决方案:
1、CGI:通用网关接口---Common Geteway Interface
2、微软的ASP技术和ASP.NET技术
3、JAVA方案:web容器与Servlet
CGI方案:
1、优点:多种语言可以实现此种方法
2、缺点:只要客户端发出请求,就会创建一个CGI对象,造成服务器资源浪费,效率低下。
JAVA解决方案:
1、Servlet是单例多线程,不用每次请求都创建对象;
2、Servlet本身已实现HTTP协议,对开发者来说,不用对HTTP协议进行深入的理解。
Servlet的任务:
A、认识
1、Servlet是常规的Java代码,代码中用了一些新的API,但是不涉及新的语法;
2、Servlet代码有我们不熟悉的语句,Servlet不属于J2SE,它属于单独的规范;
3、Servlet对标准类(Http Servlet)进行了扩张;
4、Servlet没有main()方法。
B、任务
1、读取客户端发送的显式的或隐式的数据;
2、生成结果;
3、向客户端发送显式数据(文档)和隐式数据(http响应请求)
Web容器
1、Web容器负责管理和运行Servlet,为Servlet提供所需的环境
2、Web容器使程序员可以把注意力放在Servlet如何实现业务逻辑上,而无需其他系统问题;
3、Web容器对Servlet的支持
a、通信支持:web容器可以把请求和响应流封装成请求和响应对象,方便用户对流数据进行操作;
b、生命周期管理:Servlet的生成、调用和销毁,全部由容器来管理,用户执行按Servlet的标准来书写业务逻辑;
c、多线程支持:线程的产生、进行和同步问题由web容器来进行;
d、对JSP进行相关的处理
e、安全性处理,可以处理用户进行业务逻辑时抛出的异常。
web容器主要用户给处理容器中的应用程序组件(Servlet、JSP)提供一个环境,使Servlet、JSP直接跟容器的环境变量交互,这样,我们就可以把注意力放在用Servlet实现业务逻辑上,而不必关注其他系统问题。
Java web应用程序目录结构的组成:配置文件、静态文件和JSP、类文件和包。
WEB-INF不能被客户端直接访问。
Tomcat的目录结构:
1、bin:tomcat的命令目录
2、conf:配置目录
3、lib:tomcat运行使用的包;
4、logs:存放日志文件
5、webapps:存放web应用;
6、work:用于JSP支持。
web应用打包成war包的命令:先从控制台进入web应用的文件夹,命令为:jar -cf wenjianming.war WEB-INF *.jpg *.html