JSP 프로그래밍 5일차 수업

김형우·2022년 11월 29일
0

JSP

목록 보기
5/9

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

emp.jsp


<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@ 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>
<table align="center" border="1">
<tr>
<th>empno</th>
<th>ename</th>
<th>job</th>
<th>mgr</th>
<th>hiredate</th>
<th>sal</th>
<th>comm</th>
<th>deptno</th>

<!-- empno, ename, job, mgr, hiredate, sal, comm, deptno -->
<%
	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()) {
			String empno = resultSet.getString("empno");
			String ename = resultSet.getString("ename");
			String job = resultSet.getString("job");
			String mgr = resultSet.getString("mgr");
			String hiredate = resultSet.getString("hiredate");
			String sal = resultSet.getString("sal");
			String comm = resultSet.getString("comm");
			String deptno = resultSet.getString("deptno");
		
			//empno, ename, job, mgr, hiredate, sal, comm, deptno
			out.println("<tr>");
			out.println("<td>"+ empno +"</td>");
			out.println("<td>"+ ename +"</td>");
			out.println("<td>"+ job +"</td>");
			out.println("<td>"+ mgr +"</td>");
			out.println("<td>"+ hiredate +"</td>");
			out.println("<td>"+ sal +"</td>");
			out.println("<td>"+ comm +"</td>");
			out.println("<td>"+ deptno +"</td>");
			out.println("</tr>");
		}
		
	}catch(Exception e){
		
	}finally{
		try{
			if(resultSet != null) resultSet.close();
			if(statement != null) statement.close();
			if(connection != null) connection.close();
		} catch(Exception e){}
	}
	
%>
</tr>
</table>
</body>
</html>

2. DML, DDL, DCL 에 대하여 설명하시오.

  • DML : Data Manipulation Language

    번역하면 데이터 조작어이며,
    테이블의 데이터를 조회하거나 검색하는 SELECT, 테이블에 들어가있는 데이터에 변형을 가하는 INSERT, UPDATE, DELETE등이 있다.

  • DDL : Data Definition Language

    번역하면 데이터 정의어이며,
    테이블의 데이터 구조를 정의하는데 사용되는 명령어이다.
    속해있는 명령어로는 CREATE, ALTER, DROP, RENAME, TRUNCATE등이 있다.

  • DCL : Data Control Language

    번역하면 데이터 정의어이며,
    테이블의 데이터에 접근할수있는 권한을 주거나 박탈할때 사용한다. 속해있는 명령어로는 GRANT와 REVOKE가 있다.

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

  • ABS
  • floor
  • round
  • TRUNC
  • MOD

ABS : 절대값을 구하는 함수
floor : 소숫값을 버리는 함수
round : round(입력한 수, n번째 자리수에서 반올림)
TRUNC : trunc(입력한 수, n번째 자리수에서 버림)
MOD : 나머지를 구하는 함수(프로그래밍 언어의 %와 동일)

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

  • drop

    drop은 데이터 테이블 객체 자체를 삭제시켜 내부의 프레임과 데이터를 모두 삭제시킨다.

  • truncate

    truncate는 데이터 테이블 객체의 프레임은 남겨두고, 내부의 데이터값만 완전히 삭제시키는 명령어이다.

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

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

  • Connection : 데이터베이스 연결

    사용예)
    DriverManager.getConnetion(JDBC URL, 계정 아이디, 비밀번호)
    DriverManager에서 커넥션 생성(연결시킴)

  • Statement : SQL문 실행

    사용예)
    connection.createStatement();
    connection객체에서 Statement를 생성시켜서 ResultSet객체에 넣어줌.

  • Resultset : 데이터베이스 연결 해제

    사용예)
    statement.executeQuery(실행할 쿼리문);
    statement객체를 받아와서 실제로 쿼리문을 받아온 후 담아둠.

7.아래를 참고 하여 이름,국,영,수 데이터 멤버로 갖는 클래스(자바 빈 java Bean)를 만든후,

아래와 같이 액션 태그를 활용하여 총점과 평균이 나오도록 하시오.(개별진척도 1번)


class Student {

	public Student() {}
    
    private String name;
    private int kor;
    private int eng;
    private int math;
    
    public int getKor() {
    	return kor;
    }
    
    public int setKor() {
    	this.kor = kor;
    }
    .... name, eng, math의 Getter, Setter 함수
    
    public int getTotal() {
    	return kor+eng+math;
    }
    // 총점 구하는 메소드
    public double getAverage() {
    	return (kor+eng+math)/3.0;
    }
    // 평균 구하는 메소드

}

ScoreForm.jsp

<%@ 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="StudentBean.jsp">
	
    	이름 :     <input type="text" name="name"><br>
        국어 점수 : <input type="number" name="kor"><br>
        영어 점수 : <input type="number" name="eng"><br>
        수학 점수 : <input type="number" name="math"><br>
		<input type="submit" value="전송">
	</form>
</body>
</html>

StudentBean.jsp

<%@ 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.kosmo.ex.Student"/>
<!-- 자바빈을 참조함(edu.kosmo.ex 패키지에 있는 Student 객체 참조)
	   Student student = new edu.kosmo.ex.Student();와 같은 역할을 한다.
-->
</head>
<body>
<jsp:setProperty name="student" property="name"  param="name"/>
<jsp:setProperty name="student" property="kor"  param="kor"/>
<jsp:setProperty name="student" property="eng"  param="eng"/>
<jsp:setProperty name="student" property="math"  param="math"/>

이름 : <jsp:getProperty name="student" property="name"/><br>
국어 : <jsp:getProperty name="student" property="kor" /><br>
영어 : <jsp:getProperty name="student" property="eng"/><br>
수학 : <jsp:getProperty name="student" property="math" /><br>
총점 : <jsp:getProperty name="student" property="total"/><br>
평균 : <jsp:getProperty name="student" property="average" /><br>

</body>
</html>
profile
개발자 지망생

0개의 댓글