[MVC]2021.01.03

기록지·2021년 1월 3일
0

boardController.java

  1. [20번] board/board.do 즉 list.jsp 를 불러온다.
  2. [24번] service 메소드를 실행한다.
  3. 처음m값은 null 이기에 else 문을 실행한다.->list 메서드 실행
    		throws ServletException, IOException {
    	String writer = request.getParameter("writer");
    	String email = request.getParameter("email");
    	String subject = request.getParameter("subject");
    	String content = request.getParameter("content");
    	board_address dto = new board_address(-1, writer, email, subject, content, null);
    	boardService service = boardService.getInstance();
    	service.insertS(dto);
    	System.out.println("insertS 수행 : ");
    	String view = "board.do";
    	response.sendRedirect(view);
        
       




dto 값을 인스턴스화한 service타입의 insertS에 넣어준다.
->싱글톤 패턴(Singleton Pattern) 개념 적용
애플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고(Static) 그 메모리에 인스턴스를 만들어 사용하는 디자인패턴.

생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나고 최초 생성 이후에 호출된 생성자는 최초에 생성한 객체를 반환한다. (자바에선 생성자를 private로 선언해서 생성 불가하게 하고 getInstance()로 받아쓰기도 함)


public void insertS(board_address dto){
		dao.insert(dto);
	}
    
를 실행하기 위해 dao 로 간다.
    
   void insert(board_address dto) {
		//insert는 기능구현(view에 쓰여지는거 .. 이라 보여줄필요가 없어서 void 써주기.
		Connection con = null;
		PreparedStatement pstmt = null;
		String sql = INSERT;
		try {
			con = ds.getConnection();
			pstmt = con.prepareStatement(sql);
			pstmt.setString(1, dto.getWriter());
			pstmt.setString(2, dto.getEmail());
			pstmt.setString(3, dto.getSubject());
			pstmt.setString(4, dto.getContent());
			pstmt.executeUpdate();
			System.out.println("insert 수행 : ");
		}catch(SQLException se) {	
			System.out.println("insert 에러 : ");
		}finally {
			try {
				if(pstmt != null) pstmt.close();
				if(con != null) con.close();
			}catch(SQLException se) {}
		}
	}
  
  
    
    
    

0개의 댓글