5

我在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>

基本上,当我打开http://localhost:8080/appname. 因此,我尝试将其注册为欢迎文件,web.xml如下所示:

<welcome-file-list>
    <welcome-file>Manager</welcome-file>
</welcome-file-list>

但是,当我运行该项目时,我收到一条错误消息,提示“请求的资源不可用”。但是,如果我用我的 servlet URL 模式写入 url,它就可以正常工作。

4

3 回答 3

4

指定一个空字符串作为 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>

也可以看看:


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

于 2015-08-15T14:36:24.143 回答
0

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

<jsp:forward page="servlet_context">

并在 web.xml 中添加 index.jsp 作为欢迎文件

于 2015-08-15T02:05:16.977 回答
0

在 servlet 类中,您可以使用以下方式转发控制:

request.getRequestDispatcher("forward page URL").forward(req,res);

否则,如果您使用的是 JSP,则使用

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

或者

<jsp:forward page="relative URL" />
于 2015-08-15T02:43:04.273 回答