Servlet学习(一)

1.Servlet是一种独立于平台和协议的服务端的Java应用程序,通过Servlet可以动态的生成web页面。

2.Servlet处理web请求的主要过程:-----1》服务器接受从客户端发出的请求,-------》服务器将请求发送到Servlet,--------》Servlet进过处理以后。生成响应的内容。

3.ServletAPI:Servlet是两个单词server和applet合成的

4.Servlet的生命周期:加载和实例化------初始化(init)----提供服务(server-doget和dopost)-----销毁(destory).

5.穿件Servlet的三种方式:实现Servlet接口或者继承GenericServlet或者继承HttpServlet-----------经常用的是继承httpServlet在实现它的四个方法,init,doget.dopost,destory

Servelt的部署:在web.xml文件中怕配置<servlet>和<servlet-mapping>标签.

6.过滤器的:创建实现Servlet接口的类--------->实现Servlet的方法doFilter,在doFilter中编写过滤的方-------调用下一个过滤器或者web资源,-------在web.xml过滤器

7.监听器,需要在web.xml中配置监听器<Listener>

每次继承httpServlet生成doget和doPOST方法会生成很多没用的注释,可以在Servlet的模板中进行修改,以后使用myeclipse创建Servlet就按照自己设置的模板进行创建了

下图是Servlet的运行简单的过程。



l Servlet 程序是由 WEB 服务器调用, web 服务器收到客户端的 Servlet 访问请求后:
Web 服务器首先检查是否已经装载并创建了该 Servlet 的实例对象。如果是,则

直接执行第④步,否则,执行第②步。

装载并创建该 Servlet 的一个实例对象。

调用 Servlet 实例对象的 init() 方法。

创建一个用于封装 HTTP 请求消息的 HttpServletRequest 对象和一个代表 HTTP

应消息的 HttpServletResponse 对象,然后调用 Servlet service() 方法并将请求

和响应对象作为参数传递进去。

WEB 应用程序被停止或重新启动之前, Servlet 引擎将卸载 Servlet ,并在卸载之

前调用 Servlet destroy() 方法。 




lHttpServlet指能够处理HTTP请求的servlet,它在原有Servlet接口上添加了一


些与HTTP协议处理方法,它比Servlet接口的功能更为强大。因此开发人员在编写


Servlet时,通常应继承这个类,而避免直接去实现Servlet接口。

lHttpServlet在实现Servlet接口时,覆写了 service 方法,该方法体内的代码会


自动判断用户的请求方式,如为GET请求,则调用HttpServlet的doGet方法,如为


Post请求,则调用doPost方法。因此,开发人员在编写Servlet时,通常只需要覆


写doGet或doPost方法,而不要去覆写service方法。

<load-on-startup>2</load-on-startup>


l 由于客户端是通过 URL 地址访问 web 服务器中的资源,所以 Servlet 程序若想被外界访问,必须把

servlet 程序映射到一个 URL 地址上,这个工作在 web.xml 文件中使用 < servlet > 元素和 < servlet -

mapping> 元素完成。

l < servlet > 元素用于注册 Servlet ,它包含有两个主要的子元素: < s

ervlet -name> < servlet -class> ,分别用于设置 Servlet 的注册名称和 Servlet 的完整类名。

一个 < servlet -mapping> 元素用于映射一个已注册的 Servlet 的一个对外访问路径,它包含有两个子

元素:<servlet-name><url-pattern>,分别用于指定Servlet的注册名称和Servlet的对外访问路径。




l ServletConfig 对象中维护了 ServletContext 对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象。
l
l由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为context 对象。


l 如果某个 Servlet 的映射路径仅仅为一个正斜杠( / ),那么这个 Servlet 就成为当前 Web 应用程序的缺省 Servlet 。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值