본문 바로가기

java27

[스프링] Spring 프레임워크에서 @RequestBody 사용해서 vo를 따로 만들지 않고 Map으로 파라미터 값 자동 매핑(mapping)하기 Spring 프레임웍을 사용하면 보통 vo를 하나 만들어서 자동 매핑을 시킵니다.스프링 이전의 자바를 사용했던 분들이라면 이 자동매핑 기능이 정말 편리하거든요.그치만, 이 vo를 만드는 것도 귀찮아서 어떤 프로젝트에서는 vo를 만들지 않고 Map으로 모든 값들을 주고 받더라고요. 그렇다면,,,어떻게 vo를 만들지 않고 Map으로 값을 받을 수 있을까요?먼저, jsp 파일에서 자바스크립트, 정확하게는 jquery의 ajax로 값을 저장하는 부분을 구현한다고 해 보겠습니다. add.jsp123456789101112131415161718192021222324$.ajax({ type : 'POST', async : false, contentType: 'application/json', data : JSON.st.. 2018. 4. 27.
[Java] ajax로 java(Spring) 연동시 다음과 같은 에러 발생 해결방법 - Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported이런 오류가 나네요. 1234567891011121314151617181920212223242526272829303132333435363738org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.re.. 2018. 4. 27.
[java/jsp] 자바(또는 jsp)에서 따옴표(") 치환하는 방법 DB를 읽어서 js 파일로 만들어주는 메소드를 실행하다가따옴표(")는 js에서 에러가 발생하기 때문에 \"로 치환을 해주는 구문을 작성했습니다. 모든 따옴표를 치환하기 위해 replaceAll()이라는 함수를 사용하는데,value = value.replaceAll(""", "\""); 이렇게 사용하면 에러가 발생하기 때문에따옴표 앞에 역슬러시(\)를 넣어서 아래처럼 작성을 했습니다.value = value.replaceAll("\"", "\\\""); 하지만, 이렇게 작성하니 아예 따옴표를 찾지도 못하더군요.혹시나해서 이렇게 역슬러시를 더 붙여서 해봤습니다.value = value.replaceAll("\\\"", "\\\\\""); 이렇게하니 따옴표(")가 치환이 잘 됩니다. " => \"결과적으로, .. 2017. 3. 21.
[java] 자바에서 줄바꿈(\n) 개행문자 치환하는 방법 자바에서 줄바꿈은 \n\r로 표시가 되는데요.이걸 찾아서 공백으로 바꾸고 싶어서 이렇게 해 봤는데 잘 안되더라구요.1value = value.replaceAll("\n", " ");cs 그래서, 인터넷을 뒤져서 다음과 같이 해보니 잘 되더군요.System.getProperty("line.sepatator")가 줄바꿈 문자를 담고 있기 때문이죠.1value = value.replaceAll(System.getProperty("line.separator"), " ");cs 아래처럼 정규식 패턴을 이용해도 됩니다.\r\n 또는 \n\r 또는 \n 또는 \r을 찾아서 공백으로 치환하는 명령입니다.1value = value.replaceAll("(\r\n|\r|\n|\n\r)", " ");cs 2017. 2. 9.
[java] poi로 엑셀 파일의 값을 읽을 때 날짜가 지수로 표시되는 문제 해결하기 엑셀 파일을 업로드하여 값을 읽을 때 셀타입 때문에 고생하는 경우가 많지요. 특히, 날짜를 입력받으면 숫자로 인식해서 값이 크다고 판단하여 2.34234234E3 뭐 이런식으로 지수로 표현되는 경우가 있는데요.이런 경우를 막기 위해 입력된 값 그대로 읽는 방법입니다. switch(cell.getCellType()){ case XSSFCell.CELL_TYPE_FORMULA: value = cell.getCellFormula(); break; case XSSFCell.CELL_TYPE_NUMERIC: // 숫자일 경우, String형으로 변경하여 값을 읽는다. cell.setCellType( HSSFCell.CELL_TYPE_STRING ); value = cell.getStringCellValue(); .. 2016. 12. 22.
[java/jsp] js 파일 안에서 아무리 소스를 수정해도 브라우저에 바로바로 반영이 안된다면? 저도 이것 때문에 많이 헤맸습니다. 아무리해도 js 파일에서 소스를 고쳐도 화면에서 반영이 되어 보이질 않더라구요. html, jsp 파일은 오히려 바뀐 소스가 잘 반영되더라구요. html, jsp 파일 안에서 코딩한 자바스크립트 소스도 잘 반영됩니다.그런데, js 파일만은 반영이 안 되네요 ㅠ 2015/05/29 - [인터넷/컴퓨터/구글] - [구글] Google 크롬(chrome) 브라우저에서 캐시 무시하고 화면 불러오기 (강제 캐시 삭제 X)이 방법도 안 먹히더라구요 ㅠ 그런데, 정말 생각보다 간단한 방법이 있더라구요. System.currentTimeMillis() 자바의 현재시간을 표시해주는 내부함수를 이용하면 됩니다. 이런식으로 js 파일을 링크하는 곳에 붙여보세요. ?v= 소스보기를 하면 이.. 2016. 11. 11.
[jstl] Date형과 String형인 경우 jstl(fmt)로 날짜 포맷에 맞게 출력하는 방법 java에서 Date형과 String형으로 변수를 보내줄 경우 jstl에서 각각 처리하는 방법이 다른데요. 어떻게 하는지 알아보겠습니다. noticePostDate 이라는 변수에 Date형으로 값이 들어있을 때는 위와 같이 적어주면 됩니다. noticeDateStr라는 변수에 String형으로 '20161111' 이런식으로 값이 들어있들 때 위처럼 처리하면 됩니다. 즉, String형을 Date 형식으로 변환해서 noticeDate이라는 변수에 저장한 후, 다시 원하는 포맷에 맞게 바꿔주는 것이죠. java에서 String형이 아닌 Date형으로 값을 내려줘야 작업이 좀 더 편할 수 있겠죠? ${list.noticeTitle} 지금 하고 있는 프로젝트에서 jstl을 이용해서 날짜를 화면에 출력해 봤습니다.. 2016. 11. 11.
[java] json을 map으로, map을 json으로 변환하는 예제들 json을 map으로, map을 json으로 변환하는 예제들을 모아서 JsonUtil이라는 class를 만들어 봤습니다. 아래 소스를 그대로 긁어서 JsonUtil.java 파일로 만들어서 사용하시면 됩니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115import java.io.IOException;import java.util... 2016. 11. 11.
[java] 자바에서 DecimalFormat으로 소수점 자리수 표시하기 소수점 자리수를 표시하기 위해 DecimalFormat을 사용하면 편리합니다. 그리고, 결과값은 숫자 타입이 아닌 String으로 됩니다. Float val = 12.2345324; DecimalFormat form = new DecimalFormat("#.###"); String dVal = form.format( val ); System.out.println( dVal ); #.### => 12.235 #.## => 12.23 #.# => 12.2 결과값은 이런식으로 출력이 됩니다. 2016. 9. 5.
[java] 자바에서 파일(File)이름 변경(이동)하기 renameTo()를 사용해서 파일 이름을 바꿀 수 있습니다. 경로가 같을 경우에는 파일이름이 바뀝니다. 경로가 다르다면 파일이 이동되겠죠 public void renameFile(String filename, String newFilename) { File file = new File( filename ); File fileNew = new File( newFilename ); if( file.exists() ) file.renameTo( fileNew ); } * 파일 이름 변경 - 변경전 : /files/image/A.jpg - 변경후 : /files/image/B.jpg * 파일 이동 - 변경전 : /files/image-a/A.jpg - 변경후 : /files/image-b/A.jpg * 파일 .. 2016. 9. 1.
[java] 자바의 http 통신을 위한 HttpURLConnection 소스 예제 import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; import java.util.HashMap; import java.util.Map; import org.codehaus.jackson.JsonParseException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; imp.. 2016. 8. 19.
[java] 자바에서 String을 json 객체로 변환하는 방법 java에서 String으로 돼 있는 json을 JSONObject로 변환해서 json을 사용하는 샘플예제입니다. 저도 이거 찾느라 한참을 뒤졌네요. import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; String jsonStr = "{" + "code:'1000'," + "name:'포도'" + "}" ; JSONParser parser = new JSONParser(); Object obj = parser.parse( jsonStr ); JSONObject jsonObj = (JSONObject) obj; String code = (String) jsonObj.get("code"); String name = (Str.. 2016. 8. 19.
[java] java decompiler인 jad 파일 다운로드 및 사용법(class 파일을 java로 변환) 가끔은 class 파일 안의 소스를 보고 싶을 때가 있는데요.java 파일을 compile한 게 class 파일이고, class 파일을 decompile하면 java 파일이 됩니다.그리고, java 파일을 decompile 해주는 프로그램이 있는데 그게 바로 jad라는 프로그램입니다. 공식적으로 class로 변환된 파일은 보안상 decompile 할 수 없는 게 맞기 때문에java.sun.com에서 jdk를 배포할 때 decompiler는 제공하고 있지 않습니다. http://varaneckas.com/jad/jad 파일은 여기서 다운받으시면 됩니다. 다운로드 받은 jad.exe 파일을 환경변수 path에 아래 그림을 따라 등록하시구요. cmd로 명령프롬프트를 열어서 아래 명령어로 압축을 풀면 됩니다. .. 2016. 1. 25.
[스프링] spring 프레임워크를 이용하여 java/jsp로 CKEditor에 이미지 업로드 구현하기 저는 이번 프로젝트에서 CKEditor 웹에디터를 사용하여 작업을 하고 있습니다. CKEditor가 생각보다 많이 사용하고 있고 기능도 많더군요. 에디터에서 이미지를 바로 올려서 에디터에 보이게 구현을 하려는데, CKEditor 웹에디터에서는 이미지 업로드 부분을 언어에 맞게 구현을 해줘야 합니다. 아마도 다른 에디터들도 마찬가지겠죠. 그래서, 이미지 업로드 부분을 Java로 구현하는 작업을 해보겠습니다. 먼저, CKEditor를 붙였다면.. CKEditor 소스 중에 아래와 같은 부분이 있습니다. 제가 지금 하고 있는 프로젝트에서는 ckeditor.jsp라는 파일에 아래처럼 구현이 돼 있더라구요. 'CKEDITOR.replace(' 이 단어로 js 파일이나 jsp 파일을 검색하면 어느 파일에 구현돼 있.. 2015. 12. 26.
[Java/jsp] 자바로 이미지를 base64 인코딩 소스로 변환하는 함수 자바로 이미지를 base64 인코딩 소스로 변환하는 함수입니다. 필요하실 때 참고하세요. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051public static String getBase64String( String[] imageUrl, String content ) throws Exception{ if( imageUrl.length > 0 ) { int imageUrlLength = imageUrl.length; String[] imageString = new String[ imageUrlLength ]; for( int i = 0; i 2015. 12. 26.