[스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술] MVC 패턴
·
Back-End/Spring
MVC 패턴 - 개요서블릿과 JSP의 한계서블릿으로 개발할 때는 뷰(View) 화면을 위한 HTML을 만드는 작업이 자바 코드에 섞여 지저분하고 복잡해진다. JSP를 사용하면 뷰를 생성하는 HTML 작업을 깔끔하게 가져가고, 동적으로 변경이 필요한 부분에만 자바코드를 적용할 수 있다. 하지만 JSP 코드 상위 부분의 절반은 비즈니스 로직이고, 나머지 하위 절반은 결과를 HTML로 보여주기 위한 뷰 영역이 된다. JSP에는 Java 코드, Repository 등 다양한 코드가 모두 노출되며 너무 많은 역할을 가져가게 된다.  하나의 서블릿이나 JSP로 비즈니스 로직과 뷰 렌더링을 모두 처리하게 되면 유지보수가 어려워진다. 제일 큰 문제점은 둘 사이에 변경의 라이프 사이클이 다르다는 점이다. 예를 들면 UI..
[스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술] 회원 관리 웹 애플리케이션 요구사항
·
Back-End/Spring
회원 관리 웹 애플리케이션 요구사항기능 요구사항회원 저장회원 목록 조회  회원 도메인 모델id는 Member를 회원 저장소에 저장하면 회원 저장소가 할당한다.package hello.servlet.basic.domain.member;import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class Member { private Long id; private String username; private int age; public Member(){} public Member(String username, int age) { this.username = username; this.age = age; ..
[Spring] File Upload
·
Back-End/Back-End
[작성일: 2023. 05. 20] File Upload 방식 태그를 이용하는 방식과 Ajax를 이용하는 두 가지 방식이 있음. File Upload 폴더 생성C:upload/temp  application.propertiesmultipart 부분 추가file upload APIcos.jar : 2002년 이후 개발 종료되었으며 더 이상 사용하지 않을 것을 권장함.commons-fileupload : 일반적으로 많이 활용, 서블릿 3.0 이전도 사용 가능서블릿 3.0 이상에서는 API 상에서 지원# multipartspring.servlet.multipart.enabled=truespring.servlet.multipart.location=C:upload/tempspring.servlet.multipar..
[Spring] 댓글 조회, 삭제 기능 구현하기(+트랜잭션)
·
Back-End/Back-End
[작성일: 2023. 05. 14] 2024.08.24 - [WEB/Back-End] - [Spring] 댓글창 목록 구현하기 [Spring] 댓글창 목록 구현하기[작성일: 2023. 05. 13] Reply 목록 구현기존 게시물 페이징 처리 + 특정 게시물 번호MyBatis는 두 개 이상의 데이터를 파라미터로 전달하기 위해서 별도 객체를 구성하거나, Map을 이용하거나, @Param을eenzhd.tistory.com  댓글 조회 기능 구현하기getList, get, modify@RequestBody : POST 등 데이터 부분으로 전달되는 내용@PathVariable : Path에 들어오는 값을 변수로 사용할 경우curl 중 PUT/PATCH외부에서 데이터가 전달될 때 일부분만 전달될 경우를 위해 {"..
[Spring] 댓글창 목록 구현하기
·
Back-End/Back-End
[작성일: 2023. 05. 13] Reply 목록 구현기존 게시물 페이징 처리 + 특정 게시물 번호MyBatis는 두 개 이상의 데이터를 파라미터로 전달하기 위해서 별도 객체를 구성하거나, Map을 이용하거나, @Param을 이용함.가장 간단한 방식인 @Param을 이용하여 구현하면 속성값은 MyBatis에서 #{}으로 사용이 가능함. (과거)  ReplyMapper에 getListWithPaging 구현@Mapperpublic interface ReplyMapper {... // 댓글 목록 public List getListWithPaging(@Param("cri") Criteria cir, @Param("bno") Long bno);}   ReplyMapper.xml SELECT RNO, B..
[Spring] 댓글창 기능 구현하기
·
Back-End/Back-End
[작성일: 2023. 05. 10]  2024.08.24 - [WEB/Back-End] - [Spring] 검색처리 [Spring] 검색처리[작성일: 2023. 05. 04]  2024.08.24 - [WEB/Back-End] - [Spring] 전체 건수 반영하기 [Spring] 전체 건수 반영하기[작성일: 2023. 05. 02] 2024.08.24 - [WEB/Back-End] - [Spring] paging [Spring] paging[작성일: 2023. 04. 30]  2024.08eenzhd.tistory.com  Reply 기능 구현Reply 테이블 구성CREATE TABLE tbl_reply ( RNO int(10), BNO int(10) NOT NULL, REPLY varchar(2..