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

首先,需要先将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()找到响应类型的请求后 ,并返回给客户端。一次访问完成。


172050_8cYP_1772665.jpg

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。


转载于:https://my.oschina.net/anyyang/blog/345129

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值