SSM框架学习中,运行出现“HTTP Status 404 – 未找到”错误

404的错误都是资源路径错误,经过查找,发现是在SpringMVC配置文件中定义视图解析器时前缀路径没有以“/”开头

<property name="prefix" value="WEB-INF/jsp/"/>

应该在WEB前加上“/”,如下:

<property name="prefix" value="/WEB-INF/jsp/"/>

这里涉及一个知识点:
访问地址以“/”开头非“/”开头的区别,我们都知道文件资源路径都由参考路径+相对路径组成(非绝对路径的情况),在这种相对路径访问的情况下:
相对路径如果不以“/”开头就会报错,最终访问的路径会出现重复的路径名,所以一般都选用以“/”开头,这时候相对路径要加上你的项目名称,一般可以用以下两种方法获得你的项目名称:
1)用EL表达式${pageContext.request.contextPath},如下示例:

<a href = "${pageContext.request.contextPath}/test/some.do">访问链接加/</a><br/>

2)使用base标签,那么所有不以“/”开头的相对路径都会默认被加上该base路径,示例如下:

<%
    String basePath = request.getScheme() +
            "://"+request.getServerName +
            ":" + request.getServerPort()+
            request.getContextPath()+"/";
%>
<base href =<%=basePath%>/>


版权声明:本文为skye_fly原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。