`

tomcat 中 /servlet url 映射

阅读更多

我一直以为最新版是功能最完美的,所以我使用了tomcat5.0.19,但按书上定的我编每个servlet,调试时都要在项目目录下的web-inf/web.xml加入类似以下的代码:



<servlet>

<servlet-name>CounterServlet </servlet-name>

<servlet-class>mypack.CounterServlet </servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>CounterServlet </servlet-name>

<url-pattern>/counter</url-pattern>

</servlet-mapping>



后来通过多方打听,才知道tomcat有个调用器(invoker servlet),只要在web.xml中加入以下代码: 

<servlet-mapping>

<servlet-name>invoker</servlet-name>

<url-pattern>/servlet/*</url-pattern>

</servlet-mapping>



便直接用http://localhost:8080/项目目录名/servlet/servlet名 的方式直接调试,如果项目是root话,其中的项目目录可省即 http://localhost:8080/servelt/servlet名。可我按上述方法在tomcat5中使用总不成功(其它配置均正确),且启动tomcat的dos窗口出现多行”严重”字样,提示错在web.xml上,连基本的tomcat默认页都出错,把以上servlet-mapping去掉,就没出现以上问题了。后来仔细查看了网上的帖子,发现网上谈调用器的人大都用的是tomcat4,而且也听说tomcat5相对于tomcat4是有些改变,于是从官方网上下了tomcat4.1.30版,再按上面方法试,居然成了。自然我的上机也就完全改用tomcat4了。由于我装有win2K+winXP双系统,为了了解tomcat5的新功能,在另一系统上也装有tomcat5,但调试还是用的tomcat4,这个疑问也放下了。



昨才得知tomcat4.1.12之前的版本,默认情况下调用器是启用的,由于一个安全缺陷的揭示,因此,此以后的版本,调用器默认情况下是禁用的。如果要启用的话,需要将conf/web.xml文件中下面的servlet-mapping无素取消注释。打开相应的web.xml,发现其中真的有



<!-- The mapping for the invoker servlet -->

<!—

<servlet-mapping>

<servlet-name>invoker</servlet-name>

<url-pattern>/servlet/*</url-pattern>

</servlet-mapping>



-->



只不过加了注释符,禁用了。要解禁,根本不用再加,只用把注释符去掉就行了(当时咋没注意呢,呵呵。想当然了,我又查看了一下tomcat5的相应的web.xml,它也有这几项,被加注释,相必有这个功能呀!于是切换系统,运行,还是上面的错误。哦,对了,在web.xml配置时,讲究、对应关系,于时分别查看tomcat4与tomcat5中的项,真的发现了



<servlet>

<servlet-name>invoker</servlet-name>

<servlet-class>

org.apache.catalina.servlets.InvokerServlet

</servlet-class>

<init-param>

<param-name>debug</param-name>

<param-value>0</param-value>

</init-param>

<load-on-startup>2</load-on-startup>

</servlet>



不同之处在于在tomcat5中,以上代码加了注释符被禁用了,而tomcat4却没有,这就解释为什么tomcat5总出错的原因。于是马上去掉注释符,再试tomcat5,初始化没出现“严重”字样,运行也没问题,又一个疑问解决了。

综上,在tomcat4中,启用servlet调用器,只用去掉名为invoker的的注释符即可;而在tomcat5中,除此之外,你还要去掉同名的的注释符。





另附:tomcat4最高版4.1.30 , tomcat5最新版5.0.27 均可在tomcat官方地址下载

http:// http://jakarta.apache.org/site/binindex.cgi下载

==================================================

查看tomcat 的release-note( 我用的版本: 5.0.25), 会发现如下一段:

------------------------
Enabling invoker servlet:
------------------------

Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
default in all webapps. Enabling it for all webapps is possible by editing
$CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
definition.

Using the invoker servlet in a production environment is not recommended and
is unsupported.

另外,我在阅读<core servlet and java server pages: 2nd editon> 时,书中只是在轻描淡写

分享到:
评论

相关推荐

    tomcat关于配置servlet的url-pattern的问题思路详解

    tomcat在配置web.xml的时候,servlet是一个比较重要的问题,在这里讨论一下servlet中的几个痛点 servlet url-pattern的匹配问题 url-pattern中 / 和 /* 的区别 url-pattern的优先级问题 根路径 / 的匹配问题 1 ...

    tomcat环境变量配置

    表示指定HelloServlet应当映射到哪一种URL模式。 在修改web.xml完毕过后,重新启动Server,然后再输入http://localhost:8080/servlet/HelloWorld,那么偌大一个Hello,World!等 着你呢,恭喜你 摆平了:) 在JSP...

    servlet運行原理詳解 自我學習整理

    當user從client端向web服務器發送一個http請求時,服務器就會分配一個線程來服務這個http請求,web容器會檢查是否有與此http url映射對應的servlet,如果沒有servlet容器會根據web.xml配置文件加載對應的servlet,并...

    windows_server2003+tomcat+iis6整合

    worker_mount_file c:\tomat6\conf\uriworkermap.properties (指定JK插件的URL映射) 如果没有上述项,则建立相关项和相关值 四、打开“我的电脑-&gt;控制面板-&gt;管理工具-&gt;Internet信息服务管理器”, 在里面选择...

    用web.xml控制Web应用的行为

    用web.xml控制Web应用的行为 目录 1 定义头和根元素 2 2 部署描述符文件内的元素次序 2 3 分配名称和定制的UL 3 3.1 分配名称 3 ...servlet 7 4.1 重新映射/servlet/URL模式 8 4.2 全局禁止激活器...

    apache-tomcat-11.0.0-M3-windows-x64

    omcat是一个轻量级应用服务器,是支持运行Servlet/JSP应用程序的容器,运行在jvm上,绑定IP地址并监听TCP端口。...(2)把客户端请求的url映射到对应的servlet (3)与Servlet程序合作处理HTTP请求

    Spring MVC 入门实例

    然后我们再配置 Servlet 映射(servlet-mapping 标签), 也就是你希望哪些请求被DispatcherServlet处理. 这里, 我们设置后缀名为 do(*.do) 的所有URL请求都被名为 ideawu 的 DispatcherServlet 的程序处理. 选择 .do ...

    REST服务示例入门

    2. 由于【1】的改动,使得只有以/rest开头的URL才能映射到某资源,使用rest服务时,必须要加上/rest。 3. 由于【1】的改动,RestComponent类注册application时将资源字符串加上了/rest。 4. 由于【1】的改动和本人...

    Servlet与JSP核心编程第2版

    4.2 在servlet中读取表单数据 4.3 示例:读取3个参数 4.4 示例:读取所有参数 4.5 参数缺失或异常时默认值的应用 4.6 过滤字符串中的html特殊字符 4.7 根据请求参数自动填充java对象:表单bean 4.8 当...

    J2EE经典案例设计与实现

    案例5:实现多个URL映射一个Servlet 案例6:为Servlet创建JSP形式的URL 案例7:实现服务器自动激活的Servlet 案例8:访问Servlet的安全限制 案例9:Servlet读取初始化参数 案例10:实现多个Servlet之间信息传递 案例...

    fckedit编辑器

    上面文件中两个servlet的映射分别为:/editor/filemanager/browser/default/connectors/jsp/connector 和/editor/filemanager/upload/simpleuploader,需要在两个映射前面加上/FCKeditor, 即改为/FCKeditor/...

    java web技术开发大全(最全最新)

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和...

    基于Javaweb的超市管理系统毕业设计项目源码.zip

    配置Tomcat 测试项目是否能够跑起来 导入jar包:servlet-api、jsp-api、mysql-connector-java等 创建项目包结构 编写实体类 ORM映射:表-类 编写基础公共类 数据库配置文件 driver=com.mysql.jdbc.Driver url=jdbc...

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和...

    dashws-java:java中的dashenee网络套接字服务器

    配置dashws 接受以下上下文参数: auth_token为来自数据源的 post 请求设置身份验证令牌upstream Name定义 WS 上游 url, Name是上游的名称subscribe Name定义上游名称的订阅网址映射dashws 定义了以下相对于其上...

    apache-commons源码及jar文件

    FileUpload 使得在你可以在应用和Servlet中容易的加入强大和高性能的文件上传能力 HttpClient Commons-HttpClient 提供了可以工作于HTTP协议客户端的一个框架. IO IO 是一个 I/O 工具集 Jelly Jelly是一个基于 ...

    火炬博客系统5

    将torchblog目录COPY至Tomcat/webapps/下,即Tomcat/webapps/torchblog 修改Tomcat/webapps/torchblog/WEB-INF/classes/init.properties文件 主要修改 datasource.url=jdbc:mysql://127.0.0.1/...

    火炬博客系统7

    将torchblog目录COPY至Tomcat/webapps/下,即Tomcat/webapps/torchblog 修改Tomcat/webapps/torchblog/WEB-INF/classes/init.properties文件 主要修改 datasource.url=jdbc:mysql://127.0.0.1/...

    火炬博客系统6

    将torchblog目录COPY至Tomcat/webapps/下,即Tomcat/webapps/torchblog 修改Tomcat/webapps/torchblog/WEB-INF/classes/init.properties文件 主要修改 datasource.url=jdbc:mysql://127.0.0.1/...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。 Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理...

Global site tag (gtag.js) - Google Analytics