JavaWeb之什么是Servlet
1、Web的概念:
- 用HTML(超文件技术)来表达信息,以及建立信息与信息之间的链接(表达)
- 用URL(统一资源定位符Uniform Resource) Locator)来实现网络上信息的精确定位(定位)
- 用网络应用层协议HTTP来规范浏览器与Web服务器之间的通信过程(传输)
2、CGI:通用网关接口(Common Gateway Interface),是一个Web服务器主机提供信息服务的接口通过这个接口,Web服务器就能获取客户端提交的信息,转交给服务器端的CGI程序进行处理,最后返回结果给客户端。
CGI程序:按照CGI接口规范编写的能够处理用户通过浏览器发送到服务器的数据的一个程序。
SO,CGI其实是一个接口规范,并且按照CGI接口规范开发的程序都可以叫做CGI程序。
1、Servlet容器与Servlet:Servlet运行在Servlet容器中,能够为各种各样的客户请求提供相应服务。它可以完成:
1.动态生成HTML
2.转发请求
3.访问资源
2、如何创建一个Servlet:
1.继承GenericServlet
2.继承HttpServlet
两者的区别:GenericServlet抽象类为Servlet接口提供了通过实现。HttpServlet底层实现也是继承了GenericServlet,它是GenericServlet的子类。这种实现方法用得比较多,它不强制实现service()等方法。
3、Servlet的生命周期:
1.当客户端第一次发起请求时,Servlet容器创建Servlet对象,每一次请求都会创建request、response对象。(init()方法)
2.通过请求方式判断是调用doGet()还是doPost()
3.执行service()方法,并根据用户请求执行相应逻辑并响应。当Servlet容器把Servlet生成的响应发送给客户端时,Servlet窗口就会销毁request、response对象
4.Web应用终止时,销毁Servlet对象