스프링다시시작(2) — -

w ho
4 min readJun 9, 2020

--

컨트롤러

Controller에서 service를 주입 시켜 사용 이후 servlet-context.xml에 어노테이션 설정을 해야 해당 controllerd의 어노테이션이 적용된다 .
전체적인 흐름 — service를 쓰는 이유는 하나의 컨트롤러에서 여러개의 service를 사용하기 위함.

redirect

Spring의 RedirectAttributes 객체는 리다이렉트 시점에 한 번만 사용되는 데이터를 전송할 수 있는 addFlashAttribute()라는 기능을 지원합니다.
새로고침으로 인한 두번실행을 방지

redirect vs Request Dispacherredirect해당 컨트롤러 url에서 다른 컨트롤러에 해당되는 url로 이동시킬떄 사용request Dispacher해당 컨트롤러 url에서 서버 jsp 로 값을 가지고 넘길때 사용
spring에서 제공하는 addFlashAttribute 를 이용하여 redirect

addAttribute 로 Model에 담게 되면 지속적으로 Model에 값이 들어가 있지만 redirect의 addFlashAttribute 를 통해서 값을 넣게 되면 이동되는 페이지에서만 그값이 존재하게 된다.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

해당 jsp 파일에서 캡쳐는 board/list 부분 이고 controller에서 list에 값을 넣어 줬기 때문에 list로 받아 board라는 변수를 이용하여 화면에 출력
get과 post로 나눠 컨트롤러 설정 이유 : register 화면에서 입력전에 화면과 입력을 받고나서 list로 넘겨줄 컨트롤러 즉, 입력 페이지를 보여주는 역할만 하는 컨트롤러 따로 만들어야한다.

web.xml을 이용한 UTF-8 처리

web.xml에 지정해 두면 자동으로 request.getcharacterencoding(“UTF-8”)로 지정

JQUERY 간단한 예제

<script src=”https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

위의 태크를 넣어 jquery 사용

id 값이 regBtn을 눌렀을때 /borad/regsiter로 이동

페이징 처리 분석

쿼리를 사용할때 보통 ORDER BY를 사용하지만,
값이 많고, PRIMARY KEY를 이용한다면 더 효율적으로 사용할수 있다.
오라클 데이터베이스의 경우 IDNEX를 이용하면 편리하고, SELECT 시에만 효과가 좋다.

오라클의 HINT 문법을 이용하여 INDEX 처리로 DESC 정렬 해봄 /*+ 원하는 INDEX 조건 */

페이지 처리시 인라인 뷰를 이용하여 한페이지당 원하는 개수의 조회를 가상 테이블로 지정하고 그 가상테이블에 원하는 조건을 달아 페이지별로 출력

2페이지에 나올 값 조회 /현재는 11개의 값이 존재하여 11번째 값만 출력
페이징 처리시 boardmapper.xml maybatis에 적용해보기

--

--

No responses yet