Spring MVC: невозможно перенаправить на html -страница: ошибка 404 - PullRequest
0 голосов
/ 01 марта 2020

Я создал простой @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>

mvc -конфигурация весной- mvc. xml это:

 <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 / тест / ACCESS_DENIED .

Но с ошибкой 404.

1 Ответ

0 голосов
/ 02 марта 2020

Я решил проблему:

 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
      p:prefix="/WEB-INF/denied/"
      p:suffix=".html"/>

 <mvc:resources mapping="/denied/**" location="/WEB-INF/denied/"/>

И контроллер:

@GetMapping
public String showPage() {
    return "forward:/denied/access_denied.html";
}
...