Метод handleRequestInternal контроллера MVC Spring не вызывается - основной пример проблемы - PullRequest
0 голосов
/ 26 июня 2011

Я новичок в весенних рамках MVC. Я пытаюсь написать простой контроллер (происходит от AbstractController) и хочу вернуть простое представление (home.jsp), но кажется, что handleRequestInternal () контроллера никогда не вызывается. Я даю свой код ниже. Любая помощь будет принята с благодарностью.

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
         xmlns="hiperlink is trimmed "
         xmlns:xsi="hiperlink is trimmed "
         xsi:schemaLocation="hiperlink is trimmed " >

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

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


    <filter>
        <filter-name>sitemesh</filter-name>
        <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>sitemesh</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <jsp-config>
        <taglib>
            <taglib-uri>/spring</taglib-uri>
            <taglib-location>/WEB-INF/spring-form.tld</taglib-location>
        </taglib>

        <taglib>
            <taglib-uri>hiperlink is trimmed java.sun.com/jsp/jstl/core</taglib-uri>
            <taglib-location>/WEB-INF/c.tld</taglib-location>
        </taglib>

        <taglib>
            <taglib-uri>hiperlink is trimmed java.sun.com/jsp/jstl/fmt</taglib-uri>
            <taglib-location>/WEB-INF/fmt.tld</taglib-location>
        </taglib>
    </jsp-config>

</web-app>

Студенты-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="hiperlink is trimmed "
       xmlns:xsi="hiperlink is trimmed "       xmlns:context="hiperlink is trimmed" xmlns:jaxws="hiperlink is trimmed "
       xsi:schemaLocation="hiperlink is trimmed ">

      <bean id="handlerMapping"
          class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

    <bean id="myService" class="net.ochinto.student.service.MiscellaneousService"/>

    <bean name="/home.htm" class="net.ochinto.student.web.HomePageController">
        <property name="myService" ref="myService"/>
    </bean>

</beans>

HomePageController.java

public class HomePageController extends AbstractController {
    private static final Logger log = LoggerFactory.getLogger(HomePageController.class);

    public HomePageController() {
        log.debug("HomePageController constructor()");
    }

    protected ModelAndView handleRequestInternal(
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {

        log.debug("HomePageController handleRequestInternal()");

        List<Student> students = myService.getStudentList();
        return new ModelAndView("home", "students", students);
    }

    private MiscellaneousService myService;

    public void setMyService(MiscellaneousService myService) {
        log.debug("HomePageController setMyService() - start");
        this.myService = myService;
        log.debug("HomePageController setMyService() - end");
    }
}

Страница приветствия в порядке, но когда я пишу /students/home.htm, возвращается 404! Пожалуйста, помогите.

1 Ответ

0 голосов
/ 26 июня 2011

Вы говорите:

Страница приветствия в порядке, но когда я пишу /students/home.htm 404 возвращается!Пожалуйста, помогите.

Ваша конфигурация имеет только одно сопоставление URL, для /home.htm.Вам нужно добавить дополнительные сопоставления, если вы хотите, чтобы /students/home.htm указывал куда-то.

Для получения дополнительной информации обратитесь к разделу Отображение обработчика документации Spring.

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