【发布时间】:2020-06-13 21:54:26
【问题描述】:
我为重定向创建了一个简单的@Controller:
@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-mvc.xml中的mvc-configuration是:
<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:http://localhost:8080/test/access_denied。
但出现 404 错误。
【问题讨论】:
-
不相关的建议:我认识的大多数人不再使用 XML 配置,除非它是一个遗留项目。请查看 Spring 的
JavaConfig一次。 -
不应该是
redirect:/denied/access_denied吗? -
redirect:/denied/access_denied 没有帮助。结果是一样的:404
标签: spring spring-mvc redirect controller http-status-code-404