GlassFish服务器中重命名index.jsp为test.jsp后出现HTTP 404错误
解决SpringMVC重命名index.jsp为test.jsp后出现的404错误
老哥,我之前在NetBeans里折腾SpringMVC项目时也碰到过一模一样的问题!别慌,咱们一步步排查解决:
1. 检查容器默认欢迎页配置
原来的index.jsp是Tomcat(或你用的其他容器)默认的欢迎页,改成test.jsp后,容器不知道该加载哪个页面当默认首页了。解决办法有两个:
- 修改web.xml配置:在
web.xml里添加或更新欢迎页列表:<welcome-file-list> <welcome-file>test.jsp</welcome-file> </welcome-file-list> - 通过SpringMVC路由映射:在你的Controller里加一个根路径的映射,指向
test.jsp:@Controller public class HomeController { @RequestMapping("/") public String showTestPage() { // 返回值要和视图解析器的配置对应 return "test"; } }
2. 确认SpringMVC视图解析器配置
你的dispatcher-servlet.xml里应该有InternalResourceViewResolver的配置,得确保它的前缀(prefix)和后缀(suffix)能正确定位到test.jsp。举个标准配置示例:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 如果test.jsp放在WEB-INF/views目录下 --> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean>
如果你的test.jsp放在项目根目录(而非WEB-INF下),可以把prefix改成"/",不过更推荐把JSP文件放在WEB-INF目录下,避免直接被外部访问。
3. 清理NetBeans缓存并重新部署
有时候NetBeans的缓存会导致文件名修改后,部署的项目里没同步更新。你可以试试:
- 点击NetBeans菜单栏的
Build->Clean and Build Project - 然后重新运行项目,看看404问题是否消失
额外提醒:检查文件路径是否正确
确认test.jsp的位置和你配置的路径完全一致,比如如果视图解析器prefix是/WEB-INF/views/,那test.jsp必须放在WEB-INF/views文件夹里,不然SpringMVC找不到这个视图文件。
按照这几步操作下来,应该就能解决这个404错误了,我当时就是这么搞定的!
内容的提问来源于stack exchange,提问作者Navin Gupta
相关产品推荐
相关产品推荐

