프로그래밍 언어/자바 & 코틀린
-
[JSP] form태그 이용해서 데이터 주고 받기프로그래밍 언어/자바 & 코틀린 2018. 3. 3. 17:19
회사에서 개발할 때 form태그보다는 처음부터 페이지를 띄울 때 값을 심어주거나 ajax를 통해서 데이터를 불러온다. DB에 더미 데이터를 만들어야했는데 일일이 쿼리문을 치고 있는 시간보다 하나 개발하는게 더 빠를 거 같아서 페이지 하나를 개발했다. 그때 form 태그를 이용했다. 1234567891011121314151617181920request parameter Colored by Color Scriptercs form 태그를 간단하게 만들면 이런 화면이 나온다. 컨트롤러에서 httpServletRequest를 파라미터로 받아줘야한다. 거기서 getParameter 메서드를 이용해 form태그에서 넘겼던 데이터를 조회한다. getParameter의 return 타입은 String이다. request..
-
Exception 발생해도 원하는 파라미터 return하는 방법프로그래밍 언어/자바 & 코틀린 2018. 2. 25. 21:52
실무에서 처음으로 @Transitional을 써봤다. MariaDB에서 프로시저를 사용하라는 팀장님의 오더에 체크하는 로직을 프로시저에 넣어 구현했다. for문을 돌면서 데이터를 insert하고 check하기 때문에 for문 중간에서 에러가 나면 전체 rollback이 필요했다. @Transitional에서 RuntimeException이 나면 전체 rollback이 진행된다. 근데 생각해보니 Exception이 나면 아예 실행이 멈추니 에러가 발생했는데 어디서 에러가 났는지 사용자에게 alert를 띄워줄 방법이 없었다. 내가 구상한 프로세스는 각각의 에러마다 번호를 부여해 그 번호를 return하면 alert로 사용자에게 에러를 알려주려고 했다. 구글링의 결과를 참고해 구현했다. 방법은 Service단..
-
서버에서 json형태로 return하는 방법.프로그래밍 언어/자바 & 코틀린 2018. 1. 21. 18:23
json형태로 데이터를 return하는 방법은 내가 아는 범위내에서 2가지다.(더 있을 수도 있는데... 일단 내가 아는 방법은 2가지.) 첫째, jsonView 둘째, @ResponsBody 이 2가지이다. 예전에 상세히 들어간 건 아니고 대충 검색해보면서 @ResponseBody보다 jsonView를 이용하는게 더 많은 데이터를 처리하는데 좋다고 하는데, 아직까지 차이가 날 정도로 큰 데이터를 다뤄보지 못해서 차이를 잘 모르겠다. 1. jsonView 사실 회사에 오고나서 이미 이렇게 짜여진 코드를 봐와서 난 이게 따로 설정해야하는 줄 몰랐다. jsonView를 사용하기 위해서는 설정이 필요하다. 몇가지 jar파일을 pom.xml에 선언해주고 설정해주면 된다.(*설정방법은 조금만 찾아보면 바로 찾을 ..
-
ajax에서 JSON.stringify로 넘긴 파라미터를 서버에서 @RequestBody로 받기.프로그래밍 언어/자바 & 코틀린 2018. 1. 21. 18:01
평소 ajax를 사용할 때, dataType을 json으로 선언만 하고, 넘길 파라미터를 Map에 담아서 넘겼었다. 근데 담긴 Map을 json 문자열로 변형하여 넘기는 코드를 봤다. 서버에서 파라미터가 담긴 Map을 @RequestParam을 이용해 그냥 받으려고 했더니 자꾸 에러가 떴다. 123456789$.ajax({ type: "POST", url: "", dataType: 'json', data: JSON.stringify({"startDate": startDate, "endDate": endDate}), contentType:'application/json; charset=utf-8', success: function(data){ alert("JSON.stringify로 파라미터로 넘기기 성공..
-
스프링에서 @RequestParam 사용프로그래밍 언어/자바 & 코틀린 2017. 12. 10. 16:06
선임연구원님이 현재 개발한 부분의 양식에서 제목만 못 불러온다고 디버깅해보라는 미션. 찾아보니 문제점은 클라이언트 단(jsp)에서 바로 url로 접근해서 서버에 있는 컨트롤러를 실행하려 함. 필요 파라미터도 클라이언트 단에서 바로 던져줌.(=? parameter1 =? paramter2 처럼) try catch문 시행 중 원하는 메서드를 타지 않고 바로 catch로 넘어가서 ioexception 에러가 뜸. 에러를 찾아보니 클라이언트 단에서 던지는 parameter와 @RequestParam으로 받는 변수명이 달라서 서버 단에서 인식을 못함. 받는 컨트롤러의 메서드가 여러군데서 이용되기 때문에 같은 값을 담은 변수지만, 그냥 이름이 다른 변수를 매개변수로 하나 더 추가해서 받았다. ------------..
-
String을 잘라 배열로 만들 수 있는 split프로그래밍 언어/자바 & 코틀린 2017. 11. 21. 22:23
자바의 split을 이용해 일정한 문자를 기준으로 잘라 배열을 만들 수 있다. splitPractice에 "|"을 기준으로 숫자들이 문자열로 존재한다. 1234567891011121314public class practice { public static void main(String[] args){ String splitPractice = "1700|1800|1900|2000|2100"; String[] array = splitPractice.split("\\|"); for(int i = 0; i
-
배열 대신 String으로 받은 parameter를 split을 이용해 체크박스 복수 삭제 기능 구현프로그래밍 언어/자바 & 코틀린 2017. 11. 21. 22:04
2개월 차 초급 개발자인 나는 자괴감이 들정도로 개발 실력이 허접하다. 잘하고 싶어라!!!!! 체크박스를 통해 삭제를 해야하는데 client단에서 배열로 받아와 그 파라미터를 서버에서 받고 그만큼 for문 돌려야지 라는 생각 밖에 하지 못했다. (자바스크립트로 테이블을 그리고 있었고, 삭제 ajax call을 데이터 조회와 같은 ajax call 함수를 사용하고 있었기 때문에배열로 넘기기에는 조금 힘든 것 같았다.) 다른 연구원님이 String으로 그냥 날려서 서버에서 split으로 처리하라고 했다. 아.. 그래도 되겠네 하고 구현 시작. 12345678910@RequestMapping(value="")public void Delete(@RequestParam String checkedParam){ /*..