21.[블로그 프로젝트] 글 삭제, 수정 구현하기
삭제하기BoardService에 메소드 추가1234@Transactionalpublic void deletePost(int id){ boardRepository.deleteById(id);} ApiController에 메소드 추가하기12345@DeleteMapping("api/board/{id}"
삭제하기BoardService에 메소드 추가1234@Transactionalpublic void deletePost(int id){ boardRepository.deleteById(id);} ApiController에 메소드 추가하기12345@DeleteMapping("api/board/{id}"
BoardService에 postDetail 추가하기123456public Board postDetail(int id){ return boardRepository.findById(id) .orElseThrow(()->{ return new IllegalArgumentException
서비스 구현 - 컨트롤러 연결 - jsp 수정 BoardService 수정하기123456789101112import java.util.List;//스프링이 컴포넌트 스캔을 통해서 Bean에 자동 등록. IoC를 해줌@Servicepublic class BoardService { @Autowired private BoardRepositor
화면 구성일단 index.jsp를 수정하자. 123456789101112131415<%@ include file="layout/header.jsp"%><div class="container"> <c:forEach var="board" items="${bo
BoardControllerBoardController에 글쓰기 버튼을 눌렀을때 분기처리 메소드를 만들자. 12345//USER 권한 필요@GetMapping("/board/saveForm")public String saveForm(){ return "board/saveForm";} 화면 구성그리
시큐리티는 로그인 요청을 가로채간다.우리는 회원가입에 필요한 joinProc uri를 UserApiController에 정의했었다.그러나 로그인에 필요한 메서드는 만들지 않는다.왜? 시큐리티가 가로채가서 로그인을 실행하기 때문. SecurityConfigure 수정이제 로그인을 시큐리티가 실행할 수 있게 수정해보자. 1234567891011121314151
시큐리티는 어떤 원리로 작동할까?스프링에서 로그인 요청을 하면 시큐리티가 이를 지켜보다가username과 password를 가로채간다.시큐리티는 가로챈 username과 password로 로그인을 진행시키고,시큐리티 세션에 해당 유저 정보 객체를 저장하고, DI하여 사용하도록 한다.(이때, 세션에 저장된 유저 정보는 UserDetails 객체다.) 그러면
Spring starter security일단 스프링 시큐리티를 이용하기 위해 pom.xml에 있는 관련 dependency를 모두 주석해제하자.그리고 전통적 방식 로그인 메서드를 주석처리하고 다시 사이트에 들어가려면…이렇게 시큐리티가 로그인 화면을 띄우게 된다. 이렇게 Spring starter security는 진입할 때 로그인 정보를 입력하도록 한다!
loginForm.jsp회원가입을 구현했던 것과 비슷하게 진행한다.loginForm.jsp에서 button 태그를 form 밖으로 빼고, 스크립트 태그를 추가해 user.js를 읽을 수 있게 했다. 123456789101112131415161718192021222324<%@ page contentType="text/html;charset=UT
스프링이 시작되면 톰캣 시작 web.xml 읽음 context.xml 읽고 DB 연결테스트되면 세팅 끝! 이러고 나서 요청이 들어오면,web.xml -> 필터 -> 스프링컨테이너[컨트롤러-서비스-레파지토리] -> 영속성컨텍스트 -> DB 전통적인 방식 (모두가 다같이 처음에 시작!) web.xml과 필터를 거치게되면… DB
트랜잭션트랜잭션은 일이 처리되기 위해 데이터를 작성,수정하는 가장 작은 단위를 의미한다.여러 트랜잭션이 묶여서 하나의 트랜잭션이 될 수 있다.(유튜브 영상 찍기를 위해서 - 카메라 준비, 영상 찍기, 영상 편집 이렇게 세가지 트랜잭션이 된다.)(그리고 이 세가지 트랜잭션은 영상을 업로드하기 위한 트랜잭션으로 묶일 수 있다.) 여러 트랜잭션이 모인 것을 우리
회원가입 같은 로직에서 Ajax를 사용하는 이유를 알아보자. 첫번째 이유 요청에 대한 응답을 html이 아닌 Data(json)을 받기 위해서! 만약 브라우저가 회원가입을 요청했다고 하자,요청을 받은 서버는 회원정보를 DB에 넣고, 브라우저에 응답을 보내줘야 하는데,회원가입 성공을 하면 메인화면 html을 보내줄 수 있다. 근데 클라이언트가 항상 브라우
JS 세팅resource - static에 js폴더를 만들고 그 안에 user폴더 생성한다.user폴더에 user.js를 만들고 다음같이 작성한다.그리고 jQuery를 사용해 다음같이 작성한다. 1234567891011let index = { init : function(){ $("#btn-save").
템플릿 구성하기우리 블로그에서 모든 페이지에서 푸터가 동일하게 적용될 수 있도록 템플릿을 구성해보자.스크립트 태그를 바디가 끝나는 태그 바로 위에 두자.(다른방식도 있으니 유의하자.)views 폴더 안에 layout 폴더를 만들고, footer.jsp, header.jsp를 만들자. 그리고 index.jsp에서 헤더에 해당하는 부분을 header.jsp로
자 intellJ로 Spring Boot 프로젝트를 다루는 와중 문제가 생겼다.JSP를 추가하기 위해 디렉토리를 만들었는데…여기 WEB-INF 폴더에서 new를 해도 JSP파일을 고를 수가 없다..! 그래서 혼신의 구글링을 통해 해결방법을 찾았다.File - Project Structure - Web Resource Directory에서 우리가 만든 디렉토
Get요청Get은 body에 데이터를 못 담는다.주소에 데이터를 담아 보낸다.데이터 형태는 key : value 형태이다. Post, Put, Delete 요청데이터를 담아보내야 할 것이 많다!body에 담아서 보낸다. form 태그 방식으로 post를 요청할 수 있지만,form은 get, post만 가능하므로자바스크립트로 요청하는게 일반적이다. 결국 자바