java - Spring MVC 处理程序映射不起作用

标签 java jsp spring-mvc

我对 Spring MVC 非常陌生,一直在关注教程,但它们似乎不起作用。

我可以很好地加载我的index.jsp 文件,但是当我尝试将其映射到Dispatcher Servlet 时,我不断收到资源未找到错误。

HelloWorld Controller :

package com.javatpoint;  
import org.springframework.stereotype.Controller;  
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.servlet.ModelAndView;  

@Controller  
public class HelloWorldController {  

    @RequestMapping("/hello")  
    public ModelAndView helloWorld() {  

        String message = "HELLO SPRING MVC";  
        return new ModelAndView("hellopage", "message", message);  
    }  

}  

web.xml:

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5"   
    xmlns="http://java.sun.com/xml/ns/javaee"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
 <servlet>  
    <servlet-name>spring</servlet-name>  
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    <load-on-startup>1</load-on-startup>  
</servlet>  
<servlet-mapping>  
    <servlet-name>spring</servlet-name>  
    <url-pattern>*.html</url-pattern>  
</servlet-mapping>  
</web-app> 

spring-servlet.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"  
    xmlns:p="http://www.springframework.org/schema/p"  
    xmlns:context="http://www.springframework.org/schema/context"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
http://www.springframework.org/schema/context  
http://www.springframework.org/schema/context/spring-context-3.0.xsd">  
    <context:component-scan  base-package="com.javatpoint" />  
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <property name="prefix" value="/WEB-INF/jsp/" />  
        <property name="suffix" value=".jsp" />  
    </bean>  
</beans>  

我的jsp 文件hellopage.jsp 和welcomepage.jsp 位于我的WEB-INF 文件夹下的jsp 文件夹中。 索引.jsp:

<a href="hello.html">click</a>|  
<a href="welcome.html">click</a>  

我正在尝试将 hello.html 映射到 HelloWorldController.java。

我非常感谢任何帮助,因为我在映射第一个 Spring MVC 应用程序时遇到问题。

最佳答案

问题出在您的 servlet 映射上,请尝试在 web.xml 中将其更改为:

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

您的 url-pattern 设置为 *.html。因此,只有以“.html”结尾的请求才会被分派(dispatch)到 spring mvc。

关于java - Spring MVC 处理程序映射不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42538392/

相关文章:

java - Spring Security 和 Web MVC : How to save data that belong to a user?

java - 如何将相同类型的ArrayList项添加到另一个ArrayList项中?

java - 我在读这个堆栈跟踪吗?

java - 奇怪的 InetAddress.isReachable() 问题

javascript - 如何使用 jQuery 和 Ajax 在下拉列表中插入默认项并禁用它

表单提交前的 Javascript 处理条件

java - 不确定如何捕获和重新分配类中的合成成员

java - 如何将单击的单选按钮的值传递给 Spring MVC Controller ?

java - 具有身份验证的 Spring Boot 项目结构

tomcat - "Hello world"教程错误