4-----Servlet技术

第1节  Servlet概述

1.什么是Servlet?

Servlet实际上是一个用Java编写的类,运行在web服务器。

2.Servlet主要用于处理客户端发送来的请求,并作出响应。

3.servlet能够处理doGet()和doPost()方法;

  doGet():用于处理get方式发送的请求;

  doPost():用于处理post方式发送的请求;

4.Servlet的特点:

  1)方便:Servlet能够处理难度比较高的html表单;

  2)跨平台:Servlet就是Java程序,可以实现跨平台;

  3)可拓展性高:由于Java程序可继承,所以具有可拓展性;

  4)Servlet可以实现多个程序之间的共享;

第2节 Servlet的接口和实现类

1.Servlet是一个接口,在javax.servlet包下;

2. Servlet的5个方法:

 1)destroy()-------销毁servlet对象;

 2)init()------对servlet对象进行初始化;

 3)service()------用来接收客户端发送的请求,作出响应;

 4)getServletConfig()

 5)getServletInfo()-----返回servlet的作者、版本等;

3.servlet接口的实现类

 1)GenericServlet类实现了Servlet接口;

 2)HttpServlet类实现类Servlet接口;

HttpServlet是GenericServlet类的子类;

4.init()初始化方法只能调用一次;

5.destroy()方法也是只能被调用一次;

第3节  xml中如何配置Servlet?

第4节  创建第1个Servlet程序

1----创建一个web项目

2------创建一个类,继承HttpServlet,重写doGet/doPost.

配置类的xml文件

显示结果:

第5节  Servlet类的生命周期

Servlet类的生命周期有3个阶段:

初始化阶段:

首先当servlet容器接收到服务器端发送来的请求时会先解析请求,看看是否含有servlet对象,有的话直接使用,没有则创建一个servlet对象,之后调用init()对servlet对象进行初始化。在整个生命周期内,init只能被调用1次;

运行阶段:

对Servlet对象进行初始化之后,会存在两个对象,分别是ServletRequest和ServletResponse;然后调用service方法,将该两个对象当做参数传给service。service就会获取到请求并作出响应;在整个生命周期内,客户端每发送一次请求,都会调用一次service方法。

销毁阶段:

当响应回显到浏览器之后,如果关闭服务器,那么servlet对象就会调用destroy方法来销毁自身,以便于释放资源。destroy方法在整个生命周期内,只能被调用1次;

第6节  继承HttpServlet类的好处

1.首先,当一个类继承HttpServlet之后,就可以重写doGet()和doPost()方法,而不用重写service();

2.可以根据请求方式的不同,定义相应的doGet()和doPost()方法。

3.可以将请求和响应强转为HttpServletRequest和HttpServletResponse.

第7节  实现servlet虚拟路径的映射

1.我们创建好的servlet类,只有映射成虚拟路径之后,客户端才可以访问;

2.Servlet的多重映射:

指的就是一个servlet可以映射成多个虚拟路径,也可以说,客户端可以通过多个路径来访问到同一个servlet资源;

1)配置多个servlet-mapping

代码演示:

显示结果:

2)配置多个url-pattern

代码演示:

第8节  servlet虚拟路径中使用通配符*

代码演示1:

代码演示2:

第9节  缺省servlet

1.如果某个url虚拟路径仅仅只是一条/,那么该servlet就是缺省servlet。可以接收任意请求。

第10节  ServletConfig接口

1. ServletConfig接口用于获取xml文件当中的配置信息;

代码演示:

显示结果:

第11节  ServletContext接口

1.当servlet容器启动的时候,会给每一个web应用创建一个ServletContext对象代表当前web应用。该对象封装了web应用的所有信息,而且还实现了多个servlet之间资源的共享。

代码演示:

显示结果:

2.实现多个servlet之间数据的共享

代码演示:

显示结果:

3.servlet读取web应用下的资源文件

代码演示:

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/CSDN_fanya/article/details/81743760