代码之家  ›  专栏  ›  技术社区  ›  Jared

SpringMVC正在向用户输入的URL添加额外的.jsp扩展名。

  •  2
  • Jared  · 技术社区  · 15 年前

    我得到的错误消息是描述 The requested resource (/gradebook/WEB-INF/jsp/hello.jsp.jsp) is not available .我有一个 WEB-INF/jsp 包含 hello.jsp Spring似乎在添加JSP扩展,我不知道为什么。我粘贴了我的 web.xml 还有我的 gradebook-servlet.xml 下面。

    <?xml version="1.0" encoding="UTF-8"?>
    
    <web-app version="2.4"
             xmlns="http://java.sun.com/xml/ns/j2ee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
             http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >
      <servlet>
        <servlet-name>gradebook</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>gradebook</servlet-name>
        <url-pattern>*.htm</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
        <welcome-file>
          *index.jsp*
        </welcome-file>
      </welcome-file-list>
    </web-app>
    

    <?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 name="/hello.htm" class="gradebook.web.HelloController"/>
    <bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass">
            <value>org.springframework.web.servlet.view.JstlView</value>
            </property>
        <property name="prefix">
            <value>/WEB-INF/jsp/</value>
        </property>
        <property name="suffix">
            <value>.jsp</value>
        </property>
    </bean>
    </beans>
    
    1 回复  |  直到 15 年前
        1
  •  3
  •   skaffman    15 年前

    Spring正在添加“.jsp”,因为您已经告诉它- InternalResourceViewResolver 已配置为将“.jsp”后缀添加到控制器返回的任何视图名称中。

    我猜你的 HelloController 类正在从其处理程序方法返回“hello.jsp”?它应该只返回“hello”,Spring将按照您的配置附加“.jsp”。