Tomcat, pathinfo, and servlets

So today I learned that you can‘t just access PATH_INFO (pathinfo) information from a servlet when you‘re using Tomcat (at least not Tomcat 3.2.4 running under Apache). I can access the PATH_INFO information okay under Tomcat running standalone on my PC, but for some reason the same config did not work properly using Tomcat under Apache. (I‘ll investigate this more in the future.)

Specifically, for me to be able to access PATH_INFO (PathInfo) information in a servlet, I had to add this servlet mapping information to my web.xml file:

    <servlet-mapping>
        <servlet-name>
            Content
        </servlet-name>
        <url-pattern>
            /Content/*
        </url-pattern>
    </servlet-mapping>

  

The /Content/* is the key. When I just had /Content as the url-pattern like I normally would, I kept getting a 404 error any time I pre-pended anything to the end of my servlet call (for instance, when I tried to hit a URL like http://mondo.devdaily.com/Content/1/1/). But once I changed the servlet mapping as shown above, it started working like a champ.

时间: 2024-10-12 04:18:40

Tomcat, pathinfo, and servlets的相关文章

Java代理Internet

Java代理Internet 2013年10月23日 23:14 Java HTTP Proxy Settings OVERVIEW For local networks within an organization, access to the public-domain Internet is often via a HTTP Proxy. This article talks about the HTTP proxy settings for the Java environment. I

LINUX环境中tomcat启动错误:The servlets named X and Y are both mapped to the url-pattern [/Z] which is not permitted

最近有一个问题困扰了我3天,我在windows部署项目无误后,准备将项目发布到阿里云linux服务器上,发现启动报错了:LINUX环境中tomcat启动错误:The servlets named X and Y are both mapped to the url-pattern [/Z] which is not permitted,首先想到的是肯定部署代码或者项目配置文件的事,怀疑有可能是jar包出错了,果不其然,在项目的WebContent\WEB-INF\lib发现了servlet-ap

持续集成篇_04_Maven使用Jetty或Tomcat运行项目

一.以Jetty服务器运行配置 1.<build></build>标签内容配置 <build> <defaultGoal>install</defaultGoal> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <ve

tomcat(12)org.apache.catalina.core.StandardContext源码剖析

[0]README 0)本文部分文字描述转自 "how tomcat works",旨在学习 "tomcat(12)StandardContext源码剖析" 的基础知识: 1)Context实例表示一个具体的web 应用程序,其中包含一个或多个Wrapper实例,每个Wrapper 表示一个具体的servlet定义: 2)Context容器还需要其他组件的支持,如载入器和Session 管理器.本章要intro 的 StandardContext是 catalina

Tomcat 爆出高危漏洞!

一.漏洞背景 安全公告编号:CNTA-2020-0004 2020年02月20日, 360CERT 监测发现 国家信息安全漏洞共享平台(CNVD) 收录了 CNVD-2020-10487 Apache Tomcat文件包含漏洞. CNVD-2020-10487/CVE-2020-1938是文件包含漏洞,攻击者可利用该高危漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:****webapp 配置文件或源代码等. 受影响的版本包括:Tomcat 6,Tomcat 7的7.0

Apache Tomcat样例目录session操纵漏洞

0x00   背景 前段时间扫到的漏洞,研究了下,感觉挺有意思的,发出来和大家分享下,有啥不对的地方还请各位拍砖指正. Apache Tomcat默认安装包含"/examples"目录,里面存着众多的样例,其中session样例(/examples/servlets/servlet/SessionExample)允许用户对session进行操纵.因为session是全局通用的,所以用户可以通过操纵session获取管理员权限. 案例:http://www.wooyun.org/bugs

[从零搭网站五]http网站Tomcat配置web.xml和server.xml

点击下面连接查看从零开始搭网站全系列 从零开始搭网站 上一章我们在CentOS下搭建了Tomcat,但是还是没有跑起来...那么这一章就把最后的配置给大家放上去. 有两种方式:一种是用 rm -f 给这两个文件删掉,再用vim建新的出来.另一种是vim编辑,输入:set nu 显示行号,再输入:1,最后一行的行号d 把全文删掉. 然后再复制粘贴我给你们的配置文件就行. web.xml  , 完全不用修改,直接复制就行了: <?xml version="1.0" encoding=

关于Tomcat上请求的编解码问题

最近翻阅<深入分析 Java Web 技术内幕>(作者:许令波),关于Tomcat上Web请求的编解码问题,少了一个小点,可能影响了部分读者的理解,我特意查证了一下,特总结如下: 1. 请求的PathInfo部分用Tomcat的Connector元素的URIEncoding属性指定的编码来解码. 具体使用可参考:https://tomcat.apache.org/tomcat-8.5-doc/config/http.html. 2. 第二先说请求体(POST正文)的解析,Tomcat按下次顺序

tomcat虚拟目录

1.server.xml 打开Tomcat目录下的/conf/server.xml文件,在Host之前加入下面红色部分的内容. <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve