Spring 11

250115 Spring 11 - 필터 설정, 필터를 활용한 기능 만들기

1. 필터 설정1) src/main/java 하위에 새로운 패키지 생성2) 생성한 패키지에 필터 파일 생성 3) web.xml 파일에 필터 설정 추가 4) 필터 파일에 doFilter 메서드 수정 5) MemberController.java 파일의 signIn() 메서드 수정   2. 새글 작성 페이지 수정1) create.jsp 파일 수정   3. 수정하기 기능 수정1) details.jsp 파일 수정 2) modify.jsp 파일 수정   4. 상세보기 페이지 댓글 기능 수정1) details.jsp 파일 수정 2) comments.js 파일 수정    ※ [m] jsp 파일에서 script 태그를 사용하면 EL을 사용해서 데이터를 js 변수에 저장할 수 있다.  * 자바스크립트 파일은 브라우저에서 ..

Spring 2025.01.15

250114 Spring 10 - 회원가입/로그인/로그아웃 기능 구현

1. 회원가입할 때 아이디/비밀번호/이메일 중복확인 기능 작성1) signup.jsp 파일 수정 2) members.js 파일 수정* encodeURIComponent()(1) A-Z a-z 0-9 - _ . ! ~ * ' ( ) 를 제외한 문자를 이스케이프 함.(2) encodeURIComponent()를 사용해, 서버에 POST로 요청할 양식 필드를 인코딩 하면, 입력 중 의도치 않게 생성될 수 있는 HTML 특수 개체 등의 "&" 문자를 처리할 수 있다.예를 들어 사용자가 입력한 "Jack & Jill"은 "Jack & Jill"로 인코딩 됩니다. encodeURIComponent()를 사용하지 않았다면 서버가 앰퍼샌드를 새로운 필드의 시작으로 인식할 수 있으므로 데이터의 무결성을 해칠 수 ..

Spring 2025.01.14

250113 Spring 09 - REST, Ajax를 change 이벤트 리스너와 함께 사용하기

1. 댓글 수정 기능 작성1) Comment.js 파일 showCommentModal(), updateComment() 메서드 수정   2. 회원가입 기능 작성1) header.jspf 파일 수정 2) MemberController.java 파일 작성 3) /WEB-INF/views/user 폴더 생성 --> singup.jsp 파일 생성 4) Member.java 파일 생성 5) mybatis-config.xml 파일 수정   3. 회원가입할 때 아이디/이메일 중복 확인 기능 작성 - Business Layer, Controller1) member-mapper.xml 파일 생성2) member-mapper.xml 파일에 아이디 중복 체크에 사용할 SQL 문장 추가 3) MemberDao.java 파일 ..

Spring 2025.01.13

250110 Spring 08 - @ResponseBody, @RestController, Ajax, 동기식/비동기식 통신

1. @ResponseBody1) 메서드 또는 메서드의 리턴 타입에 사용하는 annotation  * @Controller 애너테이션이 있는 클래스에서 정의된 메서드(리턴타입)에 이걸 사용하면 클라이언트로 jsp가 아닌 데이터 자체가 서비스 됨.2) 스프링 mvc의 기본 처리 방식(컨트롤러 -> jsp)과 달리, 메서드가 리턴하는 데이터를 스프링의 MessageConverter가 가공해서 클라이언트(브라우저)에게 전달3) Spring 3 버전부터 지원 2. @RestController1) Controller 클래스에 사용되는 annotation2) JSP와 같은 view를 만들어 내는 것이 목적이 아닌, REST 방식의 데이터 처리를 위한 컨트롤러 클래스임을 선언하는 애너테이션3) @RestControl..

Spring 2025.01.10

250109 Spring 07 - @RequestBody, Axios 라이브러리

1. 댓글 목록 가져오기 기능 작성1) CommentService.java 파일에 readByPostId() 메서드 추가 2) CommentController.java 파일에 getAllCommentsByPostId() 메서드 추가 3) Talend API Tester를 통한 테스트   2. 댓글 작성 기능 작성1) DTO 추가 2) 서비스 메서드 추가 3) 컨트롤러 메서드 추가 4) Talend API Tester를 통한 테스트   * JSON 문자열에서는 큰따옴표만 사용한다.(JS와의 차이점)* 요청에 사용하는 JSON의 프로퍼티 이름은 DTO의 필드이름과 동일해야한다.   3. @RequestBody1) 디스패쳐 서블릿이 Ajax 요청에서 요청 패킷 몸통(body)에 포함된 JSON 문자열을 읽고 ..

Spring 2025.01.09

250108 Spring 06 - REST, @PathVariable, Talend API Tester, ResponseEntity

