java - 在/上找不到资源上的 SpringMVC Controller

标签 java spring jsp tomcat servlets

我正在跟进来自这个 url 的教程

https://aishwaryavaishno.wordpress.com/2013/07/12/spring-mvchibernate-annotation-based-mysql-maven-json-simple-example/

根据教程,我在我的 Controller 中有这个

@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();
        }

我已将我的 DispatcherServlet 和 contextConfigLocation 映射到我的 web.xml 文件

<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>

    </servlet>
    <servlet-mapping>
        <servlet-name>SpringDispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
    </context-param>

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

假设这是我来自 Controller 映射的默认 url

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

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

现在当我启动我的应用程序到这个 url

http://localhost:8080/MusicStore/

我的项目结构截图

enter image description here

作为我的 servlet 引擎的 Tomcat 返回 HTTP 状态错误 404。

请问哪里出了问题?

Error Notification

最佳答案

在mvc-dispatcher-servlet.xml中加入以下代码来配置viewResolver

    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
   </bean>

然后在/WEB-INF/views/中添加你的jsp文件

关于java - 在/上找不到资源上的 SpringMVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36914010/

相关文章:

java - 如何使用 Maven 创建一个可执行 jar 文件,其中包含主类位于 Test 中的依赖项

java - 使用日期参数时,Spring Data JPA 日期 "between"查询问题

java - 如何在 Spring MVC 中获取确切的客户端浏览器名称和版本?

java - 点击提交后重定向

java - jquery datatables 未加载表数据

java - 调用 renderURL 后 renderRequest 属性始终为 null

java - 将字符串拆分为一个包含数字数据的字符串和另一个包含非数字数据的字符串

java - XStream 使用 toXML(Object, StreamWriter) 缺少换行符

java - 将替换字符串中的所有字符串替换为正则表达式?

java - 在 Spring Data JPA 中使用 @Transactional 注解的层