0

如果我尝试:

<servlet-mapping>
    <servlet-name>app</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

我收到此错误:

No mapping found for HTTP request with URI [/sample/WEB-INF/jsp/person.jsp]

如果我尝试/那样<url-pattern>一切正常。

我的网址:http://localhost:8080/sample/person

为什么会这样?在 web.xml 中进行此配置的首选方法是什么?

app-servlet.xml有:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
</bean>
4

2 回答 2

2

您将 /* (对您的应用程序的每个请求)映射到称为“应用程序”的 servlet。InternalResourceViewResolver 在“/WEB-INF/jsp/person.jsp”中查找(内部)“/person”。通过这种方式,您可以访问您的视图,而脚本在 WEB-INF 中是安全的,无法从 url(公共)访问。

于 2014-05-13T07:33:45.673 回答
1

/*表示对您的网络应用程序的每个公开请求。这意味着对于您的 jsp,它应该是公开访问的,因为它在 WEB-INF 中而不是公开的,它会出错。

如果您只使用/它意味着服务器接受了请求并且网络应用程序在内部处理它而没有任何公共访问权限。

于 2014-05-13T07:44:29.690 回答