文档章节

<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。


© 著作权归作者所有

共有 人打赏支持
未来守护者
粉丝 9
博文 78
码字总数 22633
作品 0
郑州
高级程序员
访问WEB-INF目录中的JSP文件

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

moz1q1
2015/03/31
0
0
spring mvc 中如何访问到静态的文件,如jpg js css

如何你的DispatcherServlet拦截".do"这样的有后缀的URL,就不存在访问不到静态资源的问题。 如果你的DispatcherServlet拦截"/",为了实现REST风格,拦截了所有的请求,那么同时对.js,.jpg等静...

随智阔
2014/03/11
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
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

没有更多内容

加载失败,请刷新页面

加载更多

FFmpeg Maintainer赵军:FFmpeg关键组件与硬件加速

大家好!我是赵军,现就职于英特尔的DCG从事基于FFmpeg的硬件优化工作,两年多前加入FFmpeg社区,2018年4月成为FFmpeg的其中的一个FFmpeg Maintainer,主要负责FFmpeg的硬件优化工作。 概览:...

yizhichao
16分钟前
0
0
ehlib 修改 使行号字体颜色 与标题字体颜色 一致

对ehlib 显示效果不够满意,而做的调整 修改这个过程:procedure TCustomDBGridEh.DrawIndicatorCell(ACol, ARow: Longint; AreaCol, AreaRow: Longint; ARect: TRect; AState: TGri......

vga
42分钟前
0
0
Bash重定向详解

Bash重定向详解 Bash的重定向指的是将命令的输入和输出导向不同地方,而不是默认的标准输入、标准输出和标准错误。Bash的重定向实际上是对标准输入、标准输出和标准错误的重置,进而将所需输...

小陶小陶
今天
3
0
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

yangjianzhou
今天
25
0
OpenCV图像处理实例:libuv+cvui显示摄像头视频

#include <iostream>#include <opencv2/opencv.hpp>#define CVUI_IMPLEMENTATION#include <cvui.h>extern "C"{#include <uv.h>}using namespace std;#define WINDOW_NAM......

IOTService
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部