Spring &引用/&引用;映射到/WEB-INF/pages/--为什么?
出于某种原因,/WEB-INF/pages似乎已成为根文件夹。任何对/pages/的请求。例如,以下请求转到/pages/index.jsp 这有点问题,因为我还有一个/WEB-INF/secure文件夹,我不知道如何访问它 为什么这是Spring &引用/&引用;映射到/WEB-INF/pages/--为什么?,spring,Spring,出于某种原因,/WEB-INF/pages似乎已成为根文件夹。任何对/pages/的请求。例如,以下请求转到/pages/index.jsp 这有点问题,因为我还有一个/WEB-INF/secure文件夹,我不知道如何访问它 为什么这是 @RequestMapping("/") public String printWelcome(ModelMap model) { return "index"; } web.xml <web-app version="2.4"
@RequestMapping("/")
public String printWelcome(ModelMap model) {
return "index";
}
web.xml
<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">
<display-name>Spring MVC Application</display-name>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext-security.xml
/WEB-INF/springmvc-config.xml
</param-value>
</context-param>
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
SpringMVC应用程序
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
org.springframework.web.context.ContextLoaderListener
上下文配置位置
/WEB-INF/applicationContext-security.xml
/WEB-INF/springmvc-config.xml
mvc调度器
org.springframework.web.servlet.DispatcherServlet
1.
mvc调度器
/
按要求编辑:
<?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:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.springapp.mvc.service"/>
<mvc:annotation-driven/>
<mvc:resources mapping="/css/**" location="/css/"/>
<!--
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
-->
</beans>
我们也能看到您的SpringServletbean配置吗 您可能有一个
InternalResourceViewResolver
指向/WEB-INF/pages/
例如,查找以下内容:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:viewClass="org.springframework.web.servlet.view.JstlView"
p:prefix="/WEB-INF/pages/"
p:suffix=".jsp" />
我确实有,但我尝试注释掉甚至删除了该部分,但没有成功。尝试恢复配置,但将目录名称更改为/WEB-INF/something\u else/,以确定这是否是机制。如果它能工作,那么您可能会在某个地方有一个文件的缓存副本,所以请进行干净的构建。我将该值更改为“value=“/WEB-INF/something”/“,但它仍在加载/页面,因此您似乎是对的。我试着重新部署,重新启动服务器,并在IntelliJ中执行了一个使现金无效/重新启动的操作,但都没有起到任何作用。那么我到底该如何摆脱缓存版本呢…?使用Tomcat,您可以删除Tomcat工作目录。我不确定您正在使用哪个容器,也不确定IntelliJ如何调用它。您可以将其作为一个单独的问题创建。顺便说一句,您刚才执行的测试并不能真正确定它是缓存版本。我更希望看到/WEB-INF/something/改变映射的结果。但我仍然怀疑缓存版本的配置可能存在。您可以尝试使用Maven或Gradle直接在命令行上构建来查看。