java - servlet mapping Tomcat究竟是怎么做的呢?

标签 java tomcat servlets

我已经安装了 Tomcat 并浏览到他们的例子 http://mylocalhost.com:8080/examples/servlets/servlet/HelloWorldExample

但是当我在这里查看 web.xml 中的 servlet 映射时,它是针对 HelloWorldExample

<servlet-mapping>
    <servlet-name>HelloWorldExample</servlet-name>
    <url-pattern>/servlets/servlet/HelloWorldExample</url-pattern>
</servlet-mapping>

为什么缺少示例,不应该是:

<url-pattern>/examples/servlets/servlet/HelloWorldExample</url-pattern>

最佳答案

访问web项目的url是

http://yourHost:yourPort/yourProjectName

从这里你可以看出examples是您的项目名称或 context root您的项目。

因此,当您提供类似 http://mylocalhost.com:8080/examples 的网址时

首先容器读取deployment descriptor<welcome-file-list>标记并显示在 <welcome-file> 下指定的文件如果它存在。

当您指定此网址时 http://mylocalhost.com:8080/examples/servlets/servlet/HelloWorldExample 容器再次搜索 deployment descriptor对于指定的 url /servlets/servlet/HelloWorldExample如果它找到一个,它会加载指定的相应类。

关于java - servlet mapping Tomcat究竟是怎么做的呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25115262/

相关文章:

java - 如果 TextView 大于 1 行,如何在 TextView 上显示省略号?

java - 使用 Tomcat JDBC 连接池时在 jconsole 中看不到 JMX 条目

java - Tomcat/DBCP 空闲超时 : What if server hangs up?

java - XAMPP 上的 Apache,Tomcat 9(不在 XAMPP 上)未实现 HTTP PATCH 501 方法

java - 如何从一个标签获取多个值

java - Eclipse 的 LogCat 被 Android 的 WAIT_FOR_CONCURRENT_GC 淹没

java - 如何安全地处理 Java Servlet 过滤器中的密码?

java - 如何在javascript函数中传递java变量?

java - 共享和存储 RSA - Java 服务器中的公钥,反之亦然

tomcat - 为 nginx 和 tomcat 设置购买 ssl 证书