From 78c7a0d9a9f2583844f05a86a70672ee4af627bf Mon Sep 17 00:00:00 2001 From: Kane Wang Date: Thu, 8 May 2025 00:56:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=8F=98=E6=9E=B6=E6=9E=84=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../utils/config/EncryptionParameters.java | 11 ++- .../com/cpic/xim/utils/http/HttpUtils.java | 65 ++++++++++++++++++ .../xim/utils/newcitizen/NewCitizenUitls.java | 67 ++++++++++--------- .../IdentifyNewCitizenResponse.java | 15 +++-- .../NewCitizen/QueryResultController.java | 14 ++-- .../NewCitizen/QueryResultRequest.java | 11 ++- .../com/cpic/xim/web/filters/CrosFilter.java | 39 +++++------ .../src/main/webapp/WEB-INF/web.xml | 10 ++- 8 files changed, 161 insertions(+), 71 deletions(-) create mode 100644 code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/utils/http/HttpUtils.java diff --git a/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/utils/config/EncryptionParameters.java b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/utils/config/EncryptionParameters.java index 22dbd3b..8502eac 100644 --- a/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/utils/config/EncryptionParameters.java +++ b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/utils/config/EncryptionParameters.java @@ -1,4 +1,13 @@ - +/** + * @Author: Kane Wang + * @Date: 2023-05-26 18:40:36 + * @LastEditors: Kane Wang + * @LastModified: 2025-05-07 22:02:07 + * @FilePath: src/main/java/com/cpic/xim/utils/config/EncryptionParameters.java + * @Description: + * + * Copyright (c) 2025 by Kane All rights reserved + */ package com.cpic.xim.utils.config; public class EncryptionParameters diff --git a/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/utils/http/HttpUtils.java b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/utils/http/HttpUtils.java new file mode 100644 index 0000000..062b2d0 --- /dev/null +++ b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/utils/http/HttpUtils.java @@ -0,0 +1,65 @@ +/** + * @Author: Kane Wang + * @Date: 2024-04-29 11:09:50 + * @LastEditors: Kane Wang + * @LastModified: 2025-05-07 22:04:08 + * @FilePath: src/main/java/com/cpic/xim/utils/http/HttpUtils.java + * @Description: 用于http的相关工具方法 + * + * Copyright (c) 2025 by Kane All rights reserved + */ +package com.cpic.xim.utils.http; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import org.apache.http.HttpEntity; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; + +public class HttpUtils +{ + /** + * + * @param url + * @param bodyMap + * @return + */ + public static String sendPost( String url, Map bodyMap ) + { + HttpPost post = new HttpPost( url ); + + try + { + // 创建参数集合 + List list = new ArrayList<>(); + // 添加参数 + if ( bodyMap != null ) + { + for ( String str : bodyMap.keySet() ) + { + list.add( new BasicNameValuePair( str, bodyMap.get( str ) ) ); + } + } + // 把参数放入请求对象,post发送的参数list,指定格式 + post.setEntity( new UrlEncodedFormEntity( list, "UTF-8" ) ); + CloseableHttpClient client = HttpClients.createDefault(); + // 启动执行请求,并获得返回值 + CloseableHttpResponse response = client.execute( post ); + // 得到返回的entity对象 + HttpEntity entity = response.getEntity(); + // 把实体对象转换为string + return EntityUtils.toString( entity, "UTF-8" ); + } + catch ( Exception e1 ) + { + e1.printStackTrace(); + return ""; + } + } +} \ No newline at end of file diff --git a/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/utils/newcitizen/NewCitizenUitls.java b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/utils/newcitizen/NewCitizenUitls.java index f1a8152..9334279 100644 --- a/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/utils/newcitizen/NewCitizenUitls.java +++ b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/utils/newcitizen/NewCitizenUitls.java @@ -2,7 +2,7 @@ * @Author: Kane Wang * @Date: 2023-05-26 18:40:36 * @LastEditors: Kane Wang - * @LastModified: 2025-05-07 19:06:53 + * @LastModified: 2025-05-07 22:06:09 * @FilePath: src/main/java/com/cpic/xim/utils/newcitizen/NewCitizenUitls.java * @Description: * @@ -28,6 +28,7 @@ import org.apache.http.util.EntityUtils; import com.cpic.xim.utils.security.encode.EncryptionUtils; import com.cpic.xim.utils.security.decode.DecryptionUtils; import com.cpic.xim.utils.security.sign.SignUtils; +import com.cpic.xim.utils.http.HttpUtils; import com.cpic.xim.utils.config.EncryptionParameters; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonParseException; @@ -69,7 +70,7 @@ public class NewCitizenUitls params.put( "key", key ); params.put( "sign", sign ); - String resultJSON = sendPost( identifyURL, params ); + String resultJSON = HttpUtils.sendPost( identifyURL, params ); ObjectMapper mapper = new ObjectMapper(); IdentifyResult identifyResult = null; ResponseResult response = null; @@ -88,38 +89,38 @@ public class NewCitizenUitls return identifyResult; } - public static String sendPost( String url, Map bodyMap ) - { - HttpPost post = new HttpPost( url ); + // public static String sendPost( String url, Map bodyMap ) + // { + // HttpPost post = new HttpPost( url ); - try - { - // 创建参数集合 - List list = new ArrayList<>(); - // 添加参数 - if ( bodyMap != null ) - { - for ( String str : bodyMap.keySet() ) - { - list.add( new BasicNameValuePair( str, bodyMap.get( str ) ) ); - } - } - // 把参数放入请求对象,post发送的参数list,指定格式 - post.setEntity( new UrlEncodedFormEntity( list, "UTF-8" ) ); - CloseableHttpClient client = HttpClients.createDefault(); - // 启动执行请求,并获得返回值 - CloseableHttpResponse response = client.execute( post ); - // 得到返回的entity对象 - HttpEntity entity = response.getEntity(); - // 把实体对象转换为string - return EntityUtils.toString( entity, "UTF-8" ); - } - catch ( Exception e1 ) - { - e1.printStackTrace(); - return ""; - } - } + // try + // { + // // 创建参数集合 + // List list = new ArrayList<>(); + // // 添加参数 + // if ( bodyMap != null ) + // { + // for ( String str : bodyMap.keySet() ) + // { + // list.add( new BasicNameValuePair( str, bodyMap.get( str ) ) ); + // } + // } + // // 把参数放入请求对象,post发送的参数list,指定格式 + // post.setEntity( new UrlEncodedFormEntity( list, "UTF-8" ) ); + // CloseableHttpClient client = HttpClients.createDefault(); + // // 启动执行请求,并获得返回值 + // CloseableHttpResponse response = client.execute( post ); + // // 得到返回的entity对象 + // HttpEntity entity = response.getEntity(); + // // 把实体对象转换为string + // return EntityUtils.toString( entity, "UTF-8" ); + // } + // catch ( Exception e1 ) + // { + // e1.printStackTrace(); + // return ""; + // } + // } } diff --git a/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/controllers/NewCitizen/IdentifyNewCitizenResponse.java b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/controllers/NewCitizen/IdentifyNewCitizenResponse.java index b54618e..1e311ef 100644 --- a/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/controllers/NewCitizen/IdentifyNewCitizenResponse.java +++ b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/controllers/NewCitizen/IdentifyNewCitizenResponse.java @@ -1,11 +1,12 @@ -/* - * @Author: Kane - * @Date: 2023-05-25 20:26:06 - * @LastEditors: Kane - * @FilePath: /NewCitizenQueryResult/src/main/java/com/cpic/xim/web/controllers/NewCitizen/IdentifyNewCitizenResult.java - * @Description: +/** + * @Author: Kane Wang + * @Date: 2024-04-29 11:09:50 + * @LastEditors: Kane Wang + * @LastModified: 2025-05-07 22:01:21 + * @FilePath: src/main/java/com/cpic/xim/web/controllers/newcitizen/IdentifyNewCitizenResponse.java + * @Description: * - * Copyright (c) ${2022} by Kane, All Rights Reserved. + * Copyright (c) 2025 by Kane All rights reserved */ package com.cpic.xim.web.controllers.newcitizen; diff --git a/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/controllers/NewCitizen/QueryResultController.java b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/controllers/NewCitizen/QueryResultController.java index dbfdda2..66f1fe4 100644 --- a/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/controllers/NewCitizen/QueryResultController.java +++ b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/controllers/NewCitizen/QueryResultController.java @@ -1,13 +1,13 @@ /** - * @Author: Kane - * @Date: 2023-05-25 12:09:27 -* @LastEditors: Kane -* @FilePath: /NewCitizenIdentify/src/main/java/com/cpic/xim/web/controllers/NewCitizen/QueryResultController.java + * @Author: Kane Wang + * @Date: 2024-04-29 11:09:50 + * @LastEditors: Kane Wang + * @LastModified: 2025-05-07 22:00:48 + * @FilePath: src/main/java/com/cpic/xim/web/controllers/newcitizen/QueryResultController.java * @Description: - * @ - * @Copyright (c) ${2023} by Kane, All Rights Reserved. + * + * Copyright (c) 2025 by Kane All rights reserved */ - package com.cpic.xim.web.controllers.newcitizen; import jakarta.servlet.http.HttpServletResponse; diff --git a/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/controllers/NewCitizen/QueryResultRequest.java b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/controllers/NewCitizen/QueryResultRequest.java index 691ce72..1c21fde 100644 --- a/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/controllers/NewCitizen/QueryResultRequest.java +++ b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/controllers/NewCitizen/QueryResultRequest.java @@ -1,4 +1,13 @@ - +/** + * @Author: Kane Wang + * @Date: 2024-04-29 11:09:50 + * @LastEditors: Kane Wang + * @LastModified: 2025-05-07 22:00:35 + * @FilePath: src/main/java/com/cpic/xim/web/controllers/newcitizen/QueryResultRequest.java + * @Description: + * + * Copyright (c) 2025 by Kane All rights reserved + */ package com.cpic.xim.web.controllers.newcitizen; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/filters/CrosFilter.java b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/filters/CrosFilter.java index 593e014..5b3eed9 100644 --- a/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/filters/CrosFilter.java +++ b/code/backend/NewCitizenIdentify/src/main/java/com/cpic/xim/web/filters/CrosFilter.java @@ -1,13 +1,13 @@ -/* - * @Author: Kane - * @Date: 2023-05-25 11:02:53 - * @LastEditors: Kane - * @FilePath: /NewCitizenQueryResult/src/main/java/com/cpic/xim/web/filters/CrosFilter.java - * @Description: +/** + * @Author: Kane Wang + * @Date: 2023-05-26 18:40:36 + * @LastEditors: Kane Wang + * @LastModified: 2025-05-07 22:00:26 + * @FilePath: src/main/java/com/cpic/xim/web/filters/CrosFilter.java + * @Description: * - * Copyright (c) ${2022} by Kane, All Rights Reserved. + * Copyright (c) 2025 by Kane All rights reserved */ - package com.cpic.xim.web.filters; import java.io.IOException; @@ -24,26 +24,27 @@ public class CrosFilter implements Filter { @Override public void doFilter( ServletRequest req, ServletResponse resp, FilterChain chain ) - throws ServletException, IOException + throws ServletException, + IOException { - HttpServletRequest request = (HttpServletRequest) req; - HttpServletResponse response = (HttpServletResponse) resp; - String method = request.getMethod(); - String originHeader = request.getHeader( "Origin" ); - - System.out.println( "收到" + method + "请求,来自" + originHeader); - + HttpServletRequest request = ( HttpServletRequest ) req; + HttpServletResponse response = ( HttpServletResponse ) resp; + String method = request.getMethod(); + String originHeader = request.getHeader( "Origin" ); + + System.out.println( "收到" + method + "请求,来自" + originHeader ); + // 如果是Options请求 - if ( method.equals(HttpMethod.OPTIONS.toString()) ) + if ( method.equals( HttpMethod.OPTIONS.toString() ) ) { originHeader = "*"; } - + response.setHeader( "Access-Control-Allow-Origin", originHeader ); response.setHeader( "Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT" ); 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" ); + "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" ); diff --git a/code/backend/NewCitizenIdentify/src/main/webapp/WEB-INF/web.xml b/code/backend/NewCitizenIdentify/src/main/webapp/WEB-INF/web.xml index 11e2001..c06119f 100644 --- a/code/backend/NewCitizenIdentify/src/main/webapp/WEB-INF/web.xml +++ b/code/backend/NewCitizenIdentify/src/main/webapp/WEB-INF/web.xml @@ -1,7 +1,11 @@ - + + xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"> Archetype Created Web Application