【问题标题】:strange error: resource not found on url mapping spring mvc奇怪的错误:在url映射spring mvc上找不到资源
【发布时间】:2016-04-27 08:47:16
【问题描述】:

一切似乎都很好,但是当我启动我的应用程序时,我收到了一个奇怪的资源未找到错误。 这是我的控制器类

@Controller
public class HomeController {

        @Autowired
        private IMusicStoreService musicStoreService;

    @RequestMapping(value="/")
    public ModelAndView test(HttpServletResponse response) throws IOException{

        return new ModelAndView("home","musicDetForm",new MusicDetails());
    }

        @RequestMapping(value="AddSong",method = RequestMethod.POST)
        @ResponseBody
        public String addSong(@ModelAttribute("musicDetForm") MusicDetails musicDetails){
           return musicStoreService.addSong(musicDetails);
        }

        @RequestMapping(value = "SongList/",method = RequestMethod.GET)
        @ResponseBody
        public List<MusicDetails> getSongList(){
            return musicStoreService.getSongList();
        }
}

这是我的 pom.xml 文件中的一段代码

<properties>
    <failOnMissingWebXml>false</failOnMissingWebXml>
        <java.version>1.6</java.version>
        <spring.version>3.1.0.RELEASE</spring.version>
        <cglib.version>2.2.2</cglib.version>
</properties>

这是我的 web.xml 文件

<display-name>MusicStore</display-name>
    <context-param>
        <param-name>contextClass</param-name>
        <param-value>
            org.springframework.web.context.support.AnnotationConfigWebApplicationContext
        </param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <servlet>
        <servlet-name>SpringDispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextClass</param-name>
            <param-value>
                org.springframework.web.context.support.AnnotationConfigWebApplicationContext
            </param-value>
        </init-param>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>aish.vaishno.musicstore</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>SpringDispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
</web-app>

当我使用 sts 在 tomcat 上启动我的应用程序时,我的构建中没有显示错误,但我收到了这个错误

HTTP Status 404 - /MusicStore/

尽管我的映射似乎没问题,但为什么会出现上述错误。

【问题讨论】:

  • 您尝试的网址是什么?
  • 你的 /MusicStore/ 在 `Controller.我们实际上没有找到这个映射。
  • @VikrantKashyap @RequestMapping(value="/")
  • 如果你试图访问/MusicStore/,你不应该用@RequestMapping('/MusicStore')注释你的控制器类吗?

标签: java spring maven spring-mvc


【解决方案1】:

您是否将 MusicStore 存储在 WEB-INF/ 中? 设置为web.xml中的索引就可以访问了

但是,一旦您发送请求,响应通常会发送到您提供的 URL,并且应该是“JSP”文件,而不是 servlet。

在你的情况下,代码有点混乱,我没有看到任何视图或 JSP 或网页来跟随你的 MusicStore 控制器,当然你可以直接打印它,但这不是一个好习惯。

如果你能提供更多的代码内容,可能会更有帮助。 现在的解决方案是查看首次加载 servlet 时是否可以访问索引页面,或者检查映射。

【讨论】:

  • 这是我在aishwaryavaishno.wordpress.com/2013/07/12/…跟进的教程的资源
  • 请并排检查您的代码和源代码,看看发生了什么链接:github.com/AishwaryaThangavelu/Spring-Repository/tree/master/…
  • 在我的代码中查看这部分 @RequestMapping(value="/") public ModelAndView test(HttpServletResponse response) throws IOException{ return new ModelAndView("home","musicDetForm",new MusicDetails() ); }
  • 它将ModelAndView返回给home.jsp
  • 所以现在您缺少 home.jsp 文件,所以它说找不到资源?我现在脑子很乱,我什至不知道如何帮助你,你能具体说明你现在面临的问题吗>?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-02
  • 2015-02-26
  • 2017-08-06
  • 1970-01-01
  • 2014-02-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多