JAVA
Dto, Dao, DaoImpl && Servlet, jsp
Garonguri
2022. 3. 27. 17:05
728x90
- DTO
- public으로 class를 선언한다.
- private로 멤버변수, / public으로 빈 생성자, 기본 생성자를 선언한다.
- 멤버 변수에 대해 setter, getter, tostring(test용)을 선언한다.
- DAO
- class가 아닌 interface로 선언한다.
- DaoImpl에서 필요한 함수를 선언한다. (예외까지 날려주기)
- DAOImpl
- Singleton!
- Dao를 implements한다.
- private로 기본 생성자를 선언한다.
- private static으로 Dao를 선언한다.
- public static으로 getDao를 만들어서 다른데서 쓸 수 있게 한다.
- Dao에 만들어뒀던 함수를 override한다.
- return할 대상 초기화.
- sql문 작성. (String으로)
- Connection, PreparedStatement, Resultset 초기화 (con, pstmt, rset)
- try{
- con = DBUtil.getInstatnce().getConnection();
- pstmt = con.prepareStatement(sql);
- rset = pstmt.executeQuery();
- sql문에서 ?가 한개라면 if(rest.next()), 여러개 라면 while(rset.next())로 묶고 나머지 필요한 애들을 rset.getString으로 채워준다.
- 그 다음 return type에 맞게 새로 객체 생성해서 반환.
- }
- finally{
- DBUtil.getInstance().close(rset, pstmt, con); //순서대로 반환
- }
- return TYPE;
- doPost
- encoding을 맞춰주어야 한다. request.setCharacterEncoding("utf-8");
- doGet
- request에게 Parameter로 action을 받아온다. String으로 받아옴
- String action = request.getParameter("action");
- if(action=null) action="/"; -> action이 없으면 url이동안함.
- try{
- if(action="/") index.jsp로 이동
- if(action="login") login함수 실행
- if(action="logout") logout함수 실행
- if(action="registForm") registForm함수 실행
- if(action="regist") regist함수 실행
- }catch(Exception e){
- throw new ServletException(e);}
- lndex.jsp
- include에서 경로를 잡을 때, con
728x90