본문 바로가기

자바21

[스프링] 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/jsp] js 파일 안에서 아무리 소스를 수정해도 브라우저에 바로바로 반영이 안된다면? 저도 이것 때문에 많이 헤맸습니다. 아무리해도 js 파일에서 소스를 고쳐도 화면에서 반영이 되어 보이질 않더라구요. html, jsp 파일은 오히려 바뀐 소스가 잘 반영되더라구요. html, jsp 파일 안에서 코딩한 자바스크립트 소스도 잘 반영됩니다.그런데, js 파일만은 반영이 안 되네요 ㅠ 2015/05/29 - [인터넷/컴퓨터/구글] - [구글] Google 크롬(chrome) 브라우저에서 캐시 무시하고 화면 불러오기 (강제 캐시 삭제 X)이 방법도 안 먹히더라구요 ㅠ 그런데, 정말 생각보다 간단한 방법이 있더라구요. System.currentTimeMillis() 자바의 현재시간을 표시해주는 내부함수를 이용하면 됩니다. 이런식으로 js 파일을 링크하는 곳에 붙여보세요. ?v= 소스보기를 하면 이.. 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/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.
[java/jsp] 자바에서 숫자인지 체크하기 자바에서 숫자인지 체크하는 간단한 방법입니다.* StringUtil.javapublic static boolean isNumeric(String s) { try { Double.parseDouble(s); return true; } catch(NumberFormatException e) { return false; } } 아래처럼 사용하면 됩니다.if( StringUtil.isNumeric( year ) == false ) { logger.info(“숫자 오류”); } 2015. 12. 6.
[Java/Jsp] List를 Json 객체로 변환하는 예제 (twitter4j.JSONArray 사용) 자바의 List 객체를 Json 객체로 변환하는 예제입니다.twitter4j.JSONArray 객체를 사용했습니다. 1. java쪽 소스import twitter4j.JSONArray;....List list = ...; JSONArray json = new JSONArray( list.toArray() );model.addAttribut("json", json); 2. JSP쪽 소스var jsonObj = eval( ${json} );alert( jsonObj[0].text ); 2015. 6. 15.
[Java/jsp] 날짜 타입 변경 - Calendar를 Date로, Date를 Calendar로 변환하는 방법 자바에서는 Date보다는 Calendar를 쓰기를 권장하고 있습니다.하지만, 아직 DB에서 Date 타입으로 넘어온다거나 이전 버전의 자바로 코딩된 경우 Date 타입이 많이 사용되고 있는데요. 형변환을 통해 Calendar와 Date 타입을 서로 변환해서 사용할 경우가 종종 있는데, 그럴 때 아래와 같이 사용하시면 됩니다. * Calendar를 Date로 변환하는 방법Calendar cal = Calendar.getInstance(); ... Date d = new Date(cal.getTimeInMillis()); // Date(long date) * Date를 Calendar로 변환하는 방법 Date d = new Date(); ... Calendar cal = Calendar.getInstance.. 2015. 4. 14.
[Java/jsp] 자바로 구현한 삼성 주차(오늘이 올해의 몇주차인지) 관리하는 Util 삼성에서 관리하는 일정의 주차는 조금 다릅니다.1. 한 주는 월요일~일요일까지이다. 2. 한 주의 기준은 목요일이다. 3. 즉, 목요일을 기준으로 주차를 구하면 된다. 4. 2015년의 첫 목요일은 1월 1일이므로 첫주는 2014년 12월 29일(월) ~ 2015년 1월 4일(일)까지이다. 위 내용으로 삼성에서의 주차를 구하는 Java Util을 만들어 봤습니다. 혹시, 업무에 필요하시다면 참고하세요~ package oboe.pjt.util; import java.util.Calendar; public class DateUtilAdd extends oboe.foundation.util.DateUtil { /** * 두 날짜의 주차수 차이를 반환한다. * * @return int * @throws Exce.. 2015. 4. 14.