JAVA

Dto, Dao, DaoImpl && Servlet, jsp

Garonguri 2022. 3. 27. 17:05
728x90

  1. DTO
    1. public으로 class를 선언한다.
    2. private로 멤버변수, / public으로  빈 생성자, 기본 생성자를 선언한다.
    3. 멤버 변수에 대해 setter, getter, tostring(test용)을 선언한다.
  2. DAO
    1. class가 아닌 interface로 선언한다.
    2. DaoImpl에서 필요한 함수를 선언한다. (예외까지 날려주기)
  3. DAOImpl
    1. Singleton! 
    2. Dao를 implements한다.
    3. private로 기본 생성자를 선언한다.
    4. private static으로 Dao를 선언한다.
    5. public static으로 getDao를 만들어서 다른데서 쓸 수 있게 한다.
    6. Dao에 만들어뒀던 함수를 override한다.
      1. return할 대상 초기화.
      2. sql문 작성. (String으로)
      3. Connection, PreparedStatement, Resultset 초기화 (con, pstmt, rset)
        1. try{ 
        2. con = DBUtil.getInstatnce().getConnection();
        3. pstmt = con.prepareStatement(sql);
        4. rset = pstmt.executeQuery();
        5. sql문에서 ?가 한개라면 if(rest.next()), 여러개 라면 while(rset.next())로 묶고 나머지 필요한 애들을 rset.getString으로 채워준다. 
        6. 그 다음 return type에 맞게 새로 객체 생성해서 반환.
        7. }
        8. finally{
        9. DBUtil.getInstance().close(rset, pstmt, con); //순서대로 반환
        10. }
      4. return TYPE;

 



  1. doPost
    1. encoding을 맞춰주어야 한다. request.setCharacterEncoding("utf-8");
  2. doGet
    1. request에게 Parameter로 action을 받아온다. String으로 받아옴
    2. String action = request.getParameter("action");
    3. if(action=null) action="/"; -> action이 없으면 url이동안함.
    4. try{
      1. if(action="/")  index.jsp로 이동
      2. if(action="login") login함수 실행
      3. if(action="logout") logout함수 실행
      4. if(action="registForm") registForm함수 실행
      5. if(action="regist") regist함수 실행
    5. }catch(Exception e){
    6. throw new ServletException(e);}
  3. lndex.jsp
    1. include에서 경로를 잡을 때, con
728x90