Java中加入登陆拦截器后,post put delete请求全部405,只有get请求可以访问。请问应该怎么解决?

下面是我拦截器的代码。

 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

        // 获得在下面代码中要用的request,response,session对象
        HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
        HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
        HttpSession session = httpRequest.getSession(true);

        String[] str = {"login","docs"}; // 路径中包含这些字符串的,可以不用登录直接访问
        StringBuffer url = httpRequest.getRequestURL();
        // 特殊用途的路径可以直接访问
        if (str != null && str.length > 0) {
            for (String s : str) {
                if (url.indexOf(s) >= 0) {
                    filterChain.doFilter(servletRequest, servletResponse);
                    return;
                }
            }
        }
        // 从session中获取用户信息
        String loginInfo = (String) session.getAttribute("username");
        if (null != loginInfo && !"".equals(loginInfo)) {
            // 用户存在,可以访问此地址
            filterChain.doFilter(servletRequest, servletResponse);
        } else {
            // 用户不存在,踢回登录页面
//            String a = httpRequest.getContextPath()+"/login/notLogin";
            servletRequest.getRequestDispatcher("/login/notLogin").forward(servletRequest, httpResponse);
            return;
        }

    }

这里是我web.xml的配置

  <!-- 登录过滤器 -->
    <filter>
        <filter-name>LoginFilter</filter-name>
        <filter-class>aa.filter.LoginFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>LoginFilter</filter-name>
        <url-pattern>/aa/*</url-pattern>
        <url-pattern>/bb/*</url-pattern>
        <url-pattern>/cc/*</url-pattern>
        <url-pattern>/dd/*</url-pattern>
        <url-pattern>/ee/*</url-pattern>
    </filter-mapping>

接口是restful接口。
有大神知道原因吗?

理论上你的配置文件只会起到拦截的作用,不会对get post这些有影响的,可以放一下其他的配置文件以及拦截器class中其他部分的代码吗?使用框架的时候有些方式可以直接限定post get的。

405——方法不被允许。使用该位置不支持的请求方法进行了请求

发下控制器层 或者 servlet看下

同上.补充下你的详细信息..应该是路径配置的问题

 @RestController
@RequestMapping(value = "/aa")
public class aaController {

@RequestMapping(method = RequestMethod.POST)
    public ResultBody saveRule(@RequestBody SaveRuleInfoVO ruleInfoVO){
        return this.ruleService.saveRule(ruleInfoVO);
    }

}

这里是我的controller方法