Проблема весеннего картирования - PullRequest
0 голосов
/ 06 февраля 2011

Я получаю следующую ошибку:

Не найдено сопоставление для HTTP-запроса с URI [/ my-app] в DispatcherServlet с именем «паутина»

Мой web.xml выглядит так:

<servlet>
  <servlet-name>web</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>web</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

А мой web-servlet.xml выглядит так:

<bean name="myController" class="com.app.web.MyController" />

<bean id="viewResolver"
      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" />
</bean>

Любая помощь / объяснение было бы здорово. Кроме того, каким параметром вида должен быть new ModelAndView(?) в контроллере?

Моя цель - иметь возможность нажать http://localhost:8080/my-app и перенаправить на MyController, который затем загрузит данный jsp.

Ответы [ 2 ]

3 голосов
/ 06 февраля 2011

Ваша конфигурация выглядит хорошо для меня. В вашем MyController убедитесь, что у вас есть сопоставление запроса для my-app, например: -

@Controller
public class MyController {
   @RequestMapping(value="/my-app", method=RequestMethod.GET)
   public String mainPage() {
      return "index";
   }
}

При вызове http://localhost:8080/my-app сервер вернет index.jsp из папки /WEB-INF/jsp/.

0 голосов
/ 06 февраля 2011

Похоже, что DispatcherServlet пытается обработать запрос для / my-app, что говорит мне о том, что ваше сервлет-отображение web.xml направляет запросы на это пространство в DispatcherServlet.

У вас может быть что-то подобное?

<servlet-mapping>   <servlet>dispatcher</servlet>   <url-pattern>/*</url-pattern> </servlet-mapping> 

Попробуйте вызвать контроллеры с другим расширением (например, .do) и обновите отображение сервлета в соответствии с

 <servlet-mapping>   <servlet>dispatcher</servlet>   <url-pattern>*.do</url-pattern> </servlet-mapping>

или изменить / * на /

Надеюсь, это поможет.

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