지난 글에서는 백엔드 파이프라인이 완성 되었다. 그럼 이제 진짜 글 써도 됨?그러기에는 아직 치명적인 문제가 하나 발생한다. 클라이언트가 보내는 요청을 받아줄 진입점이 없다는것이다. 내가 만든 BoardWriteCommand는 일반적인 자바 클래스일뿐, 스스로 웹 URL 요청을 받거나 응답하는 능력이 없다클라이언트와 통신하려면 반드시 서블릿이 필요하다 그럼 어떻게 해야함?이 문제를 해결하기 위해 클라이언트의 요청을 하나의 서블릿이 다 받아서 조율하는 구조를 만들면 된다.이 서블릿이 URL을 분석해서 알맞은 Command 객체에게 처리를 넘겨주는 방식인 것이다. 그럼 이 역할을 수행할 서블릿을 만들자com.study.controller 패키지를 만들고 직관적으로 BoardController라고 이름 붙혔다..
이제 뭘해야하지?지난 글에서 BoardWriteCommand 를 구현했고 그걸 통해서 사용자가 입력한 데이터를 BoardDto에 담는것까지는 성공했다.그럼 이제 DTO를 전달받아 실제 DB에 쿼리를 수행할 DAO 메서드를 구현할 차례다 어떻게 구현해야할까?BoardDao 클래스에 insertBoard 메서드를 추가할것이다정보를 DB에 넣어주니 insert가 맞는거 같아 insertBoard라고 작명했다 //게시글 등록을 위한 메서드 public void insertBoard(BoardDto dto) { Connection conn = null; PreparedStatement pstmt = null; //실행할 쿼리문 - 데이터가 들어갈 자리는 ?로 비워둔다 String sql =..
지난 글에서 커맨드 객체가 지켜야 할 공통 규격인 BoardCommand 인터페이스를 정의했다.규격을 만들었으니 이제 상속을 받아 비즈니스 로직을 수행할 첫번째 구현체, BoardWriteCommand 클래스를 작성해보자쉽게말해 글쓰기 주문서를 작성할 차례다 그래서 BoardWriteCommand 클래스는 무슨 일을 하는데?사용자가 작성한 게시글 정보를 서블릿의 request 객체로부터 추출해서 DTO에 담고, DAO에게 전달하는 중간 다리 역할을 한다 com.study.command 패키지에 BoardWriteCommand 클래스를 생성하고 만들어둔 인터페이스를 implements 해주자 public class BoardWriteCommand implements BoardCommand { @Overr..
