zoukankan      html  css  js  c++  java
  • CORS 跨域访问 后端代码

    使用拦截器去做跨域访问

    在验证时,需要在header里面传入token和userId来进行验证,所以需要特别注意的就是要在代码中将这两个参数加入,否则会出现异常

    package com.xw.interceptor;
    
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * @author 12561
     */
    public class CrossDomainInterceptor implements HandlerInterceptor {
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            response.addHeader("Access-Control-Allow-Origin","*");
            response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE,OPTIONS");
            response.addHeader("Access-Control-Allow-Headers", "Content-Type, Accept, Authorization,userId,token");
            return true;
        }
    
        @Override
        public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
    
        }
    
        /**
         * @param request
         * @param response
         * @param handler  拦截的对象
         * @param ex
         * @throws Exception
         */
    
        @Override
        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
    
        }
    }
    <mvc:interceptors>
            <!--登录拦截器-->
            <mvc:interceptor>
                <!-- 需拦截的地址 -->
                <!-- 拦截所有/manage -->
                <mvc:mapping path="/manage/**" />
    
                <!--登录和退出登录的方法不需要拦截-->
                <mvc:exclude-mapping path="/manage/user/tologin"/>
                <mvc:exclude-mapping path="/manage/user/login"/>
                <mvc:exclude-mapping path="/manage/user/exit"/>
                <bean class="com.xw.interceptor.LoginInterceptor"/>
            </mvc:interceptor>
    
            <!--跨域拦截器-->
            <mvc:interceptor>
                <!-- 需拦截的地址 -->
                <mvc:mapping path="/api*/**" />
                <bean class="com.xw.interceptor.CrossDomainInterceptor"/>
            </mvc:interceptor>
    
        </mvc:interceptors>

    拦截的是所有以api开头的接口,设置完之后就完成啦

  • 相关阅读:
    DELPHI SOKET 编程(使用TServerSocket和TClientSocket)
    DELPHI 任务栏无EXE显示
    Delphi 实现无窗口移动(详细使用WM_NCHITTEST和PtInRect API进行测试)
    ViewPager的简单使用
    delphi 网页提交按钮执行点击事件
    Delphi 获取网站验证码的图片
    Delphi 模拟网站验证码(酷,把随机文字写道图片上)
    张文木的文章都很不错,有空仔细看看
    深度RAMOS,把操作系统全部安装在内存上
    C# ASP.net 入门之简单通讯录
  • 原文地址:https://www.cnblogs.com/SeaWxx/p/10178691.html
Copyright © 2011-2022 走看看