✅ import 하기
📌 main 아키텍쳐
main클래스 ———> 서비스 ———> DAO ———> 오라클
- 2개의 jar를 build path
- 2개의 xml 파일 작성 ( com.config 패키지 )
- Configuration.xml
- DeptMapper.xml
- com.dto.DeptDTO 작성
- com.dao.DeptDAO 작성
- com.service.DeptService com.service.DepServiceImpl 작성
- DeptMain 작성 (main 메서드)
📌 web 아키텍쳐
서블릿 ———> 서비스 ———> DAO ———> 오라클
- 2개의 jar를 WEB-INF/lib 복사 하면 자동으로 build path 됨
- 2개의 xml 파일 작성 ( com.config 패키지 )
- Configuration.xml
- DeptMapper.xml
- com.dto.DeptDTO 작성
- com.dao.DeptDAO 작성
- com.service.DeptService com.service.DepServiceImpl 작성
- DeptServlet 작성 ( 서블릿 )
mybatisstudy7 에서 복붙
DeptListServlet 생성
✅ DeptListServlet서블릿맵핑
✅ 테이블 작성package com.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.dto.DeptDTO; import com.service.DeptService; import com.service.DeptServiceImpl; @WebServlet("/list") public class DeptListSelect extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 전체목록 DeptService service = new DeptServiceImpl(); List<DeptDTO> list = service.findAll(); // 응답처리 response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.print("<html><head>"); out.print("<meta charset=\"UTF-8\">"); out.print("<title>Insert title here</title>"); out.print("</head>"); out.print("<body>"); out.print("<h1>Dept 목록</h1>"); out.print("<table border='1'>"); out.print("<tr>"); out.print("<th>부서번호</th>"); out.print("<th>부서명</th>"); out.print("<th>부서위치</th>"); out.print("</tr>"); for (DeptDTO dto : list) { out.print("<tr>"); out.print("<td>"+dto.getDeptno()+"</td>"); out.print("<td>"+dto.getDname()+"</td>"); out.print("<td>"+dto.getLoc()+"</td>"); out.print("</tr>"); } out.print("</table>"); out.print("</body></html>"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
✅ 결과
📌 DB 연동하기 위한 4가지 정보를 외부파일에 저장
1️⃣ 현재
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
<property name="username" value="SCOTT"/>
<property name="password" value="TIGER"/>
</dataSource>
2️⃣ 외부파일로 추출해서 사용 ( com/config/jdbc.properties )
- properties 파일의 특징은 key=value 쌍으로 저장, 주석문 #, 한글은 자동으로 유니코드로 변경됨 \uXXXX
만약에 유니코드로 변경하지 않으려면 저장 시 파일타입을 utf-8로 저장하면 된다.
외부 파일에 저장
Configuration.xml에 jdbc.properties 등록
'Programming Language > SERVLET' 카테고리의 다른 글
서블릿 (servlet) - DB연동 (실습2 수정,삭제) (0) | 2023.08.11 |
---|---|
서블릿 (servlet) - DB연동 (실습1 등록) (0) | 2023.08.11 |
서블릿 (servlet) - Filter API 활용 (0) | 2023.08.10 |
서블릿 (servlet) - Scope (0) | 2023.08.10 |
서블릿 (servlet) - ServletConfig vs ServletContext (0) | 2023.08.10 |