반응형

전체 글 706

[Spring]UriComponentsBuilder(서버단에서 동적으로 URI 생성)

목차 UriComponentsBuilder(서버단에서 동적으로 URI 생성) 게시판에서 검색한 결과값이 글 수정, 조회를 해도 계속 페이지에 결과값이 유지되어야 하는 경우가 필요함 이 때 화면에서 form에 input hidden 속성으로 데이터를 담아서 javascript로 동적으로 form action을 변경시켜서 GET방식으로 전송하는데 이 작업을 줄여줄 수 있는게 UriComponentsBuilder 클래스임, 사용방법은 아래와 같음 아래는 검색조건을 유지하는 Criteria class인데 여기에 UriComponentsBuilder를 이용해서 parameter를 연결해서 링크를 생성하는 기능을 추가할 수 있음 getListLink()는 페이지번호, 보여줄 페이지 수, 검색타입, 검색 키워드를 p..

IT/development 2022.11.27

[WebDevelopment]pagination

목차 pagination 이건 스프링에만 국한된 기술은 아니고 웹 전반적으로 쓰이는 기술임 화면에 페이지네이션 처리를 하기 위해서는 우선적으로 크게 다음과 같은 정보들이 필요함 현재 페이지 번호(page) 이전과 다음으로 이동 가능한 링크의 표시 여부(prev, next) 화면에서 보여지는 페이지의 시작 번호와 끝 번호(startPage, endPage) 오라클을 기준으로 설명 1.인라인뷰에서 rownum이 힌트를 이용해서 DESC 정렬로 1번 ~ 20번까지 데이터를 구함 2.바깥쪽 SELECT문에서 인라인뷰에서 나온 1 ~ 20번까지의 데이터 중 조건이 rn이 10보다 큰 데이터만 구함(인라인뷰의 결과중 11번부터 20번까지의 데이터만 조회됨 (BNO:10589495 ~ BNO:10589486의 데이터..

IT/development 2022.11.27

[Spring]spring 프레젠테이션(웹)계층의 CRUD 구현 시 MockTest

목차 MockTest 과거에는 view페이지를 만든 뒤 Tomcat을 실행하고 웹 페이지에서 결과를 확인하는 방식의 코드를 작성해 왔는데, 이 방식은 시간도 오래 걸리고 테스트를 자동화 하기에도 어려움이 많아서 Mock을 이용해서 Controller를 테스트 하는 방식이 있음 MockMvc는 말 그대로 '가짜 mvc'라고 생각하면 되고, 가짜로 URL과 parameter 등을 브라우저에서 사용하는 것처럼 만들어서 Controller를 실행 해 볼 수 있음 우선 아래처럼 BoardController에서 게시글 전체 목록을 가져오는 예제 코드를 작성함 그 다음 아래 이미지처럼 테스트 코드는 웹을 개발할 때 매번 URL을 테스트 하기 위해 Tomcat을 실행하는 불편한 단계를 생략하기 위해서 기존과 다르게 작..

IT/development 2022.11.27

[Spring]단위테스트 jUnit

목차 단위테스트 jUnit 개발하기전 아래와 같이 jUnit으로 JDBC Connection을 먼저 하고 시작하는 습관을 기를 것 단위테스트 하기 위해 매번 Tomcat을 실행하지 않고도 jUnit 테스트 도구를 이용해서 Tomcat 실행 없이 springFramework를 구동시켜서 DB Connection, CRUD등의 테스트가 가능해서 시간도 절약되고 매우 효율적이므로 개발 시에 항상 작성하는 습관을 기르도록 하자 스프링5 버전의 경우 pom.xml에서 jUnit 버전을 4.12 이상으로 해야 한다고 함 아래는 HikariCP를 이용한 Connection Pool Test 예제 이미지임 @RunWith, @ContextConfiguration 클래스 상단에 어노테이션등을 사용해서 설정하고 jUnit..

IT/development 2022.11.27

[Spring]spring 404 에러 페이지 처리

목차 spring 404 에러 페이지 처리 WAS의 구동 중 가장 흔한 에러와 관련된 HTTP 상태코드는 '404'와 '500' 에러코드 임 500 메시지는 'Internal Server Error'이므로 @ExceptionHandler를 이용해서 처리되지만, 잘못된 URL을 호출할 때 보이는 404 에러 메시지의 경우는 조금 다르게 처리하는 것이 좋음 서블릿이나 jsp를 이용했던 개발 시에는 web.xml을 이용해서 별도의 에러 페이지를 지정할 수 있었음, 에러 발생 시 추가적인 작업을 하기는 어렵기 때문에 스프링을 이용해서 404와 같이 WAS 내부에서 발생하는 에러를 처리하는 방식을 알아두는 것이 좋음 스프링 MVC의 모든 요청은 DispatcherServlet을 이용해서 처리되므로 404 에러도 ..

IT/development 2022.11.27

[Spring]spring RedirectAttribute

목차 spring RedirectAttribute Model 타입과 더불어서 스프링 MVC가 자동으로 전달해 주는 타입 중에는 RedirectAttribute 타입이 존재함 RedirectAttribute는 조금 특별하게도 일회성으로 데이터를 전달하는 용도로 사용됨 RedirectAttribute는 기존에 Servlet에서 response.sendRedirect()를 사용할 때와 동일한 용도로 사용됨 아래 이미지처럼 RedirectAttribute는 Model과 같이 parameter로 선언해서 사용하고 addFlashAttribute(이름, 값) 메서드를 이용해서 화면에 한번만 사용하고 다음에는 사용하지 않는 데이터를 전달하기 위해서 사용됨 출처: 코드로 배우는 스프링 웹 프로젝트(개정판)

IT/development 2022.11.27

[Spring]springframework Controller

목차 Spring Controller spring controller의 paramter 수집 Controller를 작성할 때 가장 편리한 기능은 parameter가 자동으로 수집되는 기능임, 이 기능을 이용하면 매번 request.getParameter()를 이용하는 불편함을 없앨 수 있음 위와 같이 SampleDTO class가 있고(Lombok 사용으로 @Data 어노테이션으로 자동으로 setter, getter, toString method 생성) 위와 같이 SampleController의 method가 SampleDTO를 parameter로 사용하게 되면 자동으로 setter 메서드가 동작하면서 parameter를 수집하게 됨 method에는 @GetMapping이 사용되었으므로, 아래와 같이 브..

IT/development 2022.11.27

[thyemeleaf] get query string parameter

목차 thyemeleaf에서 url의 query string 사용 미래에 이 내용을 잊었을 내가 보기 위해 기록함 위 사진에서처럼 url이 http://localhost:8080/tables/detail?tableName=tb_menu 일 경우 다른 페이지 이동 시 query string parameter를 가져와서 get으로 넘기고 싶을 땐 아래처럼 사용하면 된다. 필드추가 ${param.parameter} 이 부분이다. 여러개를 넘기고 싶을 땐 아래처럼 하면 된다. ${param.fields[index]} test1 test2 test3 그러면 아래처럼 필드추가 페이지 이동 시 쿼리스트링이 전달됨을 확인 할 수 있다. Reference: https://attacomsian.com/blog/thymel..

IT/development 2022.11.27

[linux]리눅스 w, who(서버 접속자 정보 확인) & ping(Packet INternet Groper)

목차 w, who 현재 리눅스에 접속한 사용자에 대한 정보 사용자 아이디, 아이피, 로그인 시간, cpu 사용률, 현재 작업목록 w보다 좀더 간략하게 표현하려면 who ping(Packet INternet Groper) 일정한 크기의 패킷을 타겟으로 보내서 상대가 응답하는지 체크 주로 네트워크 설정 이후 네트워크 상태를 확인하기 위해 사용 ping 아이피 또는 도메인 위는 구글 서버로 ping을 날린 상태 제일 우측의 time은 ping을 날린 서버에서 타켓 서버까지의 응답속도를 나타내는데 당연히 time값이 적을 수록 인터넷이 빠르다는 의미임

IT/ETC 2022.11.27
반응형