qq_38618566
Craftsman18
2018-02-27 15:42
采纳率: 33.3%
浏览 5.7k

SpringMVC返回ModelAndView时404

在数据库查到了数据,向页面添加时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条回答 默认 最新

  • qq_38618566
    Craftsman18 2018-02-27 15:47

    附上目录结构,
    图片说明

    点赞 评论
  • caozhy
    点赞 评论
  • MonkeyBrothers
    小猴子的技术笔记 2018-02-27 16:46

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

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

    点赞 评论
  • momomoniqwer
    一起喝茶去呗 2018-02-27 22:58

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

    点赞 评论
  • u013309993
    hxaun 2018-02-28 00:11

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

    点赞 评论
  • Pablo_Casals
    Pablo_Casals 2018-02-28 00:40

    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>
    
    点赞 评论
  • qq_36323776
    李所当然(* ̄︶ ̄) 2018-02-28 01:18

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

    点赞 评论
  • an341221
    欣赏月光 2018-02-28 06:49
     @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>
    

    图片说明
    测试是可以啊

    点赞 评论

相关推荐