增加跨域功能
以Filter的方式增加跨域功能,直接取得请求头的Origin参数,作为Access-Control-Allow-Origin的值。
This commit is contained in:
		@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-09-28 15:47:02
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-09-30 14:52:00
 | 
			
		||||
 * @LastEditTime: 2022-10-09 10:31:02
 | 
			
		||||
 * @FilePath: \car_dealer\src\main\java\com\cpic\xim\car_dealer\controllers\fileupload\FileUploadController.java
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
@@ -45,16 +45,9 @@ public class FileUploadController
 | 
			
		||||
     *****************************************************/
 | 
			
		||||
    @RequestMapping( path = "/upload_file.do")
 | 
			
		||||
    @ResponseBody
 | 
			
		||||
    @CrossOrigin
 | 
			
		||||
    public FileUploadResult uploadFile( HttpServletRequest request, HttpServletResponse response,
 | 
			
		||||
            MultipartFile uploadFile ) throws IllegalSelectorException, IOException
 | 
			
		||||
    {
 | 
			
		||||
        // response.setContentType( "text/json;charset=UTF-8" );
 | 
			
		||||
        // response.setHeader( "Access-Control-Allow-Origin", "*" );
 | 
			
		||||
        // response.setHeader( "Access-Control-Allow-Methods", "GET,POST" );
 | 
			
		||||
 | 
			
		||||
        request.getCookies();
 | 
			
		||||
 | 
			
		||||
        FileUploadResult result = new FileUploadResult();
 | 
			
		||||
        String sessionID = request.getSession().getId();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,43 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-10-09 09:32:33
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-10-09 09:43:01
 | 
			
		||||
 * @FilePath: \car_dealer\src\main\java\com\cpic\xim\car_dealer\filters\CrosFilter.java
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Copyright (c) ${2022} by Kane, All Rights Reserved. 
 | 
			
		||||
 */
 | 
			
		||||
package com.cpic.xim.car_dealer.filters;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import javax.servlet.Filter;
 | 
			
		||||
import javax.servlet.FilterChain;
 | 
			
		||||
import javax.servlet.ServletException;
 | 
			
		||||
import javax.servlet.ServletRequest;
 | 
			
		||||
import javax.servlet.ServletResponse;
 | 
			
		||||
import javax.servlet.http.HttpServletRequest;
 | 
			
		||||
import javax.servlet.http.HttpServletResponse;
 | 
			
		||||
 | 
			
		||||
public class CrosFilter implements Filter
 | 
			
		||||
{
 | 
			
		||||
    @Override
 | 
			
		||||
    public void doFilter( ServletRequest req, ServletResponse resp, FilterChain chain )
 | 
			
		||||
            throws ServletException, IOException
 | 
			
		||||
    {
 | 
			
		||||
        HttpServletRequest request = (HttpServletRequest) req;
 | 
			
		||||
        HttpServletResponse response = (HttpServletResponse) resp;
 | 
			
		||||
        String originHeader = request.getHeader( "Origin" );
 | 
			
		||||
 | 
			
		||||
        response.setHeader( "Access-Control-Allow-Origin", originHeader );
 | 
			
		||||
        response.setHeader( "Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE" );
 | 
			
		||||
        response.setHeader( "Access-Control-Max-Age", "0" );
 | 
			
		||||
        response.setHeader( "Access-Control-Allow-Headers",
 | 
			
		||||
                "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token" );
 | 
			
		||||
        response.setHeader( "Access-Control-Allow-Credentials", "true" );
 | 
			
		||||
        response.setHeader( "XDomainRequestAllowed", "1" );
 | 
			
		||||
        response.setHeader( "XDomainRequestAllowed", "1" );
 | 
			
		||||
 | 
			
		||||
        chain.doFilter( request, response );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -18,4 +18,12 @@
 | 
			
		||||
    <url-pattern>*.do</url-pattern>
 | 
			
		||||
  </servlet-mapping>
 | 
			
		||||
 | 
			
		||||
  <filter>
 | 
			
		||||
    <filter-name>cros-filter</filter-name>
 | 
			
		||||
    <filter-class>com.cpic.xim.car_dealer.filters.CrosFilter</filter-class>
 | 
			
		||||
  </filter>
 | 
			
		||||
  <filter-mapping>
 | 
			
		||||
    <filter-name>cros-filter</filter-name>
 | 
			
		||||
    <url-pattern>*.do</url-pattern>
 | 
			
		||||
  </filter-mapping>
 | 
			
		||||
</web-app>
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: Kane
 | 
			
		||||
 * @Date: 2022-09-29 16:33:30
 | 
			
		||||
 * @LastEditors: Kane
 | 
			
		||||
 * @LastEditTime: 2022-09-30 21:34:30
 | 
			
		||||
 * @LastEditTime: 2022-10-09 10:24:17
 | 
			
		||||
 * @FilePath: \car_dealer\src\main\webapp\file_upload.html
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 * 
 | 
			
		||||
@@ -51,7 +51,9 @@
 | 
			
		||||
        </div>
 | 
			
		||||
    </body>
 | 
			
		||||
    <script>
 | 
			
		||||
        const reqeustURL = "upload/upload_file.do";
 | 
			
		||||
        //const reqeustURL = "upload/upload_file.do";
 | 
			
		||||
        const reqeustURL =
 | 
			
		||||
            "http://localhost:8080/cardealer/upload/upload_file.do";
 | 
			
		||||
        const btnUpload = document.getElementById("btnUpload");
 | 
			
		||||
 | 
			
		||||
        function fileUploadChange() {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user