zoukankan      html  css  js  c++  java
  • 跨域

    拦截器:

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * jsonp post提交处理拦截器
     */
    public class PostRequestInterceptor implements HandlerInterceptor {
    
    	private Logger logger = LoggerFactory.getLogger(PostRequestInterceptor.class);
    
    	private String INDEX_PAGE;
    
    	public PostRequestInterceptor(String indexPage) {
    		this.INDEX_PAGE = indexPage;
    	}
    
    	@Override
    	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
    			throws Exception {
    		String url = request.getRequestURI();
    
    		//logger.info("Parameter : {}",request.getParameterMap());
    		//logger.info("PostRequestInterceptor.preHandle execute url|  " + url  + " | ------------- end");
    		//response.setContentType("text/html;charset=UTF-8");
    		response.setHeader("Access-Control-Allow-Credentials", "true");
    		//(request.getHeader("Origin").contains("127")) {
    		String origin = request.getHeader("Origin");
    //		if (StringUtil.isNotBlank(INDEX_PAGE)) {
    //			origin = origin + "," + INDEX_PAGE;
    //		}
    		response.setHeader("Access-Control-Allow-Origin", origin);
    		//}
    		response.setHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Headers,X-Requested-With,X_Requested_With");
    		response.setHeader("Access-Control-Allow-Methods", "POST,GET,OPTIONS");
    		//	response.addHeader("Access-Control-Max-Age", "1000");
    		if ("IE".equals(request.getParameter("type"))) {
    			response.addHeader("XDomainRequestAllowed", "1");
    		}
    		return true;
    	}
    
    	@Override
    	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
                               ModelAndView modelAndView) throws Exception {
    
    	}
    
    	@Override
    	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
    			throws Exception {
    
    
    	}
    }
    

     

    添加拦截器:

    import javax.annotation.PostConstruct;
    import PostRequestInterceptor;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.core.convert.support.GenericConversionService;
    import org.springframework.web.bind.support.ConfigurableWebBindingInitializer;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
    import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
    
    @Configuration
    public class WebConfig extends WebMvcConfigurerAdapter {
    
    	@Autowired
    	private RequestMappingHandlerAdapter handlerAdapter;
    
    	@Value("${constant.indexPage}")
    	private String indexPage;
    
    	@Override
    	public void addInterceptors(InterceptorRegistry registry) {
    		registry.addInterceptor(new PostRequestInterceptor(indexPage)).addPathPatterns("/**");
    		super.addInterceptors(registry);
    	}
    
    	/**
    	 * 增加字符串转日期的功能
    	 */
    	@PostConstruct
    	public void initEditableValidation() {
    		ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer) handlerAdapter
    				.getWebBindingInitializer();
    		if (initializer.getConversionService() != null) {
    			GenericConversionService genericConversionService = (GenericConversionService) initializer
    					.getConversionService();
    			genericConversionService.addConverter(new WebDateConverter());
    		}
    
    	}
    
    }
  • 相关阅读:
    C#学习笔记之——一些应用
    C#学习笔记之——面向对象编程
    C#学习笔记之——一些练习(包含了一些out的使用,string的使用,StringBuilder的使用,类的属性,最大公约数的求法,还有英雄,武器类的设置)
    C#学习笔记之——数据类型,引用参数,输出参数,数组参数,命名参数,可选参数
    C#学习笔记之——类、对象
    离散实践1
    计算机书籍
    2013年12月大学英语六级作文预测:挑战与改变
    TCP协议详解
    Uip学习简介及网址
  • 原文地址:https://www.cnblogs.com/wanhua-wu/p/10733930.html
Copyright © 2011-2022 走看看