Почему моя конфигурация 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?
Что я уже пробовал:
У меня есть поиск в интенете и попытка закодировать два часа.