首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web-app:欢迎-文件列表不使用servlet映射

Web-app:欢迎-文件列表不使用servlet映射
EN

Stack Overflow用户
提问于 2013-11-15 13:03:15
回答 3查看 15.3K关注 0票数 5

当访问裸url (例如localhost:8080)时,我想要与访问localhost:8080/foo相同的行为。servlet (实际上是JSP)映射到/foo。我的web.xml是

代码语言:javascript
复制
<?xml version="1.0" encoding="ISO-8859-1" ?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">

    <display-name>Test</display-name>
    <description></description>

    <!-- servlets -->

    <servlet>
        <servlet-name>TestServlet</servlet-name>
        <jsp-file>/test/welcome.jsp</jsp-file>
    </servlet> 

    <!-- mappings -->
    <servlet-mapping> 
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/foo</url-pattern>
        <url-pattern>/foo/*</url-pattern>
    </servlet-mapping> 

    <welcome-file-list>
        <welcome-file>/foo</welcome-file>
    </welcome-file-list> 
</web-app> 

当我执行http://localhost:8080/foo时,我得到正确的输出;显示test/welcome.jsp的输出。但是,当访问裸url http://localhost:8080时,jetty会显示文件列表,Tomcat 6给出一个未找到的页面。我的web.xml对吗?

(版本:jetty-8.0.y.z-快照,Tomcat 6,Java1.6,servlet-api-2.5)

<welcome-file>/foo</welcome-file> <welcome-file>foo</welcome-file> 改为<welcome-file>foo</welcome-file>的并没有什么区别。

我的web.xml中有错误吗?如果不是,怎样才能做好我想做的事。

编辑:似乎是Jetty-8中的一个bug。它开始在9号高速公路上工作。

EN

回答 3

Stack Overflow用户

发布于 2013-11-15 13:05:20

从这个/中删除<welcome-file>/foo</welcome-file>应该是

代码语言:javascript
复制
<welcome-file>foo</welcome-file>
票数 3
EN

Stack Overflow用户

发布于 2015-09-17 13:00:26

不确定这是否也适用于Jetty 8(您可能无论如何都应该更新),但是在Jetty 9中,您可以将以下代码放在web.xml中以启用Servlets作为Jetty的欢迎文件:

代码语言:javascript
复制
<!-- Enable servlets as welcome files -->
<context-param>
    <param-name>
       org.eclipse.jetty.servlet.Default.welcomeServlets
    </param-name>
    <param-value>true</param-value>
</context-param>

参见这个文档:http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/servlet/DefaultServlet.html

票数 3
EN

Stack Overflow用户

发布于 2014-11-23 10:20:42

它应该是:

代码语言:javascript
复制
<servlet-mapping> 
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/foo</url-pattern>
        <url-pattern>/foo/*</url-pattern>
</servlet-mapping> 

<welcome-file-list>
        <welcome-file>foo</welcome-file>
</welcome-file-list> 

以下是一个很好的解释:http://wiki.metawerx.net/wiki/HowToUseAServletAsYourMainWebPage

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20001761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档