2013-08-23 3 views
0

Вот мой метод контроллера:Spring MVC, Возвращение HTML

@RequestMapping(value = "/login/{id}", method = RequestMethod.GET) 
public String doLogin(@PathVariable long id, HttpServletRequest request, HttpServletResponse response, Model model) { 

logger.info(String.format(
       Constants.LogMessages.NEW_GET_REQUEST_FROM_IP, 
       request.getRemoteAddr())); 

logger.info("/login/{id}"); 

return "login"; 

} 

и мой appServlet-context.xml:

<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory --> 
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <beans:property name="prefix" value="/WEB-INF/views/" /> 
    <beans:property name="suffix" value=".html" /> 
</beans:bean> 

Исключение я получаю в этом методе:

WARN PageNotFound - No mapping found for HTTP request with URI [/project/WEB-INF/views/login.html] in DispatcherServlet with name 'appServlet' 

Вещь, когда я изменяю «суффикс» на .jsp, и имя файла из html в .jsp работает.

любая идея почему?

EDIT:

Вот моя web.xml:

<context-param> 

<param-name>contextConfigLocation</param-name> 

<param-value>/WEB-INF/spring/root-context.xml</param-value> 

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 

<servlet-name>appServlet</servlet-name> 

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 

<init-param> 

    <param-name>contextConfigLocation</param-name> 

    <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> 

</init-param> 

<load-on-startup>1</load-on-startup> 

<servlet-name>appServlet</servlet-name> 

<url-pattern>/</url-pattern> 

<filter-name>cors</filter-name> 

<filter-class>src.com.project.context.CorsFilter</filter-class> 

<filter-name>cors</filter-name> 

<url-pattern>/*</url-pattern> 

+0

, существует ли файл '/ проект/WEB-INF/просмотров/login.html' в проекте? –

+0

Да, файл существует. – Urbanleg

+0

Можете ли вы показать свою конфигурацию DispatcherServlet в web.xml. –

ответ

0

Просто мысли. Может быть, ваш процесс сборки не копировал файл /project/WEB-INF/views/login.html в войну. Unwar и проверить, существует ли это.

1

В файле .xml попробуйте изменить:

<servlet-name>appServlet</servlet-name> 

<url-pattern>/</url-pattern> 

To:

<servlet-name>appServlet</servlet-name> 

<url-pattern>*.html</url-pattern> 
Смежные вопросы