JSP 6일차

MOZZI KIM·2022년 11월 29일
0

JSP

목록 보기
6/10
post-thumbnail

1. emp 를 emp.jsp 로 출력하시오.

<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Statement"%>
<%@ 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>
<%
	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");
			int deptno = resultSet.getInt("deptno");
			
			out.print("사원번호 : " + empno + " 이름 : " + ename + " JOB : " + job + " MGR : " + 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. DDL, DML, DCL 에 대하여 설명하시오.

📌 DDL(Data Definition Language, 데이터 정의어)

데이터베이스를 정의하는 언어이며, 데이터리를 생성, 수정, 삭제하는 등의 데이터의 전체의 골격을 결정하는데 사용.
데이터베이스, 테이블등을 생성하는 역할을 한다.

  • SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용.
    데이터 베이스 관리자나 데이터베이스 설계자가 사용.

📌 DML (Data Manipulation Language, 데이터 조작어)

정의된 데이터베이스에 입력된 레코드를 조회하거나 수정하거나 삭제하는 등의 역할을 함

  • 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는데 사용.
    데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공한다.

📌 DCL(Data Control Language, 데이터 제어어)

데이터의 보안, 무결성, 데이터 회복, 병행 수행 제어 등을 정의하는 데 사용하는 언어

  • 데이터베이스 관리자가 데이터 관리를 목적으로 사용함

[출처] [DB] SQL 데이터 정의어, 조작어, 제어어(DDL,DML,DCL)|작성자 헤세드

3.아래의 함수에 대하여 설명하시오.

-ABS
-floor
-round
-TRUNC
-MOD


4.ddl 에서 TRUNCATE 과 drop 의 차이는?


DELETE에 조건(Where)이 없으면 TRUNCATE와 동일하게 모든 데이터가 삭제되고 테이블 스키마만 남는 빈 껍데기 형태가 된다.
그러면 속도가 빠른 TRUNCATE 쓰는게 좋겠네? 라고 생각하기 쉽지만
DELETE 명령어는 데이터 복구가 가능하고, 로그를 남기므로, 중점을 어디에 두느냐에 따라 다르게 사용될 수 있지만 ⭐함부로 쓰지 않기⭐


5.bean 의 개념 대하여 설명하시오.

📌 JAVA Bean이란?

모듈화된 MVC에서 View가 JSP라면, Model에 해당하는 것이 Bean이다.
컴포넌트 즉, DTO와 동일한 역할을 수행한다.
JSP와의 연동을 위해 만들어진 자바 컴포넌트인 Bean을 통해 JSP와 클래스들간에 데이터를 쉽게 연동하고, 데이터 베이스 연동이나 View 데이터 교환에 사용된다.

📌 자바빈 사용목적
JSP 페이지가 화면 표현 부분과 로직들이 같이 존재하여 복잡한 구성을 가급적 피하고, JSP 페이지의 로직 부분을 분리해서 코드를 재사용함으로써 프로그램의 효율을 높이기 위해서 사용한다.


6. 아래의 3종 세트를 설명하시오.

  • Connetion :
  • Statement :
  • Resultset :


7.아래를 참고 하여, 이름,국,영,수 데이터 멤버로 갖는 클래스(자바 빈 java Bean)를 만든후 아래와 같이 액션 태그를 활용하여 총점고 평균이 나오도록 하시오.(개별진척도 1번)

=========================================================

Student student = new edu.kosmo.ex.Student();

<jsp:useBean id="student" class="edu.kosmo.ex.Student"></jsp:useBean>

<jsp:setProperty name="student" property="name" value="홍길동" />

~~~~~~~~~~~

~~~~~~~~~~~~~

이름 : <jsp:getProperty ~~~ /><br />

국어 : <jsp:getProperty ~~~ /><br />

영어 : <jsp:getProperty ~~~ /><br />

수학 : <jsp:getProperty ~~~ /><br />

총점 : <jsp:getProperty ~~~ /><br />

평균 : <jsp:getProperty ~~~ /><br />

=======================================================
<%@ 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>
	<form action="grade.jsp">
		이름 : <input type="text" name="name" size="10" /><br/>
		국어 : <input type="number" name="kor" size="10" /><br/>
		영어 : <input type="number" name="eng" size="10" /><br/>
		수학 : <input type="number" name="math" size="10" /><br/>
		<input type="submit" value="전송"> <input type="reset" value="초기화">
	</form>

</body>
</html>
-----------------------------------------------------------------------------
<%@ 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>
	<jsp:useBean id="grade" class="edu.global.ex.Grade2" />
	<jsp:setProperty property="name" name="grade" param="name"/>
	<jsp:setProperty property="kor" name="grade" param="kor"/>
	<jsp:setProperty property="eng" name="grade" param="eng"/>
	<jsp:setProperty property="math" name="grade" param="math"/>
	
	이름 : <jsp:getProperty property="name" name="grade"/><br/>
	국어 : <jsp:getProperty property="kor" name="grade"/><br/>
	영어 : <jsp:getProperty property="eng" name="grade"/><br/>
	수학 : <jsp:getProperty property="math" name="grade"/><br/>
	총점 : <jsp:getProperty property="total" name="grade"/><br/>
	평균 : <jsp:getProperty property="avg" name="grade"/><br/>

</body>
</html>
--------------------------------------------------------------------------
package edu.global.ex;

public class Grade2 {
	private int kor, eng, math;
	private String name;

	public Grade2(String name,int kor, int eng, int math) {
		this.name = name;
		this.kor = kor;
		this.eng = eng;
		this.math = math;
	}
	public int getKor() {
		return kor;
	}
	public void setKor(int kor) {
		this.kor = kor;
	}
	public int getEng() {
		return eng;
	}
	public void setEng(int eng) {
		this.eng = eng;
	}
	public int getMath() {
		return math;
	}
	public void setMath(int math) {
		this.math = math;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Grade2() {
		// TODO Auto-generated constructor stub
	}

	public int getTotal() {
		return kor + eng + math;
	}

	public double getAvg() {
		return getTotal() / 3.0;
	}

}
profile
코린이

1개의 댓글

comment-user-thumbnail
2022년 11월 29일

쌤 6번 훔쳐갈게요~!

답글 달기