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

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

JSP

목록 보기
6/10

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

1. EMP를 emp.jsp로 出力하시오。

<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page import="edu.global.ex.Circle"%>
<%@ 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>
<jsp:useBean id="student" class="edu.global.ex.Student" />
</head>
<body>
<%
	Connection connection = null;
	Statement statement = null;
	ResultSet resultSet = null;
	
	String driver = "oracle.jdbc.driver.OracleDriver";
	String url = "jdbc:oracle:thin:@localhost:1521:xe";
	String uid = "scott";
	String upw = "tiger";
	
	String query = "select * from emp";
	
	try {
		
		Class.forName(driver);
		connection = DriverManager.getConnection(url, uid, upw);
		
		statement = connection.createStatement();
		resultSet = statement.executeQuery(query);
		
		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");
			String deptno = resultSet.getString("deptno");
			
			out.print("社員番號 : " + empno + " 姓名 : " + ename + " 職業 : " + job + " 매니저 : " + mgr + " 入社日 : " + hiredate + " 給與 : " + sal + " COMM : " + comm + " 部署番號 : " + deptno + "<br>");
			
		}
		
	} catch (Exception e) {
		
	} finally {
		
		try {
			
			if (resultSet != null) {
				resultSet.close();
			}
			
			if (statement != null) {
				statement.close();
			}
			
			if (connection != null) {
				connection.close();
			}
			
		} catch (Exception e) {
			
		}
		
	}
%>
</body>
</html>

2. bean의 槪念에 對하여 說明하시오。

JavaBean(자바빈)
JSP에서 客體를 가져오기 爲한 技法으로 데이터傳達 오브젝트 파일 DTO(Data Transfer Object)라고도한다。

Java로 作成된 컴포넌트들 卽、Class(클래스)를 一般的으로 意味한다。
JSP 프로그래밍에는 DTO(Data Transfer Object)나 DAO(Data Access Object)클래스의 客體를 JSP 페이지에 使用하기 爲해 使用한다。

JavaBean의 使用目的
JSP 페이지가 畫面 表現 部分과 로직들이 같이 存在하여 複雜한 構成을 可及的 避하고、JSP 페이지의 로직 部分을 分離해서 코드를 再使用함으로써 프로그램의 效率을 높이기 爲해서 使用한다。

JavaBean 使用方法

<jsp:useBean /> 태그

→ JavaBean客體를 生成하기 爲한 태그。 태그 屬性은 下段과 같다。

<jsp:useBean id="Bean名" class="JavaBean 클래스名" scope="使用範圍" />
  • id : 生成할 客體(인스턴스)의 이름을 定義 (省略不可能)
  • class : 客體를 生成할 클래스名을 定義 (패키지名.클래스名으로 設定)
  • scope : JavaBean客體가 共有되는 範圍를 指定 (scope省略時 基本값은 page)

<jsp:setProperty /> 태그

→ JavaBean 클래스의 屬性값을 設定하기 爲한 태그。屬性은 下段과 같다。

<jsp:setProperty name="Bean名" property="屬性名" value="設定할 값" />
<jsp:setProperty name="Bean名" property="屬性名" param="파라미터名" />
  • name : useBean을 利用해 生成한 客體名을 明視
  • property : 값을 貯藏할 프로퍼티의 이름을 明視
  • value : 貯藏할 값을 定義

<jsp:getProperty /> 태그

→ JavaBean 클래스의 屬性값을 가져오기 爲한 태그。屬性은 下段과 같다。

<jsp:getProperty name="Bean名" property="屬性名" />
  • name : 값을 가져올 Bean의 id
  • property : 가져올 屬性의 이름

JavaBean 設計規約
設計規約을 따라야한다。設計規約과 맞지 않는 境遇 JavaBean의 特性을 갖지 않는 클래스가 되어버린다。

  • 멤버變數마다 別途의 getter、setter 메소드가 存在해야한다。
  • get 메소드는 媒介變數가 存在하지 않아야한다。
  • set 메소드는 必히 하나 以上의 媒介變數가 存在해야한다。
  • 生成子는 媒介變數가 存在하지 않아야한다。
  • 멤버變數의 接近制御子는 private이고 各 getter、setter 메소드의 接近制御는 public、클래스의 接近制御子는 public으로 定義한다。
profile
準一(じゅんいち)の開発学習用Blogです。

0개의 댓글