반응형 Programing/JAVA112 JDBC, DBCP란? 웹 어플리케이션의 DB접속에 대한 고찰 JDBC, DBCP란? 웹 어플리케이션의 DB접속에 대한 고찰 자바 웹 어플리케이션에서 DB 접속과 관련된 라이브러리가 JDBC, DBCP 입니다. JDBC는 Java DataBase Connectivity 의 약자로 자바에서 데이터베이스에 연결하기 위한 인터페이스죠. Oracle, MySQL, MsSQL 등 데이터 베이스는 JDBC를 사용하기 위한 각각의 Driver를 제공합니다. JDBC는 이 Driver를 통해 DB에 접속을 합니다. 그럼 JDBC만 있으면 DB접속이 되는데 DBCP는 왜 쓰지? 라는 궁금증이 생기실 겁니다. 답은 '효율' 입니다. 효율적인 DB 커넥션을 위해 DBCP를 사용하는 것이죠. 그럼 DBCP가 뭔지 알아보겠습니다. DBCP는 DataBase Connection Pool 의.. Programing/JAVA 2018. 7. 2. Java boxing, unboxing 자바 박싱 언박싱 Wrapper Class 확실히 이해하기 Java boxing, unboxing 자바 박싱 언박싱 Wrapper Class 확실히 이해하기 이번 포스팅에서는 자바의 박싱과 언박싱에 대해 알아보겠습니다. 개발을 할때 자주 사용하지만, 박싱이 뭔지, 언박싱이 뭔지 용어를 모르는 경우가 있습니다. 이번 기회에 제대로 알고 넘어가도록 하죠. 우선 자바의 박싱과 언박싱에 대해 설명하기 위해서는 래퍼 클래스(Wrapper Class)에 대해 알아야 합니다. 래퍼 클래스가 무엇이냐.. 자바에서 수치나 논리값은 객체가 아니라 기본형으로 처리됩니다. 하지만 컬렉션 클래스에서는 기본형을 사용할 수 없죠. 예를 들어, List list = new ArrayList(); 이런 코드를 보신적은 없으실 겁니다. 이유는 컬렉션 클래스는 객체만 저장 할 수 있기 때문이죠... Programing/JAVA 2018. 6. 12. Java 8 Stream 을 사용해보자. About Stream in collection of java8 Java 8 Stream 을 사용해보자. About Stream in collection of java8 Java 8 버전 부터 컬렉션 프레임워크에 Stream 인터페이가 추가되었습니다. 이를 사용해 컬렉션 데이터의 변환, 필터링, 집계등의 처리를 간결하게 기술할 수 있게 되었습니다. 그리고 컬렉션 조작의 병렬화를 통해 처리를 쉽고 빠르게도 할 수 있습니다. 그럼 스트림을 생성하는 방법에 대해 알아보도록 하죠. Collection 의 스트림을 얻는 경우 stream 메소드를 사용하여 스트림을 얻을 수 있습니다. Integer[] intArray = {1,2,3,4,5,6,7,8,9}; List list = Arrays.asList(intArray); Stream stList = list.stream();.. Programing/JAVA 2018. 5. 23. Java List<VO> to JsonArray, String, StringBuilder, StringBuffer Java List to JsonArray, String, StringBuilder, StringBuffer 타 업체 API를 걷어내고 새로 구축한 DB 베이스의 API를 개발하는 업무를 맡았을 때의 코드를 리펙토링 하는 도중 이상한 코드가 발견되어 수정하였습니다. List rows = null; JSONArray jarry = new JSONArray(); try{ rows = apiService.getRouteVtx(id); for(int i=0; i StringBuffer >>> String 물론 저런 코드 한 두개가 당장 문제를 발생시키는건 아닙니다. 저런 코딩 습관이 문제가 되는 것이죠.. for문을 제거하고 Gson 을 사용해 코드를 수정하였습니다. List rows = null; Gson gs.. Programing/JAVA 2018. 5. 3. 알기쉽게 정리한 JAVA의 컴파일과정 및 JVM 메모리 구조, JVM GC 알기쉽게 정리한 JAVA의 컴파일과정 및 JVM 메모리 구조, JVM GC 자바 개발자들이 간과 하기 쉬운 JAVA의 메모리 구조에 대해 포스팅 해보려고 합니다. 이와 관련하여 JAVA의 컴파일 과정과 Garbage Collector(GC)에 대해서도 알아보도록 하겠습니다. 우선 자바가 OS에 독립적이라는 사실은 알고 계실 겁니다. 그 이유는 JVM(Java Virtual Machine)이 OS와 프로그램의 사이에서 기계어로 해석해주는 역할을 하기 때문입니다. 어떠한 OS든 Java가 설치 되어 있다면 JVM에 의해서 .java 코드가 기계어로 해석될 수 있습니다. 그럼 그 과정에 대해서 자세히 알아보도록 하죠. 우선 자바 개발자들이 Eclipse나 기타 개발툴을 사용해 .java 파일을 생성합니다. 그.. Programing/JAVA 2018. 5. 2. Java 오라클, 티베로, Mysql(MariaDB), Mssql 연동 Java Oracle, Tibero, Mysql(MariaDB), Mssql DB 연동 database 관련 spring 세팅은 아래의 Link를 참고하세요. (contetn-datasource.xml 에 properties추가방법) Link : 전자정부프레임워크 나만의 웹 템플릿 프로젝트 생성하기(4-3) - context-datasource.xml [database.properties] #MYSQL #driver=com.mysql.jdbc.Driver #url=jdbc:mysql://ip:port/sid #ORACLE #driver=oracle.jdbc.driver.OracleDriver #url=jdbc:oracle:thin:@ip:port/sid #MSSQL 세미콜론에 주의 #driver=com... Programing/JAVA 2018. 4. 6. ORA-28040: 일치하는 인증 프로토콜 없음, No matching authentication protocol 해결방법 ORA-28040: 일치하는 인증 프로토콜 없음, No matching authentication protocol 해결방법 ※ 발생원인 ojdbc14.jar 를 사용하는데, Oracle 11g 에서 Oracle 12c 로 업데이트 하였을 경우 버젼 차이에 의한 에러 발생 ※ 해결방법 ojdbc 를 ojdbc5 이상으로 변경하거나 오라클에 최소 허용 로그인 버젼 파라메터를 추가 ※ 후자의 처리방법 아무런 파라메터가 없을 경우 12c 버젼 이하에서는 접속 불가. 12c 이전 버전에서는 SQLNET.ALLOWED_LOGON_VERSION=10 과 같이 최소 로그인 버젼을 설정할 수 있지만 12c 부터는 SQLNET.ALLOWED_LOGON_VERSION_SERVER SQLNET.ALLOWED_LOGON_VER.. Programing/JAVA 2018. 2. 22. Java Spring FTP 파일 다운로드 FTP file download Java Spring FTP 파일 다운로드 FTP file download 이전 포스팅들에서 파일을 선택하여 FTP 업로드 하는 방법에 대해 알아보았습니다. 해당 내용은 아래의 Link를 참고하세요. Link : javascript spring 멀티파일선택 업로드 ajaxForm multipart/form-data MultipartHttpServletRequest Link : JAVA 임시 파일 생성, FTP 파일 업로드 일반 다운로드는 아래의 Link를 참고하세요. Link : 자바 파일 다운로드 소스, 한글인코딩, 브라우져 문제 해결 이제 이렇게 업로드 한 파일을 다운로드 하는 방법에 대해서 알아보도록 하겠습니다. 파일 다운로드는 업로드가 됐다는 가정하에, FTP 접속에 필요한 설정은 생략하고 진행하.. Programing/JAVA 2018. 2. 7. java c 와 tcp 통신시 주의점. signed unsigned byte양수표현 음수양수변환 java c 와 tcp 통신시 주의점. signed unsigned byte양수표현 음수양수변환 java는 c 와 tcp 통신시 주의점이 있습니다. 기본형의 최소단위 차이인데요. c에는 bit 이 최소 단위이지만, java 는 byte가 최소 단위 입니다. 8 bit 가 1byte 가 되죠. 근데 뭐가 문제냐. 바로 자료형의 범위 입니다. 자바는 unsigned 키워드가 없기 때문에 -128 ~ 127 까지의 범위를 갖습니다. (signed : 부호가 있는) 하지만 unsinged 키워드가 있는 c 는 0 ~ 255 까지의 범위를 갖죠. 그래서 127이 넘는 byte 는 음수로 표현이 되게 됩니다. 211을 byte로 변형하면 1101 0011 이 됩니다. 여기서 맨앞 비트가 1이기 자바에서는 때문에 음.. Programing/JAVA 2018. 2. 6. Oracle 오라클 myBatis BLOB 파일 저장, 불러오는 방법 이미지 미리보기 Oracle 오라클 BLOB myBatis 파일 저장, 불러오는 방법 이미지 미리보기 multipart/form-data 로 받은 MultipartHttpServletRequest 로 받아 오라클 BLOB 컬럼에 저장하는 방법을 알아보겠습니다. 멀티로 파일을 받는 방법은 아래의 Link를 참고하세요. Link : javascript spring 멀티파일선택 업로드 ajaxForm multipart/form-data MultipartHttpServletRequest 1 2 3 4 5 6 7 @RequestMapping(value="/uploadContent.do", method = RequestMethod.POST, produces="text/plain;Charset=UTF-8") @ResponseBody.. Programing/JAVA 2018. 2. 2. javascript spring 멀티파일선택 업로드 ajaxForm multipart/form-data MultipartHttpServletRequest javascript spring 멀티파일선택 업로드 ajaxForm multipart/form-data MultipartHttpServletRequest 이번 포스팅은 웹에서 멀티로 파일을 선택해 저장하는 방법을 알아보도록 하겠습니다. 멀티업로드를 위해서는 1. html file 태그에 multiple옵션 추가 및 name을 배열 형태로 설정 2. ajaxForm 으로 form 을 servlet으로 전달, form에는 enctype="multipart/form-data" method="post" 옵션 추가 3. Spring multipartResolver 설정 4. maven 사용 시 commons-fileupload, commons-io 의존성 추가 가 필요합니다. 우선 HTML 에서 멀티로 파일을 선.. Programing/JAVA 2018. 2. 2. java html 태그 변환 치환 StringEscapeUtils " & < > 등 java html 태그 변환 치환 StringEscapeUtils " & 등 html 태그를 String 으로 변환하여 자바 서블릿으로 보내게 되면 이상한 문자 표현으로 치환되어 보여진다. ex) 예를들어 위와같이 스마트에디터로 작성한 후 서블릿으로 전달하게 되면, 아래와 같이 치환되어 전달된다. html 태그 replace를 써서 이를 각각 html 태그로 변환해 주어도 되지만, 아파치에서 제공하는 StringEscapeUtils 클래스를 사용하면 보다 쉽게 html 태그로 치환 할 수 있다. import org.apache.commons.lang3.StringEscapeUtils; 해당 클래스를 impo.. Programing/JAVA 2018. 1. 22. JAVA 임시 파일 생성, FTP 파일 업로드 JAVA 임시 파일 생성, FTP 파일 업로드 [테스트 환경] 알FTP Spring 4.0 구현하려고 하는 것은 String 값을 입력 받아서 txt 파일을 만들어 업로드 하는 것 입니다. 입력받은 String 값을 임시로 만든 txt에 write 하고 그 파일을 업로드 하는 방식으로 구현 하였습니다. 그럼 방법을 알아보도록 하죠. FTP 파일 업로드를 구현하기 위해서는 commons-net 의 의존성을 주입해주어야 합니다. pom.xml에 아래의 dependency를 추가해 줍니다. commons-net commons-net 3.3 아래는 ftp를 연결해 파일을 업로드 하는 코드 입니다. 파일 객체와 저장파일 명을 받아서 ftp에 연결 한 후 업로드 합니다. public class FtpClient {.. Programing/JAVA 2018. 1. 18. 자바 파일 다운로드 소스, 한글인코딩, 브라우져 문제 해결 자바 파일 다운로드 소스, 한글인코딩, 브라우져 문제 해결 [ jsp ] filename 을 get 방식으로 보낸다. $(document).ready(function(){ $('#fileDown').click(function(){ var filename = $('#fileName').val(); window.location.assign('${ctx}/infoCenter/download.do?fileName='+fileName); }); }); [ Java Controller ] 파일 경로 설정 (프로젝트 내에 있는 파일) - 서버 로컬에 있는 파일이라면 절대경로를 입력. @RequestMapping(value="/download.do", produces="text/plain;charset=UTF-8") .. Programing/JAVA 2017. 11. 20. JAVA COBR 파싱 CBOR이란 Concise Binary Object Representation java cbor 파싱 cbor이란 Concise Binary Object Representation 1. CBOR 이란? CBOR 이란 Concise Binary Object Representation 의 약자로 간결한 이진 객체의 형태 표현으로 보시면 됩니다. 쉽게 JSON, XML 과 같은 데이터 표현의 한 방법인 것이죠. 하지만 Binary 데이터 이기 때문에 다른 표현 방식보다 가벼운 것이 장점 입니다. 자세한 설명은 아래의 Link 를 참고하세요. Link : http://cbor.io/ 그럼 사용방법을 알아보도록 하죠. 테스트 스펙은 아래와 같습니다. [SPEC] 전자정부프레임워크 3.6 JAVA 8 Tomcat 7.0 우선 pom.xml 에 dependency를 추가 합니다. [pom.xm.. Programing/JAVA 2017. 11. 2. 이전 1 2 3 4 5 6 7 8 다음 💲 추천 글 반응형