JSP(자바 서버 페이지) 7日次

JUNICHI・準一·2022년 11월 30일
0

JSP

목록 보기
7/10

JSP 面接 族譜 整理 (7日次)

1. EMP 테이블을 DAO、DTO 클래스로 만들어 出力하시오。

EmpDao.java

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

import edu.global.ex.dto.EmpDto;

public class EmpDao {
	// 커넥션풀을 使用하기 爲한 소스코드 (DataSource를 import할 時 java.sql로 해야한다。)
	private DataSource dataSource; // 커넥션풀 客體
	
	public EmpDao() {
		
		try {
			
			Context context = new InitialContext();
			dataSource = (DataSource) context.lookup("java:comp/env/jdbc/oracle");
			
		} catch (NamingException e) {
			e.printStackTrace();
		}
		
	}
	
	public List<EmpDto> empList() {
		
		List<EmpDto> emps = new ArrayList<>();
		
		Connection connection = null;
		PreparedStatement preparedStatement = null;
		ResultSet resultSet = null;
		
		try {
			
			String query = "SELECT * FROM EMP";
			connection = dataSource.getConnection();
			preparedStatement = connection.prepareStatement(query);
			resultSet = preparedStatement.executeQuery();
			
			while (resultSet.next()) {
				
				int empno = resultSet.getInt("empno");
				String ename = resultSet.getString("ename");
				String job = resultSet.getString("job");
				int mgr = resultSet.getInt("mgr");
				String hiredate = resultSet.getString("hiredate");
				int sal = resultSet.getInt("sal");
				String comm = resultSet.getString("comm");
				int deptno = resultSet.getInt("deptno");
				
				EmpDto dto = new EmpDto(empno, ename, job, mgr, hiredate, sal, comm, deptno);
				emps.add(dto);
				
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			
			try {
				
				if (resultSet != null) {
					resultSet.close();
				}
				
				if (preparedStatement != null) {
					preparedStatement.close();
				}
				
				if (connection != null) {
					connection.close();
				}
				
			} catch (Exception e2) {
				e2.printStackTrace();
			}
			
		}
		return emps;
		
	}
	
}

EmpDto.java

public class EmpDto {

	private int empno;
	private String ename;
	private String job;
	private int mgr;
	private String hiredate;
	private int sal;
	private String comm;
	private int deptno;

	public EmpDto() {

	}

	public EmpDto(int empno, String ename, String job, int mgr, String hiredate, int sal, String comm, int deptno) {

		this.empno = empno;
		this.ename = ename;
		this.job = job;
		this.mgr = mgr;
		this.hiredate = hiredate;
		this.sal = sal;
		this.comm = comm;
		this.deptno = deptno;

	}

	public int getEmpno() {
		return empno;
	}

	public void setEmpno(int empno) {
		this.empno = empno;
	}

	public String getEname() {
		return ename;
	}

	public void setEname(String ename) {
		this.ename = ename;
	}

	public String getJob() {
		return job;
	}

	public void setJob(String job) {
		this.job = job;
	}

	public int getMgr() {
		return mgr;
	}

	public void setMgr(int mgr) {
		this.mgr = mgr;
	}

	public String getHiredate() {
		return hiredate;
	}

	public void setHiredate(String hiredate) {
		this.hiredate = hiredate;
	}

	public int getSal() {
		return sal;
	}

	public void setSal(int sal) {
		this.sal = sal;
	}

	public String getComm() {
		return comm;
	}

	public void setComm(String comm) {
		this.comm = comm;
	}

	public int getDeptno() {
		return deptno;
	}

	public void setDeptno(int deptno) {
		this.deptno = deptno;
	}

}

emp.jsp

<%@page import="edu.global.ex.dto.EmpDto"%>
<%@page import="java.util.List"%>
<%@page import="edu.global.ex.dao.EmpDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%

	EmpDao empDao = new EmpDao();
	List<EmpDto> emps = empDao.empList();

	for (EmpDto emp : emps) {
	      
		out.print("社番" + emp.getEmpno() + 
	              "	姓名" + emp.getEname() +
	              "	職種" + emp.getJob() +
	              "	매니저" + emp.getMgr() +
	              "	入社日" + emp.getHiredate() +
	              "	月給" + emp.getSal() +
	              "	賞與" + emp.getComm() +
	              "	部署番號" + emp.getDeptno() + "<br>"         
	            );
		
	   }

%>
</body>
</html>

2. DEPT 테이블을 DAO、DTO 클래스로 만들어 出力하시오。

DeptDao.java

3. EMP 테이블의 總 月給合(社員 全員의 月給合)을 出力하시오。

4. CP(Connection Pool)에 對하여 說明하시오。

5. EL에 對하여 說明하시오。

6. 下段의 액션태그를 EL로 表現하시오。

<jsp:getProperty name="member" property="name" />
profile
準一(じゅんいち)の開発学習用Blogです。

0개의 댓글