1. 댓글 작성 기능 작성 (2)1) comment-mapper.xml 파일에 코드 추가* 마이바티스에는 공통 자바 타입(Integer, Boolean 등)을 위한 내장 타입의 별칭이 있다.(참고) https://mybatis.org/mybatis-3/ko/configuration.html#typeAliases 2) CommetDao.java  파일에 코드 추가 3) 단위 테스트   2. REST1) REST : REpresentational State Transfer  (1) 하나의 URI는 하나의 고유한 resource를 대표하도록 설계  (2) 특정 URI는 그에 상응하는 데이터를 의미 -> 데이터에 대한 처리는 http방식(get, post, delete 등)과 같은 추가적인 정보를 통해서 결정 ..

Spring 2025.01.08

250107 Spring 05 - 2개 이상의 요청을 처리하는 컨트롤러, 동적 SQL 처리

1. 게시글을 클릭하면 세부내용을 볼 수 있는 기능 작성1) list.jsp 수정 2) PostController.java 수정 3) detail.jsp 작성  2. 게시글 수정하기 기능 작성1) 컨트롤러 메서드 수정 2) jsp 작성3) /webapp/ 하위에 static 폴더 생성 - static 폴더 하위에 js 폴더 생성 4) post-modify.js 자바스크립트 파일 작성 5) 컨트롤러 파일에 메서드 추가 6) update() 메서드에서 사용하기 위한 PostUpdateDto 클래스 생성 7) 서비스 수정   3. 게시글 검색 기능 추가1) list.jsp 수정 2) PostSearchDto 클래스 생성 3) 컨트롤러에 메서드 추가 4) 서비스에 메서드 추가 5) DAO에 메서드 추가 6) p..

Spring 2025.01.07

250106 Spring 04 - 의존성 주입 방법, @RequestMapping, DTO

1. 새 글 작성하기 기능 작성1) post-mapper.xml 에 코드 추가  * 마이바티스에서 insert 태그는 몇개의 행이 삽입됐는지 리턴되기 때문에 resultTpye 속성을 입력하지 않는다.(무조건 int 타입을 리턴하는 메서드를 사용) 2) DAO 수정 3) 단위 테스트  * 단위 테스트가 성공적으로 수행되면 콘솔에서 ds(DataSource)로부터 Connection을 가져왔다는 메시지 다음에 메서드 실행 결과가 출력된다.   2. 포스트 업데이트/삭제하기 기능 작성1) post-mapper.xml 에 코드 추가 2) DAO 수정 3) 단위 테스트  * 단위 테스트가 성공적으로 수행되면 콘솔에서 ds로부터 Connection을 가져왔다는 메시지 다음에 메서드 실행 결과가 출력된다.   3...

Spring 2025.01.06

250103 Spring 03 - MyBatis 초기 세팅, 의존성 주입, Mapper

1. 새 프로젝트 생성1) Dynamic Web Project 생성 2) Dynamic Web Project를 Maven Project로 변경   2. pom.xml 수정1) spring1 프로젝트의 pom.xml 복사 / 붙여넣기 2) Maven Project 업데이트( 단축키 : Alt + F5 ) 3) 의존성 추가  (1) Spring JDBC  (2) Spring Tx  (3) MyBatis  (4) MyBatis-Spring   * 추가해주고 메이븐 프로젝트 업데이트 해주기   3. 다른 xml 파일들 설정1) spring1 프로젝트에 있는 web.xml 코드 복사 붙여넣기 (/WEB-INF/)2) spring1 프로젝트에 있는 application-context.xml, servlet-cont..

Spring 2025.01.03

250102 Spring 02 - @RequestParam, Lombok의 annotation들, forward/redirect 이동, REST

1. 핸들러 매핑 이해하기1) URL에 매핑된 컨트롤러 메서드가 없고, static 요소도 없을 때 2) 컨트롤러에 메서드를 만들어주기    2. @RequestParam 1) 컨트롤러 메서드에 파라미터 선언을 추가해보기  * 메서드는 호출되는데 메서드에 전달할 아규먼트를 정해주지 않았기 때문에 에러가 발생한다 2) 이클립스 환경설정 수정컴파일러가 .java를 .class로 변환할 때 메서드 파라미터 정보를 실행파일에 저장해두도록 설정* reflection : 컴파일이 끝난 클래스 안에서 메서드 이름, 지역변수 이름, 파라미터의 이름 등을 끄집어내는 기능 3) 메서드에 RequestParam 어노테이션 추가 3) ex1.jsp 파일 작성 4) 메서드 파라미터 이름이 요청 파라미터의 이름과 다를 경우 에러..

Spring 2025.01.02