对于初学者的问题很抱歉,但我想知道如何在Tomcat 6中设置root servlet? 例如,我想在
上访问我的servlet localhost:8080
,而不是
localhost:8080/myservlet
谢谢!
答案 0 :(得分:7)
部署具有上下文根/
的Web应用程序
并在web.xml中将servlet-mapping设置为
<servlet-mapping>
..
<url-pattern>/</url-pattern>
</servlet-mapping>
答案 1 :(得分:1)
这是一个老话题,但Jigar Joshi的回答并不适用于Tomcat 8.0
和Servlet 3.1
。所以我在web.xml
中使用了以下映射。
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
在第12.2节中,Servlet 3.0 specification指出:
空字符串(&#34;&#34;)是一个精确映射到的特殊UR L模式 应用程序的上下文根,即表单的请求 http://host:port/ /。在这种情况下,路径信息是'/ '和servlet路径和上下文路径是空字符串(“”)。
答案 2 :(得分:0)
我在web.xml中执行了以下操作。我将servlet映射为index.html。
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>myservlet</welcome-file>
</welcome-file-list>
然后是servlet本身:
<servlet>
<description></description>
<display-name>myservlet</display-name>
<servlet-name>myservlet</servlet-name>
<servlet-class>myservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myservlet</servlet-name>
<url-pattern>/index.html</url-pattern>
</servlet-mapping>
答案 3 :(得分:0)
来自Tomcat 6 context configuration documentation:
可以明确定义上下文元素... (snip) ...在单个文件中(扩展名为“.xml”)
$CATALINA_BASE/conf/[enginename]/[hostname]/
目录。文件名(减去 .xml扩展名)将用作 上下文路径。多层次的背景 可以使用#来定义路径,例如foo#bar.xml
表示上下文路径/foo/bar
。 默认网络 应用程序可以通过使用a来定义 文件名为ROOT.xml
。
您必须在该应用程序中map the servlet到根路径(/
)。