JavaWeb之Servlet
文章目录
正值期末,项目暂缓,腾出时间,回顾总结
Servlet简介:
Servlet是Java语言编写的并且在服务器端执行的程序;
Servlet是sun公司提供的一门用于开发动态web资源的技术,是扩展和加强Web服务器端性能的首选技术;
Servlet提供了一种基于组件,平台无关性的构建Web应用的方法,从而取代传统的CGI程序的种种性能限制;
Servlet本质为API的一组接口,我们约定俗成将实现Servlet接口的Java程序,也称之为Servlet。
Tomcat和Servlet的关系
上图中的容器即为Tomcat
,
Tomcat
是Web应用服务器,是Servlet
和JSP
的容器,
Tomcat
作为Servlet
容器,负责处理(解析)客户请求,把请求传送给Servlet
,并将Servlet
的响应传送回给客户端,
而Servlet
是一种运行在支持Java语言的服务器上的组件,Servlet
最常见的用途是扩展Java Web服务器功能,提供非常安全的,可移植的,易于使用的CGI替代品!
从http协议中的请求和响应可以得知,浏览器发出的请求是一个请求文本,而浏览器接收到的也应该是一个响应文本。
细观图一:
当客户端产生一个Request①,以文本形式被包含JVM的Web服务器(Tomcat
)接收到并解析②,解析指将请求文本封装为HttpServletRequest
类型的request对象,request对象中包含请求的所有信息,可以在通过调用其对应方法获取到特定信息;
然后Tomcat
通过步骤③和步骤④,创建Servlet实例和对其初始化,并且将步骤①解析获得的request对象通过
步骤⑤service(HttpServletRequest req, HttpServletResponse resp)
,传入Servlet;
Servlet在将对应的请求信息进行处理后,会将处理结果响应信息作为一个HttpServletResponse
类型的response对象返回给Tomcat
⑥,然后Tomcat
将response对象转化为响应文本返回给浏览器⑦;
当服务器不再需要Servlet对象或者需要重新装入新实例时,Web服务器会调用其destroy()
方法⑧,释放掉内存。