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的运行简单的过程。



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

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

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

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

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

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

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

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

前调用Servletdestroy()方法。 




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的对外访问路径。




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


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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值