java web 第三章Servlet基础

1.Servlet的概述

Servet是使用Java语言编写的运行在服务器端的程序。狭义的Serlet是指Java语言实现的一个接口,广义的Serlet是指任何实现了这个Servlet接口的类,一般情况下, 人们将Servet理解为后者。Servilet 主要用于处理客户端传来的HTTP请求,并返回一个响应,它能够处理的请求有doGet()和doPost()等方法。

Servlet由Servlet容器提供,所谓的Servlet容器是指提供了Servlet 功能的服务器(本书中指Tomcat), Servlet 容器将Servlet动态地加载到服务器上。与HTTP协议相关的Servlet使用HTTP请求和HTTP响应与客户端进行交互。因此,Servlet容器支持所有HTTP协议的请求和HTTP响应与客服端进行交互。因此,Servlet容器支持所有HTTP协议的请求和响应。 Servlet应用程序的体现结构如图
在这里插入图片描述

在图中,Servlet的请求首先会被HTTP服务器(如Apache)接收,HTTP服务器只负责静态HTML页面的解析,对于Servlet的请求转交给Servlet容器,Servlet容器会根据web.xml文件中的映射关系,调用相应的Servlet,Servlet将处理的结果返回给Servlet容器,并通过HTTP服务器将响应传输给客户端。

Servlet技术具有如下特点。
●方便: Servlet提供了大量的实用工具例程,如处理很难完成的HTML表单数据、读取和设置HTTP头,以及处理Cookie和跟踪会话等。
●跨平台: Servlet用Java类编写,可以在不同操作系统平台和不同应用服务器平台下运行。●灵活性和可扩展性:采用Servlet开发的Web应用程序,由于Java类的继承性及构造函数等特点,使得应用灵活,可随意扩展。
除了,上述几点外,Servlet 还具有功能强大、能够在各个程序之间共享数据、安全性强等特点,此处就不再详细说明,读者作为了解即可。

2.使用Eclipse工具开发Servlet

1.新建Web项目

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述由于Eclipse工具在创建Servlet时会将Servlet的相关配置文件添加到web.xml中,因此打开web.xml文件,可以看到TestServlet01的虚拟映射路径已经自动进行配置,如图·
在这里插入图片描述

3.部署和访问Servlet

在这里插入图片描述
在这里插入图片描述
接下来,启动Eclipse中的谷歌浏览器,在浏览器的地址栏输入地址“http://locatlhost:8899/HttpServlet/luo.xml”

在这里插入图片描述

4 Servlet的多重映射

4.1 Servlet映射路径中使用通配符

在实际开发过程中,开发者有时候会希望某个目录下的所有路径都可以访问同一个Servlet,这时,可以在Servlet映射的路径中使用通配符“米”。 通配符的格式有两种,具体如下。

(1)格式为“.扩展名”,例如“.do" 匹配以".do"结尾的所有URL地址。

(2)格式为“/”, 例如“/abc/" 匹配以“/abc" 开始的所有URL地址。

需要注意的是,这两种通配符的格式不能混合使用,例如,/abc/*.do 就是不合法的映射路径。另外,当客户端访问一个Servlet 时,如果请求的URL地址能够匹配多个虚拟路径,那么Tomcat将采取最具体匹配原则查找与请求URL最接近的虚拟映射路径。例如,对于如下所示的-些映射关系:

/abc/* 映射到Servlet1

/* 映射到Servlet2

/abc 映射到Servlet3

*.d0 映射到Servlet4

将发生如下一些行为:

当请求 URL为“/abc/a.html” “/abc/” 和“/” 都可以匹配这个URL, Tomcat会调用Servlet1

当请求URL为“/abc”"/abc/“和“/abc"都可以匹配这个URL, Tomcat会调用Servlet3当请求URL为“/abc/a.do” “.do" 和“/abc/*" 都可以匹配这个URL, Tomcat会调用Servlet1

当请求URL为“/a.do"“/"和“.do"都可以匹配这个URL, Tomcat会调用Servlet2当请求URL为“xxxyy/.do”"“.do”和“/”都可以匹配这个URL,Tomcat 会调用Servlet2
在这里插入图片描述在这里插入图片描述

2020080605013

猜你喜欢

转载自blog.csdn.net/qq_55689246/article/details/121072581