Google app engine Jsp serverlet映射url模式/*覆盖欢迎文件

Google app engine Jsp serverlet映射url模式/*覆盖欢迎文件,google-app-engine,jsp,servlets,Google App Engine,Jsp,Servlets,我正在用Java在Google app engine上建立一个站点。 在这里,我尝试使用servlet映射来映射jsp页面,如下所示: <servlet> <servlet-name>r</servlet-name> <jsp-file>/r.jsp</jsp-file> <load-on-startup>0</load-on-startup> </servlet> <s

我正在用Java在Google app engine上建立一个站点。 在这里,我尝试使用servlet映射来映射jsp页面,如下所示:

<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>
http://localhost:8080/
应该映射到
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>

R
/r、 jsp
0
R
/*
家
/home.jsp
0
家
/
home.jsp

我还尝试了
而不是
/
,但它也不起作用


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

将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>

R
/r、 jsp
0
R
/母羊
R
/rrrxdsfwef
R
/xy1
家
/home.jsp
0
home.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>/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>

R
/r、 jsp
0
R
/母羊
R
/rrrxdsfwef
R
/xy1
家
/home.jsp
0
home.jsp

你好,阿维纳什。现在
http://localhost:8080
正在映射到
home.jsp
。和
http://localhost:8080/test/xy1
被映射到
r.jsp
。有没有办法映射
http://localhost:8080/xy1
r.jsp
而不改变主页映射。或者这是唯一的解决办法?是的,你可以做到。用/XY1替换/test/*对不起,我问错了,我想要所有
http://localhost:8080/xy1
http://localhost:8080/rrrxdsfwef
http://localhost:8080/ewerw
映射到
r.jsp
http://localhost:8080
映射到home.jspIn,在这种情况下,您可以使用多个servlet映射。我已经更新了答案,可能对你有用。另外,我建议您在开始编码之前先学习servlet映射的基础知识。嗨,阿维纳什。现在
http://localhost:8080
正在映射到
home.jsp
。和
http://localhost:8080/test/xy1
被映射到
r.jsp
。有没有办法映射
http://localhost:8080/xy1
r.jsp
而不改变主页映射。或者这是唯一的解决办法?是的,你可以做到。用/XY1替换/test/*对不起,我问错了,我想要所有
http://localhost:8080/xy1
http://localhost:8080/rrrxdsfwef
http://localhost:8080/ewerw
映射到
r.jsp
http://localhost:8080
映射到home.jspIn,在这种情况下,您可以使用多个servlet映射。我已经更新了答案,可能对你有用。另外,我建议您在开始编码之前先学习servlet映射的基础知识。