1

我正在使用 Java 在 Google 应用引擎上构建一个站点。在那里,我正在尝试使用 servlet 映射来映射 jsp 页面,如下所示:

http://localhost:8080/<any text>应该映射到r.jsp

http://localhost:8080应该映射到home.jsp

但是这两个 url 总是被映射到r.jsp.

而我的 web.xml 如下:

<servlet>
    <servlet-name>r</servlet-name>
    <jsp-file>/r.jsp</jsp-file>
    <load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>r</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet>
    <servlet-name>home</servlet-name>
    <jsp-file>/home.jsp</jsp-file>
    <load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>home</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
    <welcome-file>home.jsp</welcome-file>
</welcome-file-list>

我也尝试过,<url-pattern>""</url-pattern><url-pattern>/</url-pattern>它也没有用

对此有任何servlet 映射解决方案吗?

4

1 回答 1

1

将您的 web.xml 更改为这样的内容

<servlet>
<servlet-name>r</servlet-name>
<jsp-file>/r.jsp</jsp-file>
<load-on-startup>0</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>r</servlet-name>
<url-pattern>/ewerw</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>r</servlet-name>
<url-pattern>/rrrxdsfwef</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>r</servlet-name>
<url-pattern>/xy1</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>home</servlet-name>
<jsp-file>/home.jsp</jsp-file>
<load-on-startup>0</load-on-startup>
</servlet>

<welcome-file-list>
<welcome-file>home.jsp</welcome-file>
</welcome-file-list>
于 2013-04-01T08:40:16.290 回答