Spring MVC:无法在html页面上重定向:404错误
我为重定向创建了一个简单的@Controller:Spring MVC:无法在html页面上重定向:404错误,spring,spring-mvc,redirect,controller,http-status-code-404,Spring,Spring Mvc,Redirect,Controller,Http Status Code 404,我为重定向创建了一个简单的@Controller: @Controller @RequestMapping ( "/" ) public class HtmlTestingController { @GetMapping public String showPage() { return "redirect:access_denied"; } } 描述符是: <context-param> <param-name>contextConfigL
@Controller
@RequestMapping ( "/" )
public class HtmlTestingController {
@GetMapping
public String showPage() {
return "redirect:access_denied";
}
}
描述符是:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:spring/spring-app.xml
classpath:spring/spring-db.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
上下文配置位置
类路径:spring/spring-app.xml
类路径:spring/spring-db.xml
org.springframework.web.context.ContextLoaderListener
mvc调度器
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
类路径:spring/spring-mvc.xml
1.
mvc调度器
/
spring-mvc.xml中的mvc配置为:
<bean class="ru.spb.dreamwhite.web.json.JacksonObjectMapper" id="objectMapper" factory-method="getMapper"/>
<mvc:annotation-driven conversion-service="conversionService">
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper" ref="objectMapper"/>
</bean>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<bean class="org.springframework.format.support.FormattingConversionServiceFactoryBean" id="conversionService">
</bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="WEB-INF/denied/"
p:suffix=".html"
/>
<context:component-scan base-package="ru.spb.**.web"/>
<mvc:resources mapping="/resources/**" location="/resources/"/>
webapp结构见附件:
当我运行tomcat时,它会在url:上重定向我
但是出现了404错误。我解决了这个问题:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/denied/"
p:suffix=".html"/>
<mvc:resources mapping="/denied/**" location="/WEB-INF/denied/"/>
无关的建议:我认识的大多数人不再使用XML配置,除非它是一个遗留项目。请检查Spring的
JavaConfig
一次。它不应该是重定向:/denied/access\u denied
?重定向:/denied/access\u denied没有帮助。结果是一样的:404
@GetMapping
public String showPage() {
return "forward:/denied/access_denied.html";
}