Spring MVC:我在路径WEB-INF / jsp中有我的jsp文件。我想得到网址 _http:// mydomainname:8080 /冰屋/运动/记分牌 解决使用spring mvc。 jsp页面位于/WEB-INF/jsp/sports/scoreboard.jsp
下以下是安装的详细信息,我在底部得到的错误:
WEB.XML:
<servlet-mapping>
<servlet-name>springapp</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
springapp-servlet.xml:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
@RequestMapping({"/sports/scoreboard"})
public String scoreboard(Map<String,Object> model, HttpServletRequest request, HttpServletResponse response)
{
return "sports/scoreboard";
}
System File Path:
WEB-INF/jsp/sports/scoreboard.jsp
Browser Url:
http://localhost:8080/igloo/sports/scoreboard
Error:
HTTP Status 404 - /igloo/sports/WEB-INF/jsp/sports/scoreboard.jsp
答案 0 :(得分:5)
只需在您的/
InternalResourceViewResolver
{。}}中添加一个prefix
。{/ p>
<property name="prefix" value="/WEB-INF/jsp/"></property>
在内部,JstlView
使用HttpServletRequest#getRequestDispatcher(String)
来定位jsp。注意javadoc
指定的路径名可能是相对的,但不能扩展 在当前servlet上下文之外。如果路径以“/”开头 被解释为相对于当前上下文根。
因此,如果您没有前导/
,则它与当前路径相关,恰好是/sports
,所以
sports/WEB-INF/jsp/sports/scoreboard.jsp
您的应用程序没有映射,因此返回404。