본문 바로가기

Dev-/Spring

로그인 후 이전페이지로 되돌아가기 - Referer 헤더 일반적인 웹 사이트를 보면 "강제 로그인" 로직이 걸려있는 버튼이 있고, "단순 로그인"버튼이 있는데요. "강제 로그인"의 경우, 인터셉터에 매핑된 uri를 가져와, query의 유무에 따라 다시 조합해 "dest"라는 값으로 반환해줍니다. "단순 로그인" 버튼의 경우, 요청 uri를 강제로 막은 것이 아니기 때문에, 이전 페이지를 가져와야 할 듯 해 찾아보았습니다. 1. 첫번째 시도,, JSTL의 EL을 사용해, 로그인 클릭하는 페이지의 uri를 가져오는 것이었습니다. 가령 http://localhost:8080/mani-examples/jsp/Forwarder.jsp?name=Mani 라면 아래를 사용해, javax.servlet.forward.request_uri = /mani-examples/js..
Cookie사용시 주의사항 쿠키를 만들고 나서 .setPath("/") 를 해주어야 합니다. 그렇지 않으면 해당 페이지에서만 쿠키가 보이게 됩니다.
VO vs DTO VO: Value ObjectDTO: Data Transfer Object 대부분 혼용해서 사용하고 구분을 명확하게 짓는 분이 많지 않은데요. 제가 공부하는 교재에서는,VO는 DB에, DTO는 화면에 조금 더 거리가 가까울 때 사용하신다고 합니다. ex) User라는 테이블에 관한 정보를 담을땐 UserVOUser를 이용해 화면을 처리할땐 LoginDTO
Spring 프레임워크의 Front Controller - DispatcherServlet 톰캣과 같은 서블릿 컨테이너가 클라이언트로부터 요청을 받을 때, 그 요청을 가장 먼저 받는 것이 Front Controller입니다. 모든 요청을 하나의 Servlet에서 관리하기 때문에 URI 구성이 쉬워지고, 의미있게 되며 + 여타 기능을 일괄 적용하기가 쉬워집니다. Spring에서는 이 역할을 하는 것을 DispatcherServlet인데요. 이게 어디에 설정되어있느냐 하면,, 프로젝트를 생성할 때 자주보게 되는 Web.xml에 있습니다. [Web.xml] 위 코드를 보시면 appServlet이라는 이름으로 DispatcherServlet이 등록되어 있고, "/" 으로 uri 매핑이 되어있는 것을 확인 하실 수 있습니다. 현재 "코드로 배우는 스프링 웹 프로젝트"로 공부를 하고 있는데,, 나중에 취..
form태그로 HiddenMethod 활용하기(PUT, PATCH, DELETE) REST방식의 설계를 하다보면,, 그래서 자연스럽게 ajax를 사용하다보면, HiddenMethod를 자주 사용하게 되는데요. HiddenMethod란, 기본적인 GET, POST방식의 이외의 RequestMethod를 말합니다. 브라우저에 따라 지원의 차이가 있기 때문에,, 보통 headers에 X-HTTP-Method-Override":"사용할 방식"의 헤더를 추가해주어 사용합니다. form 태그는 기본적으로 GET, POST 방식만 지원합니다. 그렇다면 어떻게 사용할 수 있을까요. 우선,, web.xml에 아래 필터를 추가해주시고, 아래와 같이 사용해주시면 됩니다.
Controller에서 @Transactionl 이 필요하다면...? Controller에서는 @Transactionl을 사용하면 안된다고 알고 있었습니다. 일단 작동이 되지 않는데,,Controller는 '안내'만 하고, 비즈니스 로직은 Service에서 구현해야 하기 때문입니다.(따로 억지로 설정을 해주면 됩니다.) - 비즈니스 로직이란,올바른 데이터를 리턴하기 위해 거쳐야 하는 여러가지 검사를 하는 로직을 말하는데,,이 부분을 Service가 맡고 있습니다. 따라서 트랜잭션의 ACID를 지키기 위해 @Transactional을 붙이는 것입니다. 만약 Controller를 설정하다가,@Transaction을 붙여야 할 것 같다는 느낌이 든다면,, 그 코드는 좋은 코드가 아니라고 합니다.MVC가 제대로 적용되지 않았다는 표시라고 합니다..
Ajax를 이용한 파일 처리-5. Ajax를 이용한 파일 처리-1. Ajax를 이용한 파일 처리-2. Ajax를 이용한 파일 처리-3. Ajax를 이용한 파일 처리-4. 삭제처리를 해봅니다. 두가지 기능을 구현해야 합니다. 앞의 과정과 거의 유사하게 진행하면 됩니다~ 1. 해당 디렉토리에 있는 실제 파일을 삭제한다. 2. 페이지에서 해당 영역을 삭제한다. [uploadAjax.jsp] [UploadController.java]
Ajax를 이용한 파일 처리-4. Ajax를 이용한 파일 처리-1. Ajax를 이용한 파일 처리-2. Ajax를 이용한 파일 처리-3. 지난 포스트까지의 내용을 요약하자면,, 1. 특정 블록에 올려진 파일을 컴퓨터 내 디렉토리에 파일을 저장하고, 2. 일련의 규칙을 통해 정해진 파일명을 Http 상태 코드와 함께 클라이언트에게 리턴해줍니다. 그러면, 이제는 이렇게 비동기적으로 돌려받은 데이터를 화면에 띄워야 하겠죠. 이미지 파일일 경우) 썸네일 이미지를 표시한 후, 원본 파일을 조회하는 링크를 달아줍니다. 그 외 파일일 경우) 정리된 파일명을 표시하고, 다운로드 링크를 달아줍니다. 우선 "POST" 요청에 대한 응답으로 받은 파일명을 뷰 페이지에서 다루어봅시다. [uploadAjax.jsp] 위 코드를 보시면,, 이미지를 가져올 때 소스..