From 020fb6a4dbf0711e3d9f59189c92adf3f69b21d7 Mon Sep 17 00:00:00 2001 From: ijunho Date: Wed, 30 Apr 2025 18:12:15 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20=EB=B6=84?= =?UTF-8?q?=EB=A6=AC=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 52 +- .../cmm/AltibaseClobStringTypeHandler.java | 106 --- .../itn/com/cmm/filter/HTMLTagFilter.java | 46 -- .../filter/HTMLTagFilterRequestWrapper.java | 109 --- .../ipCheck/IPCheckInterceptor.java | 97 --- .../interceptor/ipCheck/WSOpenAPIService.java | 82 --- src/main/java/itn/com/cmm/util/Criteria.java | 369 ---------- .../itn/com/cmm/util/ExcelDownloadUtil.java | 67 -- .../itn/com/cmm/util/ExcelUploadUtil.java | 646 ------------------ src/main/java/itn/com/cmm/util/Order.java | 60 -- .../itn/com/cmm/util/OsProcessCheckUtil.java | 94 --- .../itn/com/cmm/util/RedirectUrlMaker.java | 25 - src/main/java/itn/com/cmm/util/TokenUtil.java | 100 --- .../com/cmm/web/EgovBindingInitializer.java | 22 - .../log/ulg/web/EgovUserLogController.java | 92 +-- .../usr/search/web/SearchTotalController.java | 85 --- .../itn/let/mjo/test/web/TestController.java | 6 +- .../itn/let/utl/sim/service/EgovClntInfo.java | 3 - src/main/webapp/index.jsp | 428 +----------- 19 files changed, 14 insertions(+), 2475 deletions(-) delete mode 100644 src/main/java/itn/com/cmm/AltibaseClobStringTypeHandler.java delete mode 100644 src/main/java/itn/com/cmm/filter/HTMLTagFilter.java delete mode 100644 src/main/java/itn/com/cmm/filter/HTMLTagFilterRequestWrapper.java delete mode 100644 src/main/java/itn/com/cmm/interceptor/ipCheck/IPCheckInterceptor.java delete mode 100644 src/main/java/itn/com/cmm/interceptor/ipCheck/WSOpenAPIService.java delete mode 100644 src/main/java/itn/com/cmm/util/Criteria.java delete mode 100644 src/main/java/itn/com/cmm/util/ExcelDownloadUtil.java delete mode 100644 src/main/java/itn/com/cmm/util/ExcelUploadUtil.java delete mode 100644 src/main/java/itn/com/cmm/util/Order.java delete mode 100644 src/main/java/itn/com/cmm/util/OsProcessCheckUtil.java delete mode 100644 src/main/java/itn/com/cmm/util/TokenUtil.java delete mode 100644 src/main/java/itn/com/cmm/web/EgovBindingInitializer.java delete mode 100644 src/main/java/itn/com/usr/search/web/SearchTotalController.java diff --git a/pom.xml b/pom.xml index 7a7f563..5bfefab 100644 --- a/pom.xml +++ b/pom.xml @@ -8,33 +8,6 @@ mjon http://www.egovframe.go.kr - - The Apache Software License, Version 2.0 @@ -54,28 +27,8 @@ - mvn2 - https://repo1.maven.org/maven2/ - - true - - - true - - - - egovframe - https://www.egovframe.go.kr/maven/ - - true - - - false - - - - egovframe2 - http://maven.egovframe.kr:8080/maven/ + maven-public + http://nexus.iten.co.kr:9999/repository/maven-public/ true @@ -568,7 +521,6 @@ provided - diff --git a/src/main/java/itn/com/cmm/AltibaseClobStringTypeHandler.java b/src/main/java/itn/com/cmm/AltibaseClobStringTypeHandler.java deleted file mode 100644 index f647c58..0000000 --- a/src/main/java/itn/com/cmm/AltibaseClobStringTypeHandler.java +++ /dev/null @@ -1,106 +0,0 @@ -package itn.com.cmm; - -/* - * Copyright 2002-2005 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import java.io.IOException; -import java.io.Reader; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.jdbc.support.lob.LobCreator; -import org.springframework.jdbc.support.lob.LobHandler; -import egovframework.rte.psl.orm.ibatis.support.AbstractLobTypeHandler; - -/** - * iBATIS TypeHandler implementation for Strings that get mapped to CLOBs. - * Retrieves the LobHandler to use from SqlMapClientFactoryBean at config time. - * - *

Particularly useful for storing Strings with more than 4000 characters in an - * Oracle database (only possible via CLOBs), in combination with OracleLobHandler. - * - *

