PEIYANGXINQU Ответов: 0

Почему моя конфигурация dispatcherservlet не работает весной?


Я хочу определить, есть ли у него права на доступ к url-адресу или нет.Но я хочу, чтобы дать все css, js можно получить доступ.Поэтому я сконфигурировал web.xml вот так:
    <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-  class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

    <mvc:interceptors>
    <mvc:interceptor>
        <mvc:mapping path="/**" />
        <bean class="com.test.web.interceptor.MyInterceptor">
            <property name="loginUrl">
                <value>http://localhost:8080/my-web/login.jsp</value>                   
            </property> 
        </bean>
    </mvc:interceptor>
</mvc:interceptors> 

и сет spring-servlet.xml вот так:
<mvc:resources location="/css/" mapping="/css/**" />
<mvc:resources location="/js/" mapping="/js/**" />

и мой интерцептор такой:
public class MyInterceptor implements HandlerInterceptor {
@Override
public void afterCompletion(HttpServletRequest arg0,
        HttpServletResponse arg1, Object arg2, Exception arg3)
        throws Exception {
    // TODO Auto-generated method stub

}

@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
        Object arg2, ModelAndView arg3) throws Exception {
    // TODO Auto-generated method stub

}

@Override
public boolean preHandle(HttpServletRequest request,
        HttpServletResponse response, Object handler) throws Exception {
    response.setCharacterEncoding("UTF-8");
    StringBuffer currentUrl = request.getRequestURL(); 
    String path = request.getServletPath(); 
     if(path.matches( "(.*/((css)|(js)|(images)).*)"
    )){
        System.out.println(path);
        return true;
    }
     //check token,if null return to login.jsp
  }

После этого я думаю, что запрос css и js может быть доступен и не идти к моим перехватчикам.Но это неправильно.Теперь у меня есть два вопроса:
Я установил mvc: resources, в книге говорится,что он не будет обработан DispatcherServlet, Почему css или JS url-запрос все еще идет к MyInterceptor?
Я посещаю страницу index.jsp,в MyInterceptor я могу получить css-запрос,JS-запрос,но почему я не получаю запрос страницы jsp?

Что я уже пробовал:

У меня есть поиск в интенете и попытка закодировать два часа.

0 Ответов