Servlets 在web.xml中将servlet设置为默认主页

Servlets 在web.xml中将servlet设置为默认主页,servlets,web.xml,welcome-file,Servlets,Web.xml,Welcome File,我在web.xml中注册了一个servlet,如下所示 <servlet> <servlet-name>Manager</servlet-name> <servlet-class>Manager</servlet-class> </servlet> <servlet-mapping> <servlet-name>Manager</servlet-name>

我在
web.xml
中注册了一个servlet,如下所示

<servlet>
    <servlet-name>Manager</servlet-name>
    <servlet-class>Manager</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Manager</servlet-name>
    <url-pattern>/RequestManager</url-pattern>
</servlet-mapping>

但是,当我运行这个项目时,我得到一个错误,说“请求的资源不可用”。但是,如果我使用servlet url模式写入url,它可以正常工作。

您可以使用index.jsp转发到您的servlet

<jsp:forward page="servlet_context">


并将index.jsp作为欢迎文件添加到web.xml中的servlet类中,您可以使用以下方法转发控件:

request.getRequestDispatcher("forward page URL").forward(req,res);
或者,如果您使用的是JSP,则使用

<% RequestDispatcher rd = servletContext.getRequestDispatcher("/pathToResource");
rd.forward(request, response); %>


指定一个空字符串作为servlet的URL模式

<servlet>
    <servlet-name>Manager</servlet-name>
    <servlet-class>Manager</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Manager</servlet-name>
    <url-pattern></url-pattern>
</servlet-mapping>

经理
经理
经理
另见:


与具体问题无关,
应该表示URL路径,而不是servlet名称。如果您指定了
RequestManager
,它就会起作用。但这会影响所有子文件夹。实际上,
的含义与您心目中的“主页文件”完全不同。它表示当请求文件夹时应提供的默认资源。

这不适用于我。。。。目前我正在使用servlet版本3.1。如果您能提供解决方案,那就太好了,谢谢@BalusCIt为我和空白项目中的任何其他人工作。更有可能的是,你的项目中还有其他与之冲突的东西。
<jsp:forward page="relative URL" />
<servlet>
    <servlet-name>Manager</servlet-name>
    <servlet-class>Manager</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Manager</servlet-name>
    <url-pattern></url-pattern>
</servlet-mapping>