SpringMVC返回ModelAndView时404 5C

在数据库查到了数据,向页面添加时404,路径是对的(我没有配置试图解析器,尝试配置后仍然404),controller也执行了,求教是什么原因

controller代码
controller

后台log
图片说明

jsp代码如下

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<!-- <meta http-equiv="refresh" content="3000" url="/newsList.action"/> -->
<title>Insert title here</title>
</head>
<body>

<form action="${pageContext.request.contextPath }/news.action" method="get">
    <input type="submit" id="ss">
        商品列表:
        <table width="100%" border=1>
            <tr>
                <td>链接</td>
                <td>标题</td>
                <td>生产日期</td>
                <td>商品描述</td>
                <td>操作</td>
            </tr>
            <c:forEach items="${NewsList }" var="item">
                <tr>
                    <td>${item.news_href }</td>
                    <td>${item.news_title }</td>
                    <td>${item.detail }</td>

                    <td><a href="${pageContext.request.contextPath }/itemEdit.action?id=${item.id}">修改</a>
                    </td>

                </tr>
            </c:forEach>

        </table>
    </form>

</body>
</html>

8个回答

附上目录结构,
图片说明

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复Craftsman18: 看下action名字和view是否对应
2 年多之前 回复
qq_38618566
Craftsman18 包原本导入的就是import org.springframework.web.servlet.ModelAndView; ,还是404
2 年多之前 回复

你把news.jsp 放到WEB-INF下面试试
web.xml 里面的配置说明
<!-- springMVC前端控制器 -->

springmvc
org.springframework.web.servlet.DispatcherServlet
<!-- contextConfigLocation配置springmvc加载的配置文件
如果不配置contextConfigLocation,默认加载的是/WEB-INF/servlet名称-servlet.xml,在这里也就是springmvc-servlet.xml
-->

qq_38618566
Craftsman18 谢谢老铁,解决了,刚学,忘记了这个/笑哭
2 年多之前 回复

404说明路径不对啊,你的视图解析器是怎么写的

为什么类里又定义了一个modelandview,返回的modelandview没有加页面路径。

1.controller中。。。
modelAndView.setViewName("news");
2.把jsp放到web-inf下
3.配置视图解析器

<bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <!-- 逻辑地址的映射 -->
    <!-- 定义前缀 -->
    <property name="prefix" value="/WEB-INF/"></property>
    <!-- 定义后缀 -->
    <property name="suffix" value=".jsp"></property>
</bean>

兄弟,modelAndeView 和modelAndView,变量名写错了,

 @RequestMapping("/toMainPage.do")
    public ModelAndView toMainPage(String loginUser,String password,HttpServletRequest request){

        ModelAndView mv = new ModelAndView();
        mv.setViewName("index");
        return mv;
    }
 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
     </bean>

图片说明
测试是可以啊

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问