Can also be defined in generic iBATIS mappings, as DefaultLobCreator will - * work with most JDBC-compliant database drivers. In this case, the field type - * does not have to be BLOB: For databases like MySQL and MS SQL Server, any - * large enough binary type will work. - * - * @author Juergen Hoeller - * @since 1.1.5 - * @see org.springframework.orm.ibatis.SqlMapClientFactoryBean#setLobHandler - */ -@SuppressWarnings("deprecation") -public class AltibaseClobStringTypeHandler extends AbstractLobTypeHandler { - - private static final Logger LOGGER = LoggerFactory.getLogger(AltibaseClobStringTypeHandler.class); - - /** - * Constructor used by iBATIS: fetches config-time LobHandler from - * SqlMapClientFactoryBean. - * @see org.springframework.orm.ibatis.SqlMapClientFactoryBean#getConfigTimeLobHandler - */ - public AltibaseClobStringTypeHandler() { - super(); - } - - /** - * Constructor used for testing: takes an explicit LobHandler. - */ - protected AltibaseClobStringTypeHandler(LobHandler lobHandler) { - super(lobHandler); - } - - @Override - protected void setParameterInternal(PreparedStatement ps, int index, Object value, String jdbcType, LobCreator lobCreator) throws SQLException { - lobCreator.setClobAsString(ps, index, (String) value); - } - - @Override - protected Object getResultInternal(ResultSet rs, int index, LobHandler lobHandler) throws SQLException { - - StringBuffer read_data = new StringBuffer(""); - int read_length; - - char[] buf = new char[1024]; - - Reader rd = lobHandler.getClobAsCharacterStream(rs, index); - try { - while ((read_length = rd.read(buf)) != -1) { - read_data.append(buf, 0, read_length); - } - } catch (IOException ie) { - LOGGER.debug("ie: {}", ie); - } finally { - if (rd != null) { - try { - rd.close(); - } catch (Exception ignore) { - LOGGER.debug("IGNORE: {}", ignore.getMessage()); - } - } - } - - return read_data.toString(); - } - - @Override - public Object valueOf(String s) { - return s; - } - -} diff --git a/src/main/java/itn/com/cmm/filter/HTMLTagFilter.java b/src/main/java/itn/com/cmm/filter/HTMLTagFilter.java deleted file mode 100644 index 55bdec8..0000000 --- a/src/main/java/itn/com/cmm/filter/HTMLTagFilter.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security). - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package itn.com.cmm.filter; - -import java.io.IOException; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; - -public class HTMLTagFilter implements Filter{ - - @SuppressWarnings("unused") - private FilterConfig config; - - public void doFilter(ServletRequest request, ServletResponse response, - FilterChain chain) throws IOException, ServletException { - - chain.doFilter(new HTMLTagFilterRequestWrapper((HttpServletRequest)request), response); - } - - public void init(FilterConfig config) throws ServletException { - this.config = config; - } - - public void destroy() { - - } -} diff --git a/src/main/java/itn/com/cmm/filter/HTMLTagFilterRequestWrapper.java b/src/main/java/itn/com/cmm/filter/HTMLTagFilterRequestWrapper.java deleted file mode 100644 index 719da85..0000000 --- a/src/main/java/itn/com/cmm/filter/HTMLTagFilterRequestWrapper.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security). - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package itn.com.cmm.filter; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletRequestWrapper; - -public class HTMLTagFilterRequestWrapper extends HttpServletRequestWrapper { - - public HTMLTagFilterRequestWrapper(HttpServletRequest request) { - super(request); - } - - public String[] getParameterValues(String parameter) { - - String[] values = super.getParameterValues(parameter); - - if(values==null){ - return null; - } - - for (int i = 0; i < values.length; i++) { - if (values[i] != null) { - StringBuffer strBuff = new StringBuffer(); - for (int j = 0; j < values[i].length(); j++) { - char c = values[i].charAt(j); - switch (c) { - case '<': - strBuff.append("<"); - break; - case '>': - strBuff.append(">"); - break; - //case '&': - //strBuff.append("&"); - //break; - case '"': - strBuff.append("""); - break; - case '\'': - strBuff.append("'"); - break; - default: - strBuff.append(c); - break; - } - } - values[i] = strBuff.toString(); - } else { - values[i] = null; - } - } - - return values; - } - - public String getParameter(String parameter) { - - String value = super.getParameter(parameter); - - if(value==null){ - return null; - } - - StringBuffer strBuff = new StringBuffer(); - - for (int i = 0; i < value.length(); i++) { - char c = value.charAt(i); - switch (c) { - case '<': - strBuff.append("<"); - break; - case '>': - strBuff.append(">"); - break; - case '&': - strBuff.append("&"); - break; - case '"': - strBuff.append("""); - break; - case '\'': - strBuff.append("'"); - break; - default: - strBuff.append(c); - break; - } - } - - value = strBuff.toString(); - - return value; - } - -} \ No newline at end of file diff --git a/src/main/java/itn/com/cmm/interceptor/ipCheck/IPCheckInterceptor.java b/src/main/java/itn/com/cmm/interceptor/ipCheck/IPCheckInterceptor.java deleted file mode 100644 index c15a243..0000000 --- a/src/main/java/itn/com/cmm/interceptor/ipCheck/IPCheckInterceptor.java +++ /dev/null @@ -1,97 +0,0 @@ -package itn.com.cmm.interceptor.ipCheck; - -import java.io.PrintWriter; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import org.springframework.util.ObjectUtils; -import org.springframework.web.servlet.HandlerInterceptor; -import org.springframework.web.servlet.ModelAndView; -import org.springframework.web.servlet.mvc.support.RedirectAttributes; - -import net.sf.cglib.core.Constants; - -@Component -public class IPCheckInterceptor implements HandlerInterceptor, Constants { - - @Autowired - private WSOpenAPIService WSService; - - private String LOCAL_HOST ="127.0.0.1"; - - private String WHO_IS_COUNTRY_CODE ="countryCode"; - - private String KOREA_COUNTRY_CODE ="KR"; - - private final Logger logger = LoggerFactory.getLogger(getClass()); - - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) - throws Exception { - String clientIp = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim(); - if (ObjectUtils.isEmpty(clientIp) || "unknown".equalsIgnoreCase(clientIp)) { - clientIp = request.getHeader("Proxy-Client-IP"); - } - if (ObjectUtils.isEmpty(clientIp) || "unknown".equalsIgnoreCase(clientIp)) { - clientIp = request.getHeader("WL-Proxy-Client-IP"); - } - if (ObjectUtils.isEmpty(clientIp) || "unknown".equalsIgnoreCase(clientIp)) { - clientIp = request.getHeader("HTTP_CLIENT_IP"); - } - if (ObjectUtils.isEmpty(clientIp) || "unknown".equalsIgnoreCase(clientIp)) { - clientIp = request.getHeader("HTTP_X_FORWARDED_FOR"); - } - if (ObjectUtils.isEmpty(clientIp) || "unknown".equalsIgnoreCase(clientIp)) { - clientIp = request.getRemoteAddr(); - } - - //로컬 테스트 시 주석 해제해주세요. 미국 IP입니다. -// clientIp = "54.211.120.28"; - -// clientIp = "219.240.88.15"; - - - if(!LOCAL_HOST.equals(clientIp)) { - Map clientInfo = WSService.getClientInfoByIPAddress(clientIp); - - if(clientInfo == null) { - logger.error("IP에 대한 클라이언트 정보 조회에 실패하였습니다."); - response.sendRedirect(request.getContextPath() + "/"); - return false; - } - - String country = clientInfo.get(WHO_IS_COUNTRY_CODE); - - if(!KOREA_COUNTRY_CODE.equals(country)) { - logger.error("해외 IP가 감지되었습니다. 접근을 차단합니다. IP : {}, Country : {}", clientIp, country); - response.setContentType("text/html; charset=UTF-8"); - PrintWriter out = response.getWriter(); - out.println(""); - out.flush(); - return false; - } - } - - return true; - } - - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, - ModelAndView modelAndView) throws Exception { - // TODO Auto-generated method stub - - } - - @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) - throws Exception { - // TODO Auto-generated method stub - - } -} \ No newline at end of file diff --git a/src/main/java/itn/com/cmm/interceptor/ipCheck/WSOpenAPIService.java b/src/main/java/itn/com/cmm/interceptor/ipCheck/WSOpenAPIService.java deleted file mode 100644 index e4ef872..0000000 --- a/src/main/java/itn/com/cmm/interceptor/ipCheck/WSOpenAPIService.java +++ /dev/null @@ -1,82 +0,0 @@ -package itn.com.cmm.interceptor.ipCheck; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.URL; -import java.net.URLEncoder; -import java.util.Map; - -import org.apache.http.client.config.RequestConfig; -import org.apache.http.impl.client.CloseableHttpClient; -import org.json.simple.JSONArray; -import org.json.simple.JSONObject; -import org.json.simple.parser.JSONParser; -import org.json.simple.parser.ParseException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; - -import net.sf.cglib.core.Constants; - -@Service("WSOpenAPIService") -public class WSOpenAPIService implements Constants{ - - @Value("${whois.api.key}") - private String apiKey; - - @Value("${whois.api.url}") - private String apiUrl; - - private String WHO_IS = "whois"; - - @Autowired - private CloseableHttpClient closeableHttpClient; - - @Autowired - private RequestConfig requestConfig; - - private final Logger logger = LoggerFactory.getLogger(getClass()); - - @SuppressWarnings("unchecked") - public Map getClientInfoByIPAddress(String ip) throws Exception{ - - StringBuilder urlBuilder = new StringBuilder(apiUrl); /*URL*/ - urlBuilder.append("?" + URLEncoder.encode("serviceKey","UTF-8") + "="+URLEncoder.encode(apiKey, "UTF-8")); /*Service Key*/ - urlBuilder.append("&" + URLEncoder.encode("query","UTF-8") + "=" + URLEncoder.encode(ip, "UTF-8")); /*IP 주소 또는 AS 번호*/ - urlBuilder.append("&" + URLEncoder.encode("answer","UTF-8") + "=" + URLEncoder.encode("JSON", "UTF-8")); /*응답형식(XML/JSON) 을 지정(없으면 XML으로 응답)*/ - URL url = new URL(urlBuilder.toString()); - HttpURLConnection conn = (HttpURLConnection) url.openConnection(); - conn.setRequestMethod("GET"); - conn.setRequestProperty("Content-type", "application/json"); - System.out.println("Response code: " + conn.getResponseCode()); - BufferedReader rd; - if(conn.getResponseCode() >= 200 && conn.getResponseCode() <= 300) { - rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); - } else { - rd = new BufferedReader(new InputStreamReader(conn.getErrorStream())); - } - String result = ""; - String line; - while ((line = rd.readLine()) != null) { - result = result + line.trim();// result = URL로 XML을 읽은 값 - } - rd.close(); - conn.disconnect(); - System.out.println(result); - - JSONParser jsonParser = new JSONParser(); - JSONObject jsonObj = (JSONObject) jsonParser.parse(result); - JSONObject inf = (JSONObject) jsonObj.get("response"); - JSONObject info1 = (JSONObject) inf.get("result"); - JSONObject info2 = (JSONObject) inf.get("whois"); - - Map workplace = (Map) inf.get("whois"); - - - return workplace; - } -} diff --git a/src/main/java/itn/com/cmm/util/Criteria.java b/src/main/java/itn/com/cmm/util/Criteria.java deleted file mode 100644 index 116df47..0000000 --- a/src/main/java/itn/com/cmm/util/Criteria.java +++ /dev/null @@ -1,369 +0,0 @@ -package itn.com.cmm.util; - -import java.io.Serializable; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang.builder.ToStringBuilder; - -/** - * 프로그램 파일명 : Criteria.java - * - * 프로그램 설명 : 검색용 객체 - * - * 작 성 자 : jeong hoon hee - * - * 작 성 일 : 2013. 12. 02. - * - * Copyright(c) 2013 DAEYOON Co. Ltd. All rights reserved. - */ -public class Criteria implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 검색용 맵 객체 - */ - private Map condition = new HashMap(); - - /** - * getParams() 메소드에서 append 할지여부의 condition맵 - */ - private Map paramViewMap = new HashMap(); - - /** - * 정렬용 리스트 객체 - */ - private List orderList = new ArrayList(); - - /** 검색조건 */ - private String searchCondition = ""; - - /** 검색Keyword */ - private String searchKeyword = ""; - - /** 검색사용여부 */ - private String searchUseYn = ""; - - /** 현재페이지 */ - private int pageIndex = 1; - - /** 페이지갯수 */ - private int pageUnit = 10; - - /** 페이지사이즈 */ - private int pageSize = 10; - - /** firstIndex */ - private int firstIndex = 1; - - /** lastIndex */ - private int lastIndex = 1; - - /** recordCountPerPage */ - private int recordCountPerPage = 10; - - /** 검색KeywordFrom */ - private String searchKeywordFrom = ""; - - /** 검색KeywordTo */ - private String searchKeywordTo = ""; - - /** 메뉴번호 */ - private Integer menuNo; - - /** - * 기본생성자 - */ - public Criteria() { - } - - /** - * request객체에서 넘어오는 검색파라미터를 셋팅한다. (* condition 맵처리) - * - * @param request - */ - @SuppressWarnings("unchecked") - public Criteria(HttpServletRequest request) { - - Set set = request.getParameterMap().keySet(); - Iterator iter = set.iterator(); - while (iter.hasNext()) { - String key = iter.next(); - if (key.equals("pageUnit")) { - try { - pageUnit = Integer.parseInt(request.getParameter(key)); - - this.condition.put("pageUnit", pageUnit); - this.paramViewMap.put("pageUnit", true); - } catch (Exception e) { - } - } else if (key.equals("pageSize")) { - try { - pageSize = Integer.parseInt(request.getParameter(key)); - - this.condition.put("pageSize", pageSize); - this.paramViewMap.put("pageSize", true); - } catch (Exception e) { - } - } else if (key.equals("pageIndex")) { - try { - pageIndex = Integer.parseInt(request.getParameter(key)); - - this.condition.put("pageIndex", pageIndex); - this.paramViewMap.put("pageIndex", true); - } catch (Exception e) { - } - } else if (key.equals("searchCondition")) { - try { - searchCondition = request.getParameter(key); - - this.condition.put("searchCondition", searchCondition); - this.paramViewMap.put("searchCondition", true); - } catch (Exception e) { - } - } else if (key.equals("searchKeyword")) { - try { - searchKeyword = request.getParameter(key); - - this.condition.put("searchKeyword", searchKeyword); - this.paramViewMap.put("searchKeyword", true); - } catch (Exception e) { - } - } else if (key.equals("menuNo")) { - try { - menuNo = Integer.parseInt(request.getParameter(key)); - - this.condition.put("menuNo", menuNo); - this.paramViewMap.put("menuNo", true); - } catch (Exception e) { - } - } else if (key.startsWith("condition.")) { - String conditionKey = StringUtils.substringAfter(key, "condition."); - String conditionValue = request.getParameter(key); - if (StringUtils.isNotEmpty(conditionValue)) { - this.condition.put(conditionKey, conditionValue); - this.paramViewMap.put(conditionKey, true); - } - } - } - } - - public Map getCondition() { - return condition; - } - - public void setCondition(Map condition) { - this.condition = condition; - } - - public Object remove(Object key) { - return this.condition.remove(key); - } - - public Object get(String key) { - return this.condition.get(key); - } - - public Object put(String key, Object value) { - this.paramViewMap.put(key, true); - return this.condition.put(key, value); - } - - public Object put(String key, Object value, boolean append) { - this.paramViewMap.put(key, append); - return this.condition.put(key, value); - } - - public List getOrderList() { - return orderList; - } - - public void setOrderList(List orderList) { - this.orderList = orderList; - } - - public void addOrder(Order order) { - this.orderList.add(order); - } - - public String getSearchCondition() { - return searchCondition; - } - - public void setSearchCondition(String searchCondition) { - this.searchCondition = searchCondition; - } - - public String getSearchKeyword() { - return searchKeyword; - } - - public void setSearchKeyword(String searchKeyword) { - this.searchKeyword = searchKeyword; - } - - public Integer getMenuNo() { - return menuNo; - } - - public void setMenuNo(Integer menuNo) { - this.menuNo = menuNo; - } - - public String getSearchUseYn() { - return searchUseYn; - } - - public void setSearchUseYn(String searchUseYn) { - this.searchUseYn = searchUseYn; - } - - public int getPageIndex() { - return pageIndex; - } - - public void setPageIndex(int pageIndex) { - this.pageIndex = pageIndex; - condition.put("pageIndex", pageIndex); - } - - public int getPageUnit() { - return pageUnit; - } - - public void setPageUnit(int pageUnit) { - this.pageUnit = pageUnit; - condition.put("pageUnit", pageUnit); - } - - public int getPageSize() { - return pageSize; - } - - public void setPageSize(int pageSize) { - this.pageSize = pageSize; - condition.put("pageSize", pageSize); - } - - public int getFirstIndex() { - return firstIndex; - } - - public void setFirstIndex(int firstIndex) { - this.firstIndex = firstIndex; - condition.put("firstIndex", firstIndex); - } - - public int getLastIndex() { - return lastIndex; - } - - public void setLastIndex(int lastIndex) { - this.lastIndex = lastIndex; - condition.put("lastIndex", lastIndex); - } - - public int getRecordCountPerPage() { - return recordCountPerPage; - } - - public void setRecordCountPerPage(int recordCountPerPage) { - this.recordCountPerPage = recordCountPerPage; - condition.put("recordCountPerPage", recordCountPerPage); - } - - public String getSearchKeywordFrom() { - return searchKeywordFrom; - } - - public void setSearchKeywordFrom(String searchKeywordFrom) { - this.searchKeywordFrom = searchKeywordFrom; - } - - public String getSearchKeywordTo() { - return searchKeywordTo; - } - - public void setSearchKeywordTo(String searchKeywordTo) { - this.searchKeywordTo = searchKeywordTo; - } - - /** - * 검색파라미터 문자열을 리턴한다. - * @return - */ - public String getParams() { - return getParams(true); - } - - /** - * 검색파라미터 문자열을 리턴한다. - * @param appendPageIndex-pageindex를 붙힐지말지여부 - * @return - */ - public String getParams(boolean appendPageIndex) { - StringBuffer parameterString = new StringBuffer(); - if (appendPageIndex) { - parameterString.append("pageIndex="); - parameterString.append(this.pageIndex); - parameterString.append("&"); - } - parameterString.append("pageUnit="); - parameterString.append(this.pageUnit); - parameterString.append("&pageSize="); - parameterString.append(this.pageSize); - parameterString.append("&searchCondition="); - parameterString.append(StringUtils.defaultString(this.searchCondition)); - parameterString.append("&searchKeyword="); - try { - parameterString.append(URLEncoder.encode(StringUtils.defaultString(this.searchKeyword), "UTF-8")); - } catch (UnsupportedEncodingException e) { - System.out.println("UnsupportedEncodingException By Criteria.getParams() [searchValue] : " + e.getMessage()); - } - parameterString.append("&menuNo="); - parameterString.append((this.menuNo != null) ? this.menuNo : ""); - if (this.condition.size() > 0) { - Set set = this.condition.keySet(); - Iterator iter = set.iterator(); - while (iter.hasNext()) { - String key = iter.next(); - Object value = this.condition.get(key); - Boolean append = this.paramViewMap.get(key)!=null?this.paramViewMap.get(key):true; - if (append) { - parameterString.append("&condition."); - parameterString.append(key); - parameterString.append("="); - if (value instanceof String) { - if (StringUtils.isNotEmpty((String) value)) { - try { - parameterString.append(URLEncoder.encode((String) value, "UTF-8")); - } catch (UnsupportedEncodingException e) { - System.out.println("UnsupportedEncodingException By Criteria.getParams() [condition] : " + e.getMessage()); - } - } - } else { - parameterString.append(value); - } - } - } - } - - return parameterString.toString(); - } - - @Override - public String toString() { - return ToStringBuilder.reflectionToString(this); - } - -} diff --git a/src/main/java/itn/com/cmm/util/ExcelDownloadUtil.java b/src/main/java/itn/com/cmm/util/ExcelDownloadUtil.java deleted file mode 100644 index 9327c6c..0000000 --- a/src/main/java/itn/com/cmm/util/ExcelDownloadUtil.java +++ /dev/null @@ -1,67 +0,0 @@ -package itn.com.cmm.util; - -import java.io.BufferedInputStream; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.poi.ss.usermodel.Workbook; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import net.sf.jxls.exception.ParsePropertyException; -import net.sf.jxls.transformer.XLSTransformer; - -public class ExcelDownloadUtil { -private static final Logger logger = LoggerFactory.getLogger(ExcelDownloadUtil.class); - - - /** - * 엑셀 다운로드
- * - jxl 사용 : 템플릿 xlsx 필요
- * @param request - * @param response - * @param mapData : 바인딩 데이터 맵 - * @param saveFilename : 빈 값 또는 null일 경우 yyyy-MM-dd_HHmm.xlsx - * @param templateFileName : /excels 디렉토리 내 엑셀 템플릿 파일명 - */ - public static void downloadExcel(HttpServletRequest request, HttpServletResponse response, Map mapData, String saveFilename, String templateFileName) { - - String sTemplatePath = request.getSession().getServletContext().getRealPath("/excels"); - InputStream is = null; - OutputStream os = null; - try { - is = new BufferedInputStream(new FileInputStream(sTemplatePath + "/" + templateFileName)); - - XLSTransformer transformer = new XLSTransformer(); - Workbook resultWorkbook = transformer.transformXLS(is, mapData); - - if (StringUtil.isEmpty(saveFilename)) - saveFilename = StringUtil.getDateToString("yyyy-MM-dd_HHmm"); - - response.setContentType("application/vnd.ms-excel"); - response.setHeader("Content-Disposition", "attachment; filename=\"" + saveFilename + ".xlsx\""); - - os = response.getOutputStream(); - resultWorkbook.write(os); - - os.flush(); - os.close(); - is.close(); - } - catch (ParsePropertyException | IOException | org.apache.poi.openxml4j.exceptions.InvalidFormatException e) { - logger.error("MakeExcel Exception : {}", e.getMessage(), e); - } - finally { - if (os != null) - os = null; - if (is != null) - is = null; - } - } -} diff --git a/src/main/java/itn/com/cmm/util/ExcelUploadUtil.java b/src/main/java/itn/com/cmm/util/ExcelUploadUtil.java deleted file mode 100644 index 23aa4a4..0000000 --- a/src/main/java/itn/com/cmm/util/ExcelUploadUtil.java +++ /dev/null @@ -1,646 +0,0 @@ -package itn.com.cmm.util; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; - -import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.DateUtil; -import org.apache.poi.ss.usermodel.FormulaEvaluator; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Row.MissingCellPolicy; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.ss.usermodel.WorkbookFactory; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.util.MultiValueMap; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; - -import itn.com.cmm.service.EgovProperties; - -public class ExcelUploadUtil { - private static final Logger logger = LoggerFactory.getLogger(ExcelUploadUtil.class); - - /** - * 업로드 엑셀 읽기 - 파일 한 개만 지원
- * - 엑셀 파일의 첫 번째 레코드를 HasMap 키 이름으로 사용 - 엑셀 파일의 두 번째 레코드부터 데이터로 저장
- * @param request - * @param uploadFolder - * @return - * @throws Exception - */ - public static List> readExcel(MultipartHttpServletRequest request, String uploadFolder) throws Exception { - return readExcel(request, uploadFolder, null); - } - - /** - * 업로드 엑셀 읽기 - 파일 한 개만 지원, 첫 번째 시트만 처리

- * - 지정한 배열로 HashMap key name 적용
- * - 엑셀 파일의 첫 번째 레코드부터 데이터로 저장
- * @param request - * @param uploadFolder - * @param columnNames null일 경우 엑셀 첫 레코드를 컬럼 이름으로 사용 - * @return - * @throws Exception - */ - public static List> readExcel(MultipartHttpServletRequest request, String uploadFolder, String[] columnNames) throws Exception { - return readExcel(request, uploadFolder, columnNames, 1); - } - - /** - * 업로드 엑셀 읽기 - 파일 한 개만 지원, 첫 번째 시트만 처리

- * - * @param request - * @param uploadFolder : 서브 디렉토리 : 빈 값 =/uploadRoot/com/[yyyyMMdd]/, 값이 있으면=/uploadRoot/[uploadFolder] - * @param columnNames : HasMap key name : null일 경우 엑셀 첫 레코드를 컬럼 이름으로 사용 - * @param startRecord : 데이터를 가져올 시작 레코드 : 첫 레코드 = 1 - * @return - * @throws Exception - */ - public static List> readExcel(MultipartHttpServletRequest request, String uploadFolder, String[] columnNames, int startRecord) throws Exception { - - MultiValueMap files = request.getMultiFileMap(); - - //String sUploadPathProperty = "upload.path.physical." + EgovProperties.getProperty("globals.web.mode"); - String sUploadPathProperty = "/temp"; - String sSubDir = uploadFolder; - - if (StringUtil.isEmpty(sSubDir)) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM", Locale.getDefault()); - //sSubDir = EgovProperties.getProperty("upload.path.common") + "/" + sdf.format(new Date()) + "/"; - sSubDir = "/test"; - - } - //File uploadPath = new File(EgovProperties.getProperty(sUploadPathProperty), sSubDir); - - File uploadPath = new File("/usr", "temp"); - - if (!uploadPath.exists()) - uploadPath.mkdirs(); - - List> list = null; - - for (String param : files.keySet()) { - - List fileList = files.get(param); - - //MimeUtil mu = new MimeUtil(); - //boolean isExcel = mu.isEnableMimeTypes(fileList, "application/vnd.ms-excel", "application/vnd.openxmlformats"); - //if (!isExcel) - // throw new FileUploadException("지원되지 않는 형식의 파일입니다.\n엑셀 파일만 업로드할 수 있습니다."); - - if (fileList.size() > 0) { - MultipartFile file = fileList.get(0); - - File savedFile = new File(uploadPath, file.getOriginalFilename()); - file.transferTo(savedFile); - list = readExcel(savedFile, columnNames, startRecord); - String ddd = ""; - } - } - - return list; - } - - /** - * 업로드 엑셀 읽기 - 파일 한 개만 지원, 모든 시트 처리 - * @param request - * @param uploadFolder - * @param columnNames - * @param startRecord - * @return - * @throws Exception - */ - public static HashMap>> readExcelSheets(MultipartHttpServletRequest request, String uploadFolder, String[] columnNames, int startRecord) throws Exception { - MultiValueMap files = request.getMultiFileMap(); - - String sUploadPathProperty = "upload.path.physical." + EgovProperties.getProperty("globals.web.mode"); - String sSubDir = uploadFolder; - - if (StringUtil.isEmpty(sSubDir)) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM", Locale.getDefault()); - sSubDir = EgovProperties.getProperty("upload.path.common") + "/" + sdf.format(new Date()) + "/"; - } - File uploadPath = new File(EgovProperties.getProperty(sUploadPathProperty), sSubDir); - if (!uploadPath.exists()) - uploadPath.mkdirs(); - - HashMap>> list = null; - - for (String param : files.keySet()) { - List fileList = files.get(param); - //MimeUtil mu = new MimeUtil(); - //boolean isExcel = mu.isEnableMimeTypes(fileList, "application/vnd.ms-excel", "application/vnd.openxmlformats"); - //if (!isExcel) - // throw new FileUploadException("지원되지 않는 형식의 파일입니다.\n엑셀 파일만 업로드할 수 있습니다."); - if (fileList.size() > 0) { - MultipartFile file = fileList.get(0); - File savedFile = new File(uploadPath, file.getOriginalFilename()); - file.transferTo(savedFile); - list = readExcelSheets(savedFile, columnNames, startRecord); - } - } - - return list; - } - - /** - * 엑셀 파일 읽어오기 - Workbook 인터페이스 적용
- * - 첫 번째 시트만 처리
- * - 주의 : 숫자형 데이터는 기본적으로 double type으로 반환. 숫자형 데이터가 .0으로 끝날 경우 int로 변환하여 반환
- * - 키 이름 미지정 가능 : 엑셀 첫 레코드를 키 이름으로 사용
- * @param saveFile - * @param keyNm 리턴 hashmap에 부여될 키 이름. null일 경우 엑셀 첫 레코드를 키 이름으로 사용 - * @return - * @throws Exception - */ - private static List> readExcel(File saveFile, String[] keyNm) throws Exception { - return readExcel(saveFile, keyNm, 1); - } - - - /** - * 엑셀 파일 읽어오기 - Workbook 인터페이스 적용
- * - 첫 번째 시트만 처리
- * - 주의 : 숫자형 데이터는 기본적으로 double type으로 반환. 숫자형 데이터가 .0으로 끝날 경우 int로 변환하여 반환
- * - 키 이름 미지정 가능 : 엑셀 첫 레코드를 키 이름으로 사용
- * @param saveFile - * @param keyNm 리턴 hashmap에 부여될 키 이름. null일 경우 엑셀 첫 레코드를 키 이름으로 사용 - * @param startRecord 데이터를 가져올 시작 레코드 : 첫 레코드 = 1 - * @return - * @throws Exception - */ - private static List> readExcel(File saveFile, String[] keyNm, int startRecord) throws Exception { - Workbook wb = WorkbookFactory.create(saveFile); - wb.setMissingCellPolicy(MissingCellPolicy.CREATE_NULL_AS_BLANK); - FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator(); - - List> excelRows = new ArrayList>(); - - boolean hasKeyName = true; - if (keyNm == null) - hasKeyName = false; - - - try { - - //hashmap용 key이름이 없을 경우 엑셀 1st row를 key 이름으로 설정 - if (!hasKeyName && wb.getSheetAt(0).getLastRowNum() > 0) { - keyNm = new String[wb.getSheetAt(0).getRow(0).getLastCellNum()]; - for (int i = 0; i < wb.getSheetAt(0).getRow(0).getLastCellNum(); i++) - try { - keyNm[i] = wb.getSheetAt(0).getRow(0).getCell(i).getStringCellValue(); - } - catch (Exception e) { - keyNm[i] = ""; - } - } - - //int iRow = 0; - for (Row row : wb.getSheetAt(0)) { - //logger.debug(">>>>>>>>>>>>> excel row : {}", ++iRow); - if (!hasKeyName && row.getRowNum() == 0) - continue; - - if (startRecord > row.getRowNum() + 1) - continue; - - - HashMap excelCols = new HashMap(); - - //주의 : foreach를 사용할 경우 컬럼이 빈 값이면 해당 컬럼 자제가 없어짐 (컬럼 인덱스가 달라짐) - for (int i = 0; i < row.getLastCellNum(); i++) { - - //cell을 가져올 때 MissingCellPolicy.CREATE_NULL_AS_BLANK 옵션 사용 필수 : 빈 컬럼일 때도 빈 값을 가져옴. poi v3.16이상 지원 - Cell cell = row.getCell(i, MissingCellPolicy.CREATE_NULL_AS_BLANK); - String strVal = ""; - //logger.debug(">>>>> {}, {}, {}", cell.getColumnIndex(), keyNm[cell.getColumnIndex()], cell.getCellTypeEnum().equals(CellType.NUMERIC) ? cell.getNumericCellValue() : cell.getStringCellValue()); - switch (cell.getCellTypeEnum()) { - case NUMERIC: - if (DateUtil.isCellDateFormatted(cell)) { - java.util.Date dateValue = cell.getDateCellValue(); - SimpleDateFormat sdf = new SimpleDateFormat(EgovProperties.getProperty("common.date.type")); - strVal = sdf.format(dateValue); - } - else { - if (String.valueOf(cell.getNumericCellValue()).matches("[\\d]{1,}\\.0$")) - strVal = String.valueOf(Double.valueOf(cell.getNumericCellValue()).intValue()); - else - strVal = String.valueOf(cell.getNumericCellValue()); - } - break; - - case FORMULA: - strVal = evaluator.evaluate(cell).getStringValue(); // .getCellFormula(); - break; - - case BOOLEAN: - if (cell.getBooleanCellValue()) - strVal = "true"; - else - strVal = "false"; - break; - -// case Cell.CELL_TYPE_ERROR: -// break; -// - case _NONE: - case BLANK: - strVal = ""; - break; - - default: - strVal = cell.getStringCellValue(); - break; - } - - //issue : 컬럼 헤더 개수와 레코드 컬럼 개수가 맞지 않는 문제 발생 - if ((i + 1) <= keyNm.length) - excelCols.put(keyNm[cell.getColumnIndex()], strVal); - } - //logger.debug(">>>>>>>>>>>>> excelCols : {}", excelCols.toString()); - excelRows.add(excelCols); - } - //logger.debug(">>>>>>>>>> saveFile : {}", saveFile.getAbsolutePath()); - } - catch (Exception ex) { - logger.error(ex.getMessage(), ex); - throw ex; - } - finally { - wb.close(); - if (saveFile.exists()) - saveFile.delete(); - } - - return excelRows; - } - - - private static HashMap>> readExcelSheets(File saveFile, String[] keyNm, int startRecord) throws Exception { - HashMap>> excels = new HashMap<>(); - - Workbook wb = WorkbookFactory.create(saveFile); - wb.setMissingCellPolicy(MissingCellPolicy.CREATE_NULL_AS_BLANK); - FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator(); - - boolean hasKeyName = true; - if (keyNm == null) - hasKeyName = false; - - try { - //repeat sheet - for (int i = 0; i < wb.getNumberOfSheets(); i++) { - List> excelRows = new ArrayList>(); - - //키 이름이 없을 경우 엑셀 첫 레코드를 키 이름으로 사용 - if (!hasKeyName && wb.getSheetAt(i).getLastRowNum() > 0) { - keyNm = new String[wb.getSheetAt(i).getRow(0).getLastCellNum()]; - for (int j = 0; j < wb.getSheetAt(i).getRow(0).getLastCellNum(); j++) - try { - keyNm[j] = wb.getSheetAt(i).getRow(0).getCell(i).getStringCellValue(); - } - catch (Exception e) { - keyNm[j] = ""; - } - } - - for (Row row : wb.getSheetAt(i)) { - if (!hasKeyName && row.getRowNum() == 0) - continue; - - if (startRecord > row.getRowNum() + 1) - continue; - - HashMap excelCols = new HashMap(); - - //주의 : foreach를 사용할 경우 컬럼이 빈 값이면 해당 컬럼 자제가 없어짐 (컬럼 인덱스가 달라짐) - for (int k = 0; k < row.getLastCellNum(); k++) { - //cell을 가져올 때 MissingCellPolicy.CREATE_NULL_AS_BLANK 옵션 사용 필수 : 빈 컬럼일 때도 빈 값을 가져옴. poi v3.16이상 지원 - Cell cell = row.getCell(k, MissingCellPolicy.CREATE_NULL_AS_BLANK); - String strVal = ""; - //logger.debug(">>>>> {}, {}, {}", cell.getColumnIndex(), keyNm[cell.getColumnIndex()], cell.getCellTypeEnum().equals(CellType.NUMERIC) ? cell.getNumericCellValue() : cell.getStringCellValue()); - switch (cell.getCellTypeEnum()) { - case NUMERIC: - if (DateUtil.isCellDateFormatted(cell)) { - java.util.Date dateValue = cell.getDateCellValue(); - SimpleDateFormat sdf = new SimpleDateFormat(EgovProperties.getProperty("common.date.type")); - strVal = sdf.format(dateValue); - } - else { - if (String.valueOf(cell.getNumericCellValue()).matches("[\\d]{1,}\\.0$")) - strVal = String.valueOf(Double.valueOf(cell.getNumericCellValue()).intValue()); - else - strVal = String.valueOf(cell.getNumericCellValue()); - } - break; - - case FORMULA: - strVal = evaluator.evaluate(cell).getStringValue(); // .getCellFormula(); - break; - - case BOOLEAN: - if (cell.getBooleanCellValue()) - strVal = "true"; - else - strVal = "false"; - break; - - case ERROR: - case _NONE: - case BLANK: - strVal = ""; - break; - - default: - strVal = cell.getStringCellValue(); - break; - } - excelCols.put(keyNm[cell.getColumnIndex()], strVal); - } - excelRows.add(excelCols); - } - excels.put(wb.getSheetName(i), excelRows); - } - } - catch (Exception ex) { - logger.error(ex.getMessage(), ex); - throw ex; - } - finally { - wb.close(); - if (saveFile.exists()) - saveFile.delete(); - } - return excels; - } - - /** - * 업로드 엑셀이 확장자가 xlsx 일경우 - * - * @param savedFile - * @param keyNm - * @return - * @throws Exception - */ - @Deprecated - private static List> readExcelXlsx(File savedFile, String[] keyNm) throws Exception { - - XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(savedFile)); - - List> excelRows = new ArrayList>(); - - try { - - for (int i = 0; i < wb.getNumberOfSheets(); i++) { - for (Row row : wb.getSheetAt(i)) { - HashMap excelCols = new HashMap(); - int cellCnt = 0; - String strVal = ""; - for (Cell cell : row) { - switch (cell.getCellType()) { - case Cell.CELL_TYPE_STRING: - System.out.print(cell.getRichStringCellValue().getString()); - strVal = cell.getRichStringCellValue().getString(); - break; - case Cell.CELL_TYPE_NUMERIC: - if (DateUtil.isCellDateFormatted(cell)) { - java.util.Date dateValue = cell.getDateCellValue(); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - System.out.print(format.format(dateValue)); // 2009-05-29 - strVal = format.format(dateValue); - } else { - System.out.print(Double.valueOf(cell.getNumericCellValue()).intValue()); - strVal = Double.valueOf(cell.getNumericCellValue()).intValue() + ""; - } - break; - case Cell.CELL_TYPE_FORMULA: - System.out.print(cell.getCellFormula()); - strVal = cell.getCellFormula(); - break; - case Cell.CELL_TYPE_BOOLEAN: - System.out.print(cell.getBooleanCellValue()); - if (cell.getBooleanCellValue()) { - strVal = "true"; - } else { - strVal = "false"; - } - break; - case Cell.CELL_TYPE_ERROR: - System.out.print(cell.getErrorCellValue()); - break; - case Cell.CELL_TYPE_BLANK: - break; - default: - break; - } - excelCols.put(keyNm[cellCnt], strVal); - cellCnt++; - } - excelRows.add(excelCols); - } - } - } - catch (Exception ex) { - //ex.printStackTrace(); - throw ex; - } - - - return excelRows; - } - - /** - * 업로드 엑셀이 확장자가 xls 일경우 - * - * @param savedFile - * @param keyNm - * @return - * @throws IOException - */ - @Deprecated - private static List> readExcelXls(File savedFile, String[] keyNm) throws Exception { - - HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(savedFile)); - - List> excelDate = new ArrayList>(); - - try { - for (int i = 0; i < wb.getNumberOfSheets(); i++) { - for (Row row : wb.getSheetAt(i)) { - - HashMap dateMap = new HashMap(); - int cellCnt = 0; - String strVal = ""; - - for (Cell cell : row) { - switch (cell.getCellType()) { - case Cell.CELL_TYPE_STRING: - System.out.print(cell.getRichStringCellValue().getString()); - strVal = cell.getRichStringCellValue().getString(); - break; - case Cell.CELL_TYPE_NUMERIC: - if (DateUtil.isCellDateFormatted(cell)) { - java.util.Date dateValue = cell.getDateCellValue(); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - System.out.print(format.format(dateValue)); // 2009-05-29 - strVal = format.format(dateValue); - } else { - System.out.print(Double.valueOf(cell.getNumericCellValue()).intValue()); - strVal = Double.valueOf(cell.getNumericCellValue()).intValue() + ""; - } - break; - case Cell.CELL_TYPE_FORMULA: - System.out.print(cell.getCellFormula()); - strVal = cell.getCellFormula(); - break; - case Cell.CELL_TYPE_BOOLEAN: - System.out.print(cell.getBooleanCellValue()); - if (cell.getBooleanCellValue()) { - strVal = "true"; - } else { - strVal = "false"; - } - break; - case Cell.CELL_TYPE_ERROR: - System.out.print(cell.getErrorCellValue()); - break; - case Cell.CELL_TYPE_BLANK: - break; - default: - break; - } - System.out.print("\t"); - - dateMap.put(keyNm[cellCnt], strVal); - cellCnt++; - } - excelDate.add(dateMap); - System.out.println(); - } - } - } catch (Exception ex) { - //ex.printStackTrace(); - throw ex; - } - - return excelDate; - } - - - private static List> readOnlyExcel(File saveFile, String[] keyNm, int startRecord) throws Exception { - Workbook wb = WorkbookFactory.create(saveFile); - wb.setMissingCellPolicy(MissingCellPolicy.CREATE_NULL_AS_BLANK); - FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator(); - - List> excelRows = new ArrayList>(); - - boolean hasKeyName = true; - if (keyNm == null) - hasKeyName = false; - - - try { - - //hashmap용 key이름이 없을 경우 엑셀 1st row를 key 이름으로 설정 - if (!hasKeyName && wb.getSheetAt(0).getLastRowNum() > 0) { - keyNm = new String[wb.getSheetAt(0).getRow(0).getLastCellNum()]; - for (int i = 0; i < wb.getSheetAt(0).getRow(0).getLastCellNum(); i++) - try { - keyNm[i] = wb.getSheetAt(0).getRow(0).getCell(i).getStringCellValue(); - } - catch (Exception e) { - keyNm[i] = ""; - } - } - - //int iRow = 0; - for (Row row : wb.getSheetAt(0)) { - //logger.debug(">>>>>>>>>>>>> excel row : {}", ++iRow); - if (!hasKeyName && row.getRowNum() == 0) - continue; - - if (startRecord > row.getRowNum() + 1) - continue; - - - HashMap excelCols = new HashMap(); - - //주의 : foreach를 사용할 경우 컬럼이 빈 값이면 해당 컬럼 자제가 없어짐 (컬럼 인덱스가 달라짐) - for (int i = 0; i < row.getLastCellNum(); i++) { - - //cell을 가져올 때 MissingCellPolicy.CREATE_NULL_AS_BLANK 옵션 사용 필수 : 빈 컬럼일 때도 빈 값을 가져옴. poi v3.16이상 지원 - Cell cell = row.getCell(i, MissingCellPolicy.CREATE_NULL_AS_BLANK); - String strVal = ""; - //logger.debug(">>>>> {}, {}, {}", cell.getColumnIndex(), keyNm[cell.getColumnIndex()], cell.getCellTypeEnum().equals(CellType.NUMERIC) ? cell.getNumericCellValue() : cell.getStringCellValue()); - switch (cell.getCellTypeEnum()) { - case NUMERIC: - if (DateUtil.isCellDateFormatted(cell)) { - java.util.Date dateValue = cell.getDateCellValue(); - SimpleDateFormat sdf = new SimpleDateFormat(EgovProperties.getProperty("common.date.type")); - strVal = sdf.format(dateValue); - } - else { - if (String.valueOf(cell.getNumericCellValue()).matches("[\\d]{1,}\\.0$")) - strVal = String.valueOf(Double.valueOf(cell.getNumericCellValue()).intValue()); - else - strVal = String.valueOf(cell.getNumericCellValue()); - } - break; - - case FORMULA: - strVal = evaluator.evaluate(cell).getStringValue(); // .getCellFormula(); - break; - - case BOOLEAN: - if (cell.getBooleanCellValue()) - strVal = "true"; - else - strVal = "false"; - break; - -// case Cell.CELL_TYPE_ERROR: -// break; -// - case _NONE: - case BLANK: - strVal = ""; - break; - - default: - strVal = cell.getStringCellValue(); - break; - } - - //issue : 컬럼 헤더 개수와 레코드 컬럼 개수가 맞지 않는 문제 발생 - if ((i + 1) <= keyNm.length) - excelCols.put(keyNm[cell.getColumnIndex()], strVal); - } - //logger.debug(">>>>>>>>>>>>> excelCols : {}", excelCols.toString()); - excelRows.add(excelCols); - } - //logger.debug(">>>>>>>>>> saveFile : {}", saveFile.getAbsolutePath()); - } - catch (Exception ex) { - logger.error(ex.getMessage(), ex); - throw ex; - } - finally { - wb.close(); - if (saveFile.exists()) - saveFile.delete(); - } - - return excelRows; - } - -} diff --git a/src/main/java/itn/com/cmm/util/Order.java b/src/main/java/itn/com/cmm/util/Order.java deleted file mode 100644 index c6004bd..0000000 --- a/src/main/java/itn/com/cmm/util/Order.java +++ /dev/null @@ -1,60 +0,0 @@ -package itn.com.cmm.util; - - -/** - * 프로그램 파일명 : Order.java - * - * 프로그램 설명 : 쿼리에서 정렬방법을 정의하는 클래스 - * - * 작 성 자 : jeong hoon hee - * - * 작 성 일 : 2013. 6. 7. - * - * Copyright(c) 2013 DAEYOON Co. Ltd. All rights reserved. - */ -public class Order { - - private String columnName; - private String orderType; - - public Order() { - super(); - // TODO Auto-generated constructor stub - } - - public Order(String columnName, String orderType) { - super(); - this.columnName = columnName; - this.orderType = orderType; - } - - public static Order asc(String columnName) { - Order order = new Order(); - order.setColumnName(columnName); - order.setOrderType("ASC"); - return order; - } - - public static Order desc(String columnName) { - Order order = new Order(); - order.setColumnName(columnName); - order.setOrderType("DESC"); - return order; - } - - public String getColumnName() { - return columnName; - } - - public void setColumnName(String columnName) { - this.columnName = columnName; - } - - public String getOrderType() { - return orderType; - } - - public void setOrderType(String orderType) { - this.orderType = orderType; - } -} diff --git a/src/main/java/itn/com/cmm/util/OsProcessCheckUtil.java b/src/main/java/itn/com/cmm/util/OsProcessCheckUtil.java deleted file mode 100644 index b1b2c42..0000000 --- a/src/main/java/itn/com/cmm/util/OsProcessCheckUtil.java +++ /dev/null @@ -1,94 +0,0 @@ -package itn.com.cmm.util; - -import java.io.BufferedReader; -import java.io.InputStreamReader; - -public class OsProcessCheckUtil { - - /** - * 운영체제의 특정 프로세스 실행여부 확인하는 유틸 - * - * */ - - public static String WindowProcessCheck(String processNm) throws Exception{ - - String line =""; - String pId=""; - - try { - - Process p = Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"tasklist.exe"); - BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); - while ((line = input.readLine()) != null) { - System.out.println(line); //<-- Parse data here. - String [] words = line.split(" "); - String [] procInfo = new String[10]; - if (words[0].contains(processNm)){ - //System.out.println(line); - int nCnt = 0; - for(String item : words){ - if (item.equals("")) - continue; - System.out.print(item + " "); - procInfo[nCnt] = item; - nCnt++; - } - - System.out.println("Process Name : "+ procInfo[0]); - System.out.println("Process ID : "+ procInfo[1]); - System.out.println("Memory Usage : "+ procInfo[4]); - pId = procInfo[1]; - } - } - input.close(); - } catch (Exception err) { - err.printStackTrace(); - } - - return pId; - } - - public static String LinuxProcessCheck(String processNm) throws Exception{ - - String line =""; - String pId=""; - - try { - - System.out.println("++++++++++++++++processNm++++++++++++++++++++++++"+processNm); - String[] cmd = {"ps -ef | grep EnDeServer"}; - Process p = Runtime.getRuntime().exec(cmd); - System.out.println("+++++++++++++++++++++++ppppppppppppppppppp++++++++++++++++++++++++++++++"+p); - - BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); - System.out.println("++++++++++++++++++++++++while Start++++++++++++++++++++++++++++++++++"); - System.out.println("+++++++++++++++input.readLine()+++++++++++++++++" + input.readLine()); - while ((line = input.readLine()) != null) { - System.out.println(line); //<-- Parse data here. - String [] words = line.split(" "); - String [] procInfo = new String[10]; - if (words[0].contains(processNm)){ - System.out.println("+++++++++++line++++++++++++++++++++++"+line); - int nCnt = 0; - for(String item : words){ - if (item.equals("")) - continue; - System.out.print(item + " "); - procInfo[nCnt] = item; - nCnt++; - } - - System.out.println("Process Name : "+ procInfo[0]); - System.out.println("Process ID : "+ procInfo[1]); - System.out.println("Memory Usage : "+ procInfo[4]); - pId = procInfo[1]; - } - } - input.close(); - } catch (Exception err) { - err.printStackTrace(); - } - - return pId; - } -} diff --git a/src/main/java/itn/com/cmm/util/RedirectUrlMaker.java b/src/main/java/itn/com/cmm/util/RedirectUrlMaker.java index 9786655..9b726f7 100644 --- a/src/main/java/itn/com/cmm/util/RedirectUrlMaker.java +++ b/src/main/java/itn/com/cmm/util/RedirectUrlMaker.java @@ -27,27 +27,11 @@ public class RedirectUrlMaker { */ private String requestMappingUrl; - /** - * 검색파라미터객체 - */ - private Criteria criteria; - /** * 추가파라미터맵 */ private Map paramMap = null; - /** - * 생성자1 - * - * @param requestMappingUrl : 요청매핑URL (예: "/board/list.do") - * @param criteria : 검색파라미터객체 - */ - public RedirectUrlMaker(String requestMappingUrl, Criteria criteria) { - this.requestMappingUrl = requestMappingUrl; - this.criteria = criteria; - } - /** * 생성자2 * @param requestMappingUrl @@ -98,15 +82,6 @@ public class RedirectUrlMaker { redirectUrl.append(this.requestMappingUrl); - if (this.criteria != null) { - if (redirectUrl.toString().indexOf("?") == -1) { - redirectUrl.append("?"); - } else { - redirectUrl.append("&"); - } - redirectUrl.append(this.criteria.getParams()); - } - if (this.paramMap != null) { if (this.paramMap.size() > 0) { Set set = this.paramMap.keySet(); diff --git a/src/main/java/itn/com/cmm/util/TokenUtil.java b/src/main/java/itn/com/cmm/util/TokenUtil.java deleted file mode 100644 index 1c3fb63..0000000 --- a/src/main/java/itn/com/cmm/util/TokenUtil.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2008-2009 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package itn.com.cmm.util; - -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; - -import org.apache.log4j.Logger; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; -import org.springframework.web.multipart.MultipartHttpServletRequest; - -import egovframework.rte.fdl.idgnr.impl.Base64; - -public class TokenUtil { - - private static final String TOKEN_KEY = "TOKEN_KEY"; - private static final Logger logger = Logger.getLogger(TokenUtil.class.getName()); - - /** - * 로직처리를 위해 세션과 request에 Token 생성 - * - * @param request - */ - public static void saveToken(HttpServletRequest request) { - HttpSession session = request.getSession(true); - long systemTime = System.currentTimeMillis(); - byte[] time = new Long(systemTime).toString().getBytes(); - byte[] id = session.getId().getBytes(); - - try { - MessageDigest SHA = MessageDigest.getInstance("SHA-256"); - SHA.update(id); - SHA.update(time); - - String token = Base64.encode(SHA.digest()); - request.setAttribute(TOKEN_KEY, token); - session.setAttribute(TOKEN_KEY, token); - - logger.error("#########################################################################"); - logger.error("# Generate Token Key Value = " + token + " #"); - logger.error("#########################################################################"); - - } catch (NoSuchAlgorithmException e) { - System.out.println("토큰에러"); - } - } - - /** - * 로직처리 이후 중복방지를 위해 세션의 Token 초기화 - * - * @param request - */ - public static void resetToken(HttpServletRequest request) { - HttpSession session = request.getSession(true); - - try { - session.removeAttribute(TOKEN_KEY); - } catch (Exception e) { - System.out.println("토큰에러"); - } - } - - /** - * 세션과 request의 Token이 동일한지 비교 - * - * @param request - * @return - */ - public static boolean isTokenValid(HttpServletRequest request) { - HttpSession session = request.getSession(true); - String requestToken = request.getParameter(TOKEN_KEY); - String sessionToken = (String) session.getAttribute(TOKEN_KEY); - - if (requestToken == null || sessionToken == null) { - logger.error("# null #"); - return false; - } else { - logger.error("# notnull #"); - return requestToken.equals(sessionToken); - } - } - -} \ No newline at end of file diff --git a/src/main/java/itn/com/cmm/web/EgovBindingInitializer.java b/src/main/java/itn/com/cmm/web/EgovBindingInitializer.java deleted file mode 100644 index 82598bc..0000000 --- a/src/main/java/itn/com/cmm/web/EgovBindingInitializer.java +++ /dev/null @@ -1,22 +0,0 @@ -package itn.com.cmm.web; - -import java.text.SimpleDateFormat; -import java.util.Date; - -import org.springframework.beans.propertyeditors.CustomDateEditor; -import org.springframework.beans.propertyeditors.StringTrimmerEditor; -import org.springframework.web.bind.WebDataBinder; -import org.springframework.web.bind.support.WebBindingInitializer; -import org.springframework.web.context.request.WebRequest; - -public class EgovBindingInitializer implements WebBindingInitializer { - - @Override - public void initBinder(WebDataBinder binder, WebRequest request) { - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); - dateFormat.setLenient(false); - binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false)); - binder.registerCustomEditor(String.class, new StringTrimmerEditor(false)); - } - -} diff --git a/src/main/java/itn/com/sym/log/ulg/web/EgovUserLogController.java b/src/main/java/itn/com/sym/log/ulg/web/EgovUserLogController.java index accb108..e7af5b8 100644 --- a/src/main/java/itn/com/sym/log/ulg/web/EgovUserLogController.java +++ b/src/main/java/itn/com/sym/log/ulg/web/EgovUserLogController.java @@ -1,28 +1,19 @@ package itn.com.sym.log.ulg.web; -import java.util.HashMap; - -import egovframework.rte.fdl.property.EgovPropertyService; -import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; -import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; -import itn.com.cmm.LoginVO; -import itn.com.sym.log.ulg.service.EgovUserLogService; -import itn.com.sym.log.ulg.service.UserLog; -import itn.let.sym.log.clg.service.EgovLoginLogService; -import itn.let.sym.log.clg.service.LoginLog; -import itn.let.utl.sim.service.EgovClntInfo; - import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; -import org.springframework.util.ObjectUtils; -import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView; +import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; +import itn.com.cmm.LoginVO; +import itn.let.sym.log.clg.service.EgovLoginLogService; +import itn.let.sym.log.clg.service.LoginLog; +import itn.let.utl.sim.service.EgovClntInfo; + /** * @Class Name : EgovUserLogController.java * @Description : 사용로그정보를 관리하기 위한 컨트롤러 클래스 @@ -44,81 +35,10 @@ import org.springframework.web.servlet.ModelAndView; @Controller public class EgovUserLogController { - - @Resource(name="EgovUserLogService") - private EgovUserLogService userLogService; - - @Resource(name="propertiesService") - protected EgovPropertyService propertyService; @Resource(name = "EgovLoginLogService") private EgovLoginLogService loginLogService; - - /** - * 사용자 로그 목록 조회 - * - * @param UserLog - * @return sym/log/ulg/EgovUserLogList - * @throws Exception - */ - @RequestMapping(value="/sym/log/ulg/SelectUserLogList.do") - public String selectUserLogInf(@ModelAttribute("searchVO") UserLog userLog, - ModelMap model) throws Exception{ - - /** EgovPropertyService.sample */ - userLog.setPageUnit(propertyService.getInt("pageUnit")); - userLog.setPageSize(propertyService.getInt("pageSize")); - - /** pageing */ - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(userLog.getPageIndex()); - paginationInfo.setRecordCountPerPage(userLog.getPageUnit()); - paginationInfo.setPageSize(userLog.getPageSize()); - - userLog.setFirstIndex(paginationInfo.getFirstRecordIndex()); - userLog.setLastIndex(paginationInfo.getLastRecordIndex()); - userLog.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - - HashMap _map = (HashMap)userLogService.selectUserLogInf(userLog); - int totCnt = Integer.parseInt((String)_map.get("resultCnt")); - - model.addAttribute("resultList", _map.get("resultList")); - model.addAttribute("resultCnt", _map.get("resultCnt")); - - paginationInfo.setTotalRecordCount(totCnt); - model.addAttribute("paginationInfo", paginationInfo); - - return "egovframework/com/sym/log/ulg/EgovUserLogList"; - } - - /** - * 사용자 로그 상세 조회 - * - * @param userLog - * @param model - * @return sym/log/ulg/EgovUserLogInqire구리더샵그린포레 - * @throws Exception - */ - @RequestMapping(value="/sym/log/ulg/SelectUserLogDetail.do") - public String selectUserLog(@ModelAttribute("searchVO") UserLog userLog, - @RequestParam("occrrncDe") String occrrncDe, - @RequestParam("rqesterId") String rqesterId, - @RequestParam("srvcNm") String srvcNm, - @RequestParam("methodNm") String methodNm, - ModelMap model) throws Exception{ - - userLog.setOccrrncDe(occrrncDe.trim()); - userLog.setRqesterId(rqesterId.trim()); - userLog.setSrvcNm(srvcNm.trim()); - userLog.setMethodNm(methodNm.trim()); - - UserLog vo = userLogService.selectUserLog(userLog); - model.addAttribute("result", vo); - return "egovframework/com/sym/log/ulg/EgovUserLogDetail"; - } - - /** * 사용자 로그 상세 조회 * diff --git a/src/main/java/itn/com/usr/search/web/SearchTotalController.java b/src/main/java/itn/com/usr/search/web/SearchTotalController.java deleted file mode 100644 index 1637cc2..0000000 --- a/src/main/java/itn/com/usr/search/web/SearchTotalController.java +++ /dev/null @@ -1,85 +0,0 @@ -package itn.com.usr.search.web; - -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.servlet.mvc.support.RedirectAttributes; -import org.springmodules.validation.commons.DefaultBeanValidator; - -import egovframework.rte.fdl.property.EgovPropertyService; -import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; -import egovframework.rte.psl.dataaccess.util.EgovMap; -import itn.com.cmm.ComDefaultCodeVO; -import itn.com.cmm.EgovMessageSource; -import itn.com.cmm.LoginVO; -import itn.com.cmm.service.EgovCmmUseService; -import itn.com.cmm.util.RedirectUrlMaker; -import itn.com.uss.ion.cyb.service.CyberAlertManageService; -import itn.com.uss.ion.cyb.service.CyberAlertManageVO; - -/** - * 개요 - * - 팝업창에 대한 Controller를 정의한다. - * - * 상세내용 - * - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다. - * - 팝업창의 조회기능은 목록조회, 상세조회로, 사용자 화면 보기로 구분된다. - * @author 이창원 - * @version 1.0 - * @created 05-8-2009 오후 2:19:57 - *

-  * << 개정이력(Modification Information) >>
-  *
-  *   수정일      수정자           수정내용
-  *  -------    --------    ---------------------------
-  *   2009.8.05  이창원          최초 생성
-  *    2011.8.26	정진오			IncludedInfo annotation 추가
-  *
-  * 
- */ - -@Controller -public class SearchTotalController { - - private static final Logger LOGGER = LoggerFactory.getLogger(SearchTotalController.class); - - @Autowired - private DefaultBeanValidator beanValidator; - - /** cmmUseService */ - @Resource(name = "EgovCmmUseService") - private EgovCmmUseService cmmUseService; - /** EgovMessageSource */ - @Resource(name = "egovMessageSource") - EgovMessageSource egovMessageSource; - - /** EgovPropertyService */ - @Resource(name = "propertiesService") - protected EgovPropertyService propertiesService; - - /** cyberAlertManageService */ - @Resource(name = "cyberAlertManageService") - private CyberAlertManageService cyberAlertManageService; - - /** - * 토탈 검색 예제 페이지 - * @param popupManageVO - * @param model - * @return "web/search/totalResearch" - * @throws Exception - */ - @RequestMapping(value = "/usr/search/totalSearch.do") - public String totalResearch(@RequestParam Map commandMap, RedirectAttributes redirectAttributes, ModelMap model) throws Exception { - return "web/search/totalSearch"; - } - -} \ No newline at end of file diff --git a/src/main/java/itn/let/mjo/test/web/TestController.java b/src/main/java/itn/let/mjo/test/web/TestController.java index a0c0b42..91df857 100644 --- a/src/main/java/itn/let/mjo/test/web/TestController.java +++ b/src/main/java/itn/let/mjo/test/web/TestController.java @@ -8,6 +8,11 @@ import java.math.RoundingMode; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.ArrayList; @@ -3500,6 +3505,5 @@ public class TestController { return ResponseEntity.ok().body(new StatusResponse(HttpStatus.OK, "테스트", "")); } - } diff --git a/src/main/java/itn/let/utl/sim/service/EgovClntInfo.java b/src/main/java/itn/let/utl/sim/service/EgovClntInfo.java index c08fe02..845064a 100644 --- a/src/main/java/itn/let/utl/sim/service/EgovClntInfo.java +++ b/src/main/java/itn/let/utl/sim/service/EgovClntInfo.java @@ -2,8 +2,6 @@ package itn.let.utl.sim.service; import javax.servlet.http.HttpServletRequest; -import itn.com.cmm.util.IpUtil; - //import itn.com.cmm.service.EgovProperties; /** * 클라이언트(Client)의 IP주소, OS정보, 웹브라우저정보를 조회하는 Business Interface class @@ -57,7 +55,6 @@ public class EgovClntInfo { // IP주소 //String ipAddr = request.getRemoteAddr(); -// String ipAddr = IpUtil.getClientIP(request) ; // IP주소 //String ipAddr = request.getRemoteAddr(); diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp index 49cb071..a287f73 100644 --- a/src/main/webapp/index.jsp +++ b/src/main/webapp/index.jsp @@ -8,438 +8,12 @@ 문자온 인터넷 웹문자 단체문자 대량문자발송 사이트 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - -