Servlet概念(学习)+推荐实践博客

来源:互联网 发布:软件项目验收单 编辑:程序博客网 时间:2024/06/06 15:35

参考:《Head First Servlet JSP》

Web动态实现:浏览器发出请求,服务器做出相应。

一:概念(理解Servlet):

HTML:超文本标记语言,可以告诉浏览器如何显示其中的内容。
HTTP:超文本传输协议,作为一个网络协议,依赖于TCP/IP从一处向另一处完整地传送请求和响应。
Web服务器应用:Web服务器应用只能提供静态页面。所谓的“动态”,是通过辅助应用计算生成静态页面传回Web服务器应用。而Servlet和CGI在服务器中都扮演着辅助应用的角色。
Servlet(Web服务器辅助应用):是Java Servlet的简称,泛指任何实现了这个Servlet接口的类。主要功能在于交互式地浏览和修改数据,生成动态Web内容。
Web容器:Web服务器应用得到一个指向servlet的请求,交给部署该servlet的容器,由容器提供servlet请求和响应,并调用servlet的方法。(Tomacat就是一个Web容器)
【容器管理作用:
1.通信支持:我们可以不用考虑服务器和自己代码的编程接口。
2.生命周期管理:我们可以不用考虑资源的管理(加载,实例化等)。
3.支持多线程:字面意思。
4.声明方式实现安全:利用容器,我们才能用XML部署文件。
5.支持JSP:负责JSP代码翻译

【容器处理请求过程:
1.用户点击一个链接,指向一个servlet
2.容器分析出这个请求是一个servlet,创建两个对象HttpServletResponse,HttpServletRequest。
3.容器根据请求中的URL找到对应的servlet,创建或分配一个线程,并把上面两个对象创给这个servlet线程
4.容器调用servlet的service()。根据请求类型,service()会调用doGet()或dpPost()
5.doGet()或doPost()生产动态页面,并加入响应对象中。
6.线程结束,容器把响应对象转化成一个HTTP响应发回给客户,然后删除请求和响应对象。


二:Servlet的运行过程

Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:
  ①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
  ②装载并创建该Servlet的一个实例对象。
  ③调用Servlet实例对象的init()方法。
  ④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
  ⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。

三:servlet接口实现,和web.xml的编写等

用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:
1、编写一个Java类,实现servlet接口(Servlet)。
2、把开发好的Java类部署到web服务器中(我们对web.xml的编写,作为部署文件)。

推荐实践学习转向:https://www.cnblogs.com/xdp-gacl/p/3760336.html#!comments