Проблемы с получением карт на работу - PullRequest
0 голосов
/ 07 июля 2011

Я использую Spring 3.0.5.Ни один из моих аннотированных контроллеров не распознается.У меня есть XML для моего приложения ...

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans"
    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-3.0.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<mvc:resources mapping="/static/**" location="/static/"/> 
<mvc:annotation-driven/>
<context:component-scan base-package="com.myco.systems.leadsmonitor"/>

Мои статические активы отлично подобраны.Но я получаю 404, когда пытаюсь добраться до аннотированного контроллера…

package com.myco.systems.leadsmonitor.web.controller;

@Controller
public class HomeController {

    …

    @RequestMapping("/")
    public void index(Model model) {
        model.addAttribute("latestLeadTime", MonitorStatistics.getInstance().getLatestLeadCreationTime());
        model.addAttribute("lastDBCheck", MonitorStatistics.getInstance().getLastDBCheck());
    }

Что еще мне нужно сделать, чтобы Spring забрал мои контроллеры?Спасибо, Дэйв

Ответы [ 2 ]

0 голосов
/ 08 июля 2011

Вы должны проверить оба сопоставления URL в web.xml и просмотреть конфигурацию разрешения в вашей весенней конфигурации.

Один хороший ресурс - Spring By Example.org

см .: http://www.springbyexample.org/examples/simple-spring-mvc-form-annotation-config-webapp.html

Другим примером являются учебные пособия, доступные в SpringSource ToolSuite (STS), где они помогут вам создать веб-приложение Spring MVC. Эти учебные пособия обычно включают UrlRewriteFilter с tuckey.org

например. сервлет отображается в / app, затем добавьте этот фильтр сервлета

<!-- Enables clean URLs with JSP views e.g. /welcome instead of /app/welcome -->
<filter>
    <filter-name>UrlRewriteFilter</filter-name>
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<!--        <init-param>-->
<!--            <param-name>logLevel</param-name>-->
<!--            <param-value>DEBUG</param-value>-->
<!--        </init-param>-->

</filter>
0 голосов
/ 08 июля 2011

Я думаю, что причина того, что вы получаете 404, заключается в том, что представление не разрешается в методе контроллера. По умолчанию тип возвращаемого значения void сопоставляется с использованием имени представления на основе URI, в вашем случае, поскольку путь - «/», он, вероятно, разрешается в «», что не сопоставляется ни с одним логическим представлением.

Можете ли вы попробовать пару вещей:

  1. Запустите в режиме отладки и посмотрите, подходит ли ваш запрос к методу RequestMapping
  2. Если это так, можете ли вы явным образом вернуть имя представления из вашего метода и посмотреть, разрешается ли это имя представления в правильном представлении (при условии, что у вас зарегистрирован преобразователь представления)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...