java - 在 spring Controller 中找不到请求映射

标签 java spring

我只是想创建一个简单的 Spring Web 应用程序。当我尝试导航到 http://localhost:8080/spring-test/VIEW/VIEW 时,我收到 404 错误:

HTTP Status 404 - /spring-test/VIEW/VIEW

type Status report

message /spring-test/VIEW/VIEW

description The requested resource (/spring-test/VIEW/VIEW) is not available.

我的以下配置正确吗?

TestController.java:

package com;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;


@Controller
@RequestMapping("VIEW")
public class TestController {

    @RequestMapping("VIEW")
    public String showView(final ModelMap argMap) {
        return "test.jsp";
    }

}

applicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">


 <bean id="myController" class="com.TestController">

</bean>

 <bean id="portletModeHandlerMapping" class="org.springframework.web.portlet.handler.PortletModeHandlerMapping">
        <property name="order" value="0" />
        <property name="portletModeMap">
            <map>
                <entry key="view" value-ref="myController" />
            </map>
        </property>
    </bean>


</beans>

web.xml:

<?xml version="1.0" encoding="UTF-8"?>

<web-app
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID"
    version="2.5">

    <display-name>Spring3MVC</display-name>


    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring/*.xml</param-value>
    </context-param>

    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/applicationContext.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>
</web-app>

项目布局:

enter image description here

最佳答案

我可能是错的,但如果 URL 以 html 结尾,您的 servlet 映射似乎会重定向到您的 spring servlet。看看访问 /spring-test/VIEW/VIEW.html 是否会出现同样的错误。

关于java - 在 spring Controller 中找不到请求映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12728783/

相关文章:

java - 对数组使用 if 语句

java - 无法从java连接到mysql服务器

Spring Data MongoDB 因 "in"查询失败

java - 如何使用 Java 在 Redis 中查找两个键的交集?

java - Spring boot 项目的实时重新加载

java - 如何使用 jdatechooser 从 mysql 数据库中保存和检索空日期

javascript - 如何处理JSP文件中的@RequestParam?

java - 如何使用java从Json文件导入数据到Mongodb

java - 使用 wsdl2java 和 Spring 的 Web 服务客户端

java - 基于 Spring Boot 的测试中的上下文层次结构