文档章节

<J2EE>SERVLET的基本配置和访问流程

未来守护者
 未来守护者
发布于 2014/11/15 20:05
字数 643
阅读 100
收藏 0

首先,需要先将servlet中java文件编译成字节码文件,然后,启动Tomcat,Tomcat会读取Servlet在web.xml中的配置信息

servlet的配置信息如下所示:

<!--配置出一个servlet的基本信息,将classes中的servlet以servlet-name的方式映射到程序中-->
<servlet>
<servlet-name>myapp</servlet-name>  <!--配置出servlet的虚拟名称-->
<servlet-class>hnnd.xg.FisrtSerlet</servlet-class>  <!--这里是指编译过后的class文件在src中位置-->
<load-on-startup>2<load-on-startup><!--加载启动的顺序,系统提供的默认的servlet顺序是1,所以这个最好小于1,默认启动顺序可以使其在启动的时候,生成过一个servlet的对象,减少下次的访问时间-->
</servlet>
<!--配置servlet的访问路径-->
<servlet-maping>
<servlet-name>myapp</servlet-name> <!--上面定义过的servlet的名称-->
 <url-pattern>/TestOne</url-pattern> <!--这个是访问servlet的路径,如果为“/”则为默认路径-->
</servlet-maping>

这样一个servlet就配置完成了,当Tomcat开始运行的时候,首先下载web.xml,当客户端开始请求的Tomcat相应资源的时候,首先Tomcat根据用户请求路径在Tocat中寻找对应的servlet的,当找到servlet名之后,调用该servlet方法,或者实例化出该servlet字节码的对象,调用service()找到响应类型的请求后 ,并返回给客户端。一次访问完成。


servlet-maping的配置问题

                1、一个Servlet可以被映射到多个URL地址上

2、URL地址映射还支持通配符*

方式一:以*开头,以扩展名结尾。比如 <url-pattern>*.do</url-pattern>

方式二:以/前缀开头,以*结尾。 比如<url-pattern>/action/*</url-pattern>

3、多个Servlet使用通配符时,有可能有多

以"/"开头(方式二)要比"*"开头(方式一)优先级高

都以"/"开头,还是有多个匹配,找最匹配的

4、如果一个Servlet的映射为一个"/",就称之为默认的Servlet,它负责处理没有映射路径的URL请求的响应。

个配置的Servlet。


例如 :

NO.1	<url-pattern>/abc</url-pattern>
NO.2	<url-pattern>/abc/*</url-pattern>
NO.3	<url-pattern>/</url-pattern>
NO.4	<url-pattern>/abc/*.html</url-pattern>

假如主机就是LocalHost 当访问localhost:8080/   时候,我们会访问默认的第三个。

如果地址是localhost:8080/abc  时候,可以通配的有第一个和第三个,但是第一个可以完全匹配,故会访问一个usl对应的servlet。

如果地址是localhost:8080/abc/a.html  可以统配第二个和第四个,但是第四个更可以完全统配上,故会访问第四个servlet。


© 著作权归作者所有

共有 人打赏支持
未来守护者
粉丝 10
博文 78
码字总数 22633
作品 0
郑州
高级程序员
私信 提问
(JavaEE-07)JSP.md

JSP JSP全称是Java Server Pages,它和Servlet技术一样,都是SUN公司定义的一种用于开发动态Web资源的技术。JSP的编写就像编写HTML一样简单,但是与HTML不同的是,在JSP中,可以编写Java代码...

_-Leon-_
2014/07/04
0
0
Spring中HttpInvoker远程调用使用实例

代码结构图如下: 客户端通过Spring的HttpInvoker,完成对远程函数的调用。涉及的类有: 客户端调用User类的服务UserService,完成对实现类UserServiceImpl的addUser(User u)方法调用。其中...

方绍伟
2013/10/09
0
0
Servlet基础

Servlet简介:Servlet是sun公司提供的一门用于开发动态web资源的技术,sun公司在API中提供了一个Servlet接口,用户若想完成一个动态web资源,需要完成以下两个步骤: ----1、编写一个Java类,...

晨曦之光
2012/05/16
231
0
Servlet 生命周期、工作原理

Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。 init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet 对象。可以配...

ArlenXu
2015/01/24
0
0
Servlet生命周期与工作原理

Servlet生命周期分为三个阶段:   1,初始化阶段 调用init()方法   2,响应客户请求阶段  调用service()方法   3,终止阶段  调用destroy()方法 Servlet初始化阶段:   在下列时...

№贪↗恋♂
2012/08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

计算游戏权重代码

$list = [ [ 'pt' => 1, //权重序号 'pv' => 0, //权重值 ], [ 'pt' => 2, 'pv' => 10, ], [ 'pt' => 3, ......

我才是张先生
28分钟前
11
0
智能分单算法

算法描述 目前在物流,企业用工等领域,都有着大量的通过算法对接到的订单进行智能分配的需求。本文模拟的是用户下订单,然后商家接到订单,由配送人员进行派送的场景。在实际的应用中类似于...

鱼煎
30分钟前
2
0
即将开源 | 2亿用户背后的Flutter应用框架Fish Redux

背景 在闲鱼深度使用 Flutter 开发过程中,我们遇到了业务代码耦合严重,代码可维护性糟糕,如入泥泞。对于闲鱼这样的负责业务场景,我们需要一个统一的应用框架来摆脱当下的开发困境,而这也...

阿里云云栖社区
35分钟前
2
0
Ubuntu上搭建比特币运行环境

Ubuntu版本:16.04.3 Bitcoin Core版本:0.16 1. 比特币运行依赖的开源库 (1)必须依赖的库 库 目的 描述 libssl 加密 随机数生成,椭圆曲线加密算法 libboost 工具 线程库,数据结构等 li...

LoSingSang
40分钟前
2
0
IDE 插件新版本发布,开发效率 “biu” 起来了

近日,Cloud Toolkit正式推出了面向 IntelliJ 和 Eclipse 两个平台的新款插件,本文挑选了其中三个重大特性进行解读,点击文末官网跳转链接,可查看详细的版本说明。 本地应用一键部署到任何...

zhaowei121
45分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部