java - 为什么我的 JSP View 没有被解析?

标签 java model-view-controller spring spring-mvc

我的dispatcher-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"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        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
       http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
        <mvc:annotation-driven/>
        <context:component-scan base-package="com.example" />

    <bean id="viewResolver"
                class="org.springframework.web.servlet.view.InternalResourceViewResolver"
                p:prefix="/WEB-INF/views/" p:suffix=".jsp" p:viewClass="org.springframework.web.servlet.view.JstlView"/>  

</beans>

这是我的 Controller

package com.example.spring;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class HelloController {

        @RequestMapping("/form.htm")
        public ModelAndView hello(Model model) {
                return new ModelAndView("index");
        }
}

当我调试应用程序时,我在控制台中看到了这一点。

WARNING: No mapping found for HTTP request with URI [/WEB-INF/views/index.jsp] in DispatcherServlet with name 'dispatcher'

Controller 被击中,并返回 View ,但无法解析。

最佳答案

听起来您的 web.xml

中可能缺少以下内容
<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>/WEB-INF/views/*</url-pattern>
</servlet-mapping>

正如@Javi 已经评论过的,这是 already answered here .

关于java - 为什么我的 JSP View 没有被解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5241978/

相关文章:

在选择器对话框中单击打开后,Java JFileChooser 打开备份

java - 是否可以在ListView中添加TreeView

c# - MVC 替代路由因可选参数而失败

java - 以编程方式加载 Spring 3.1 中的属性

java - HTTPS 和 HTTP 上的 Spring Controller

java - Spring 网 : Getting file from web context using Resource?

Java 与 C# 类名

java - 连续双缓冲解决方案不起作用

c# - '无法访问已处置的对象。此错误的一个常见原因是处理从依赖注入(inject)中解析的上下文

model-view-controller - 将 MVC (php) 框架与 CMS 集成