文档章节

<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
郑州
高级程序员
私信 提问
访问WEB-INF目录中的JSP文件

方法1: 本来WEB-INF中的jsp就是无法通过地址栏访问的.所以安全.如果说你要访问这个文件夹中的jsp文件需要在项目的web.xml文件中去配置servlet格式差不多的配置就ok了。如下: [html] view p...

moz1q1
2015/03/31
0
0
(JavaEE-07)JSP.md

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

_-Leon-_
2014/07/04
0
0
javaweb Servlet开发

一、Servlet简介   Servlet是sun公司提供的一门用于开发动态web资源的技术。   Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数...

木云凌
10/25
0
0
Servlet的一些细节--学习笔记

Servlet细节 1)浏览器访问的url-pattern只是一个符合格式的任意字符串,以/开头 2)一个Servlet的url-pattern可以是1个或多个,有二种形式; a).xx b)/xx/ 注意:/不能一起直接使用 3)/和....

知止内明
04/17
0
0
过滤器(Fileter)执行流程

Servlet过滤器的概念: Servlet过滤器是在 java Servlet 2.3 中定义的,它能够对Servlet容器中的请求和响应对象,进行检查和修改 Servlet过滤器并不会生成request和response对象,它只起到过...

狼行-狼行
2013/11/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Centos7 防火墙 firewalld 实用操作

摘要: 一.前言 Centos7以上的发行版都试自带了firewalld防火墙的,firewalld去带了iptables防火墙。其原因是iptables的防火墙策略是交由内核层面的netfilter网络过滤器来处理的,而firewal...

阿里云官方博客
11分钟前
1
0
Python venv简单使用——创建虚拟环境

1.首先,我们先在项目目录下,输入: python3 -m venv xxx xxx指你要创建的文件名。因为在执行这行命令之后,就会把与Python虚拟环境有关的文件放到xxx里面。 2.然后只需要运行这个里面的act...

littlemesieV
20分钟前
0
0
spring常用配置

Spring常用配置示例Spring 是一款Java平台的开源框架,是为解决企业级应用程序开发的复杂性而创建的,通过良好的分层架构让开发人员能够专注于业务逻辑的开发。Spring框架是一个分层架...

小橙子的曼曼
22分钟前
0
0
Docker安装Jenkins

Docker安装Jenkins

吴伟祥
22分钟前
0
0
java运算符 与(&)、非(~)、或(|)、异或(^)

最近看HashMap源码,遇到了这样一段代码: 1 static final int hash(Object key) {2 int h;3 return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);4 ......

孟飞阳
32分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部