Spring 3 @Controller не вызывается для запроса Get - PullRequest
0 голосов
/ 20 декабря 2011

Я пытаюсь использовать поддержку Spring 3 'MVC для аннотированных контроллеров в моем веб-приложении.

В моем application-context.xml я добавил следующее:

<mvc:annotation-driven />
<context:component-scan base-package="com.abc.def.etc"/>
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
    <property name="order" value="1" />
</bean>

Мой контроллер помечен следующим образом:

@Controller
@RequestMapping("/optimizerRules")
public class OptimizerRulesController {
private OptimizerRulesService optimizerRulesService;
private static final Log LOG = LogFactory.getLog(OptimizerRulesController.class);

public OptimizerRulesController()
{
    LOG.info("Initializing OptimizerRulesController");
}

@RequestMapping(method = RequestMethod.GET)
public ModelAndView getRuleAttributesAndRules(ModelMap model)
{
    LOG.info("Entering getRuleAttributesAndRules method");
    }

Когда я запускаю свое приложение, я вижу в своих журналах, что OptimizerRulesController был инициализирован. Я также вижу следующее:

Creating instance of bean 'optimizerRulesController'
Initializing OptimizerRulesController
Mapped URL path [/optimizerRules] onto handler 'optimizerRulesController'

Однако, когда я вызываю свое приложение, используя http://localhost:8080/appName/optimizerRules, я получаю ошибку 404! Какая конфигурация мне здесь не хватает?

Спасибо

1 Ответ

1 голос
/ 20 декабря 2011

Spring MVC обычно регистрирует, что сопоставление для определенного запроса на уровне WARN не найдено.Предполагая, что вы не видите этого в своих журналах и предполагая, что WARN включен, и поскольку вы не видите свой собственный оператор журнала, похоже, что ваш запрос даже не попадает в Spring MVC DispatcherServlet, что, вероятно, означает, что URLнеправильно.

URL должен быть http://server:port/war/dispatcherServletMapping/optimizerRules,, поэтому ваш web.xml должен сообщить вам отсутствующий компонент пути, если мои предположения верны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...