为什么我的add.jsp会报404

为什么我的add.jsp会报404

package com.imooc.handler;

import com.imooc.entity.Goods;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.Map;

@Controller
public class AonotationHandler {
    /**
     * 业务方法:model and view 完成数据的传递,视图解析
     */
    @RequestMapping("/modelAndViewTest")
    public ModelAndView modelAndViewTest(){
        //创建modelandview对象
        ModelAndView modelAndView = new ModelAndView();
        //填充modelview对象
        modelAndView.addObject("name","tom");
        //设置逻辑视图
        modelAndView.setViewName("show");
        return modelAndView;
    }
    /**
     * 业务方法:Model传值,String进行试图解析
     */
    @RequestMapping("/ModelTest")
    public String ModeleTest(Model model){
        //填充数据模型
        model.addAttribute("name","lucy");
        //设置逻辑视图
        return "show";
    }
    /**
     * 业务方法 使用Map传值 String进行视图解析
     */
    @RequestMapping("/MapTest")
    public String MapTest(Map<String,String> map){
        //填充数据模型
        map.put("name","ck");
        //设计逻辑视图
        return "show";
    }
    /**
     * 添加商品展示
     */
    @RequestMapping("/addGoods")
public ModelAndView addGoods(Goods goods){
    System.out.println(goods.getName());
    System.out.println(goods.getPrice());
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.setViewName("show");
    return modelAndView;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

<!-- 将AonotationHandler自动扫描到IOC容器中-->
  <context:component-scan base-package="com.imooc.handler"></context:component-scan>

    <!-- 视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 配置前缀-->
        <property name="prefix" value="/"></property>
        <!-- 配置后缀-->
        <property name="suffix" value=".jsp"></property>

    </bean>
</beans>
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <!-- 处理中文乱码-->
  <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>

    </init-param>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <!--设置访问静态资源 -->
 <servlet-mapping>
   <servlet-name>default</servlet-name>
   <url-pattern>*.css</url-pattern>
 </servlet-mapping>
  <servlet>
    <servlet-name>SpringMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--配置SpringMVC.xml的路径-->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springmvc.xml</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>SpringMVC</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>add</title>
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <style type="text/css">
        body{
            overflow-x:hidden;
        }
    </style>
</head>
<body>
<form class="form-horizontal" role="form" action="addGoods" method="post">
    <div class="form-group">
        <label class="col-sm-1 control-label">名称</label>
        <div class="col-sm-3">
            <input type="text" class="form-control" name="name" placeholder="请输入商品名称">
        </div>
    </div>
    <div class="form-group">
        <label class="col-sm-1 control-label">价格</label>
        <div class="col-sm-3">
            <input type="text" class="form-control" name="price" placeholder="请输入商品价格">
        </div>
    </div>
    <div class="form-group">
        <div class="col-sm-offset-1 col-sm-3">
            <button type="submit" class="btn btn-default">提交</button>
        </div>
    </div>
</form>
</body>
</html>

http://img1.sycdn.imooc.com//climg/5ca574420001ceb410281198.jpg

http://img1.sycdn.imooc.com//climg/5ca5744200017b2f36701183.jpg


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
chrismorgen 2019-04-04 15:55:11

你好同学,在WEB-INF目录下是无法直接访问add.jsp页面的,因为WEB-INF属于安全目录,无法通过url访问资源文件,所以你直接在url中访问才会出现404的错误,同学放在WEB-INF目录外就可以访问add.jsp页面了,祝学习愉快~

  • 提问者 李个浪 #1
    就是如果他是默认在WEB-INF目录下 需要将其拿出来是吗 以后在开发过程中也是重要的吗请问
    2019-04-04 15:58:25
  • chrismorgen 回复 提问者 李个浪 #2
    你好同学,在真是的开发中,资源都会放到WEB-INF目录下的,目的是为了防止其他人通过路径地址来直接访问项目的,我们通常会在自己的项目中转发到WEB-INF目录,当前项目就是通过springmvc的框架来转发到jsp页面的,祝学习愉快~
    2019-04-04 17:30:53
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师