๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT์ž๊ฒฉ์ฆ ๊ณต๋ถ€/์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ ์‹ค๊ธฐ

[์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ ๊ณผ์ •ํ‰๊ฐ€ํ˜• ์‹ค๊ธฐ] ๊ณจํ”„์žฅ ํšŒ์›๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ - JSP

by yunamom 2022. 7. 1.
728x90
300x250

์•ˆ๋…•ํ•˜์„ธ์š” yunamom ์ž…๋‹ˆ๋‹ค :D

์ •๋ณด์ฒ˜๋ฆฌ์‚ฐ์—…๊ธฐ์‚ฌ ๊ณผ์ •ํ‰๊ฐ€ํ˜• ์‹ค๊ธฐ ์—ฐ์Šต๋ฌธ์ œ์ธ ๊ณจํ”„์—ฐ์Šต์žฅ ํšŒ์›๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์„ 100% JSP ๋กœ ๊ตฌํ˜„ํ•œ

ONLY ์‹œํ—˜์— ํ•ฉ๊ฒฉํ•˜๊ธฐ ์œ„ํ•œ ์†Œ์Šค์ฝ”๋“œ ๋ฅผ ํฌ์ŠคํŒ…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿ˜Š(์ดˆ์Šคํ”ผ๋“œ๋กœ ๊ตฌํ˜„ํ• ์ˆ˜ ์žˆ์Œ)

๊ตฌํ˜„ํ•  ํŒŒ์ผ๋ชฉ๋ก (์ด 11๊ฐœ)

์ˆœ์„œ ( ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๐Ÿ‘‰๐Ÿป ํ”„๋ก ํŠธ ๐Ÿ‘‰๐Ÿป ๋ฐฑ์—”๋“œ ) 

 

 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 

1. db.sql

CREATE TABLE TBL_TEACHER_202201(
TEACHER_CODE CHAR(3) NOT NULL PRIMARY KEY,
TEACHER_NAME VARCHAR2(15),
CLASS_NAME VARCHAR2(20),
CLASS_PRICE NUMBER(8),
TEACHER_REGIST_DATE VARCHAR2(8)
);

CREATE TABLE TBL_MEMBER_202201(
C_NO CHAR(5) NOT NULL PRIMARY KEY,
C_NAME VARCHAR2(15),
PHONE VARCHAR2(11),
ADDRESS VARCHAR2(50),
GRADE VARCHAR2(6)
);

CREATE TABLE TBL_CLASS_202201(
REGIST_MONTH VARCHAR2(6),
C_NO CHAR(5),
CLASS_AREA VARCHAR2(15),
TUITION NUMBER(8),
TEACHER_CODE CHAR(3),
CONSTRAINT CLASS_PK PRIMARY KEY (REGIST_MONTH, C_NO)
);

INSERT INTO TBL_TEACHER_202201 VALUES('100','์ด์ดˆ๊ธ‰','์ดˆ๊ธ‰๋ฐ˜',100000,'20220101');
INSERT INTO TBL_TEACHER_202201 VALUES('200','๊น€์ค‘๊ธ‰','์ค‘๊ธ‰๋ฐ˜',200000,'20220102');
INSERT INTO TBL_TEACHER_202201 VALUES('300','๋ฐ•๊ณ ๊ธ‰','๊ณ ๊ธ‰๋ฐ˜',300000,'20220103');
INSERT INTO TBL_TEACHER_202201 VALUES('400','์ •์‹ฌํ™”','์‹ฌํ™”๋ฐ˜',400000,'20220104');

INSERT INTO TBL_MEMBER_202201 VALUES('10001','ํ™๊ธธ๋™','01011112222','์„œ์šธ์‹œ ๊ฐ•๋‚จ๊ตฌ','์ผ๋ฐ˜');
INSERT INTO TBL_MEMBER_202201 VALUES('10002','์žฅ๋ฐœ์žฅ','01022223333','์„ฑ๋‚จ์‹œ ๋ถ„๋‹น๊ตฌ','์ผ๋ฐ˜');
INSERT INTO TBL_MEMBER_202201 VALUES('10003','์ž„๊บฝ์ •','01033334444','๋Œ€์ „์‹œ ์œ ์„ฑ๊ตฌ','์ผ๋ฐ˜');
INSERT INTO TBL_MEMBER_202201 VALUES('20001','์„ฑ์ถ˜ํ–ฅ','01044445555','๋ถ€์‚ฐ์‹œ ์„œ๊ตฌ','VIP');
INSERT INTO TBL_MEMBER_202201 VALUES('20002','์ด๋ชฝ๋ฃก','01055556666','๋Œ€๊ตฌ์‹œ ๋ถ๊ตฌ','VIP');

INSERT INTO TBL_CLASS_202201 VALUES('202203','10001','์„œ์šธ๋ณธ์›',100000,'100');
INSERT INTO TBL_CLASS_202201 VALUES('202203','10002','์„ฑ๋‚จ๋ถ„์›',100000,'100');
INSERT INTO TBL_CLASS_202201 VALUES('202203','10003','๋Œ€์ „๋ถ„์›',200000,'200');
INSERT INTO TBL_CLASS_202201 VALUES('202203','20001','๋ถ€์‚ฐ๋ถ„์›',150000,'300');
INSERT INTO TBL_CLASS_202201 VALUES('202203','20002','๋Œ€๊ตฌ๋ถ„์›',200000,'400');

TIP : ํ…Œ์ด๋ธ” alias, ์ปฌ๋Ÿผ๋ช…(ํ•œ๊ธ€) ์„ ์ ์–ด๋‘๊ณ  ์ฐธ๊ณ ํ•˜๋ฉด ์กฐ์ธํ• ๋•Œ ์ข€๋” ์‰ฝ๊ฒŒ ๊ตฌ๋ถ„ํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

 ํ”„๋ก ํŠธ 

 

2. index.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>
<%@ include file="topmenu.jsp" %>
<section>
	<div class="title">๊ณจํ”„์—ฐ์Šต์žฅ ํšŒ์›๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ</div>


</section>
<%@ include file="footer.jsp" %>
</body>
</html>

3. topmenu.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>
<link rel="stylesheet" href="style.css?ver=1">
</head>
<body>
<header>๊ณจํ”„์—ฐ์Šต์žฅ ํšŒ์›๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ ver 1.0</header>
<nav>
<ul>
	<li><a href="teacher.jsp">๊ฐ•์‚ฌ์กฐํšŒ</a></li>
	<li><a href="insert.jsp">์ˆ˜๊ฐ•์‹ ์ฒญ</a></li>
	<li><a href="member.jsp">ํšŒ์›์ •๋ณด์กฐํšŒ</a></li>
	<li><a href="result.jsp">๊ฐ•์‚ฌ๋งค์ถœํ˜„ํ™ฉ</a></li>
	<li><a href="index.jsp">ํ™ˆ์œผ๋กœ</a></li>
</ul>
</nav>
</body>
</html>

4. footer.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>
<footer>
HRDKOREA Copyright@2015 All rights reserved. Human Resources Development Service of Korea
</footer>
</body>
</html>

5. style.css 

(footer ๋ฐ”๋‹ฅ์— ๋ถ™๊ฒŒํ•˜๊ธฐ position: absolute; bottom: 0; ์ค‘์š”!! )

@charset "UTF-8";
*{
	margin: 0;
	padding: 0;
}
body{
	font-family: gulim;
	background: #cdcdcd;
}
header{
	top: 0;
	height: 150px;
	line-height: 150px;
	text-align: center;
	font-size: 30px;
	font-weight: 900;
	color: #fff;
	background: #333;
}
nav ul{
	height: 50px;
	line-height: 50px;
	background: #666;
}
nav ul li{
	list-style: none;
	float: left;
	padding: 0 15px;
}
a{
	text-decoration: none;
	color: #fff;
	font-weight: 500;
}
.btn{
	padding: 0.3rem;
}
a:hover, .btn:hover{
	cursor: pointer;
	opacity: 0.6;
}
section{
	width: 100%;
	
}

.title{
	margin: 2rem;
	font-size: 25px;
	font-weight: 900;
	text-align: center;
}
.wrapper{
	display: flex;
	justify-content: center;
	align-items: center;
	
	text-align: center;
}
.main{
	margin: 2rem;
}
table, th, td{
	border: 1px solid #333;
	border-collapse: collapse;
}
th, td{
	padding:0.5rem;
}
input, select{
	width: 40%;
	float: left;
	font-size: 15px;
	margin-right: 0.5rem;
}
.insertBox td{
	text-align: left;
}

footer{
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 50px;
	line-height: 50px;
	text-align: center;
	color: #fff;
	background: #333;
}

6. script.js

	
function fn_submit(){
	var fn = document.frm;
	
	if(fn.regist_month.value === ""){
		alert("์ˆ˜๊ฐ•์›”์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”!");
		fn.regist_month.focus();
		return false;
	}
	if(fn.c_no.value === ""){
		alert("ํšŒ์›๋ช…์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”!");
		fn.c_name.focus();
		return false;
	}
	if(fn.class_area.value === ""){
		alert("๊ฐ•์˜์žฅ์†Œ๋ฅผ ์„ ํƒํ•ด์ฃผ์„ธ์š”!");
		fn.class_area.focus();
		return false;
	}
	if(fn.tuition.value === ""){
		alert("๊ฐ•์˜๋ช…์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”!");
		fn.teacher_code.focus();
		return false;
	}
	
	fn.submit();
	
}
function fn_reset(){
	
	if(confirm("์ •๋ณด๋ฅผ ์ง€์šฐ๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค!")){
		location="insert.jsp";
	}
}
function fn_change1(){ //ํšŒ์›๋ช… ์…€๋ ‰ํŠธ๋ฐ•์Šค
	var fn = document.frm;
	
	/* ์ค‘ ์š” */
	fn.tuition.value = ""; //ํšŒ์›๋ณ„ ํ• ์ธ๋ฅ ์„ ์ ์šฉํ•ด์•ผํ•˜๋ฏ€๋กœ ์ˆ˜๊ฐ•๋ฃŒ ์ดˆ๊ธฐํ™”
	fn.teacher_code.options[0].selected = true; //์…€๋ ‰ํŠธ๋ฐ•์Šค ์ดˆ๊ธฐํ™”
	
	
	fn.c_no.value = fn.c_name.value; //ํšŒ์›๋ฒˆํ˜ธ ๋„ฃ์–ด์ฃผ๊ธฐ
	
}
function fn_change2(){ //๊ฐ•์˜์‹ ์ฒญ ์…€๋ ‰ํŠธ๋ฐ•์Šค
	var fn = document.frm;
	var price = fn.teacher_code.value * 1000; //์ˆ˜๊ฐ•๋ฃŒ
	var c_no = fn.c_no.value; // ํšŒ์›๋ฒˆํ˜ธ 20000์ด์ƒ 50%ํ• ์ธ
	
	if(c_no >= 20000) price *= 0.5; //50% ํ• ์ธ
	
	fn.tuition.value = price; //์ˆ˜๊ฐ•๋ฃŒ ๋„ฃ์–ด์ฃผ๊ธฐ
}

 

 ํ”„๋ก ํŠธ + ๋ฐฑ์—”๋“œ ์งฌ๋ฝ•.. (์ •์‹ ์—†์Œ ์ฃผ์˜)

teacher.jsp

7. teacher.jsp ( sql๋ฌธ substr, ||, decode ๋“ฑ ๊ธฐ๋ณธ ํ•จ์ˆ˜๋“ค ๋ฏธ๋ฆฌ ๊ณต๋ถ€ํ•ด์„œ ๋ฐ์ดํ„ฐ ํ•œ๋ฐฉ์— ๋‹ค ๋ถˆ๋Ÿฌ์˜ค๊ธฐ )

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>๊ฐ•์‚ฌ์กฐํšŒ</title>
</head>
<body>
<%@ include file="topmenu.jsp" %>
<section>

	<div class="title">๊ฐ•์‚ฌ์กฐํšŒ</div>
	<div class="wrapper">
	<table style="width: 700px;">
		<tr>
			<th>๊ฐ•์‚ฌ์ฝ”๋“œ</th>
			<th>๊ฐ•์‚ฌ๋ช…</th>
			<th>๊ฐ•์˜๋ช…</th>
			<th>์ˆ˜๊ฐ•๋ฃŒ</th>
			<th>๊ฐ•์‚ฌ์ž๊ฒฉ์ทจ๋“์ผ</th>
		</tr>
		<%
		try{
			Class.forName("oracle.jdbc.OracleDriver");
			Connection con = DriverManager.getConnection
			                 ("jdbc:oracle:thin:@//localhost:1521/xe","system","1234");
			
			Statement stmt = con.createStatement();
			
			request.setCharacterEncoding("UTF-8");
			String sql = "SELECT ";
			       sql+= "teacher_code, ";
			       sql+= "teacher_name, ";
			       sql+= "class_name, ";
			       sql+= "('โ‚ฉ' || TO_CHAR(class_price,'fm999,999,999')) class_price, ";
			       sql+= "(SUBSTR(teacher_regist_date,0,4) ";
			       sql+= "|| '๋…„' ";
			       sql+= "|| SUBSTR(teacher_regist_date,5,2) ";
			       sql+= "|| '์›”' ";
			       sql+= "|| SUBSTR(teacher_regist_date,7,2) ";
			       sql+= "|| '์ผ' )teacher_regist_date ";
			       sql+= "FROM tbl_teacher_202201";
			       
			ResultSet rs = stmt.executeQuery(sql);
			while(rs.next()){%>
		<tr>
			<td><%=rs.getString("teacher_code") %></td>
			<td><%=rs.getString("teacher_name") %></td>
			<td><%=rs.getString("class_name") %></td>
			<td><%=rs.getString("class_price") %></td>
			<td><%=rs.getString("teacher_regist_date") %></td>
		</tr>
		<%}
			con.close();
			stmt.close();
			
		}catch(Exception e){
			
		}
		%>		
		
	</table>
	</div>
	
</section>
<%@ include file="footer.jsp" %>
</body>
</html>

insert.jsp

8. insert.jsp ( ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ด๋ฒคํŠธํ•จ์ˆ˜ ์•Œ์•„๋‘๊ธฐ )

  1. ํšŒ์›๋ช… ์„ ํƒ์‹œ ํšŒ์›๋ฒˆํ˜ธ๋Š” ์ž๋™์œผ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.
  2. ํšŒ์›๋ฒˆํ˜ธ๊ฐ€ 20000 ์ด์ƒ์ธ ํšŒ์›์€ ์ˆ˜๊ฐ•๋ฃŒ 50% ํ• ์ธํ•ด์„œ ์ˆ˜๊ฐ•๋ฃŒ๊ฐ€ ์ž๋™์œผ๋กœ ๊ณ„์‚ฐ๋˜์–ด ๋‚˜ํƒ€๋‚œ๋‹ค.
  3. ๋ชจ๋“  ํ•ญ๋ชฉ์— ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์‹ค์‹œํ•˜๋ฉฐ, ๊ฐ’์ด ๋น„์–ด์žˆ๊ฑฐ๋‚˜ ์„ ํƒ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฉ”์„ธ์ง€๋ฅผ ๋„์šด ํ›„ ํฌ์ปค์Šค๋ฅผ ์ด๋™
  4. ๋‹ค์‹œ์“ฐ๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด "์ •๋ณด๋ฅผ ์ง€์šฐ๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค!"๋ฅผ ๋„์šฐ๊ณ  ๋ชจ๋“  ๊ฐ’ ์ดˆ๊ธฐํ™” ํ›„ ์ˆ˜๊ฐ•์›”๋กœ ํฌ์ปค์Šค๋ฅผ ์ด๋™
  5. ์ˆ˜๊ฐ•์‹ ์ฒญ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ฐ€ ํ†ต๊ณผ๋˜๋ฉด "์ˆ˜๊ฐ•์‹ ์ฒญ์ด ์ •์ƒ์ ์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!"๋ฅผ ๋„์šด ํ›„ ๋ฉ”์ธํŽ˜์ด์ง€๋กœ ์ด๋™ํ•จ.
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>์ˆ˜๊ฐ•์‹ ์ฒญ</title>
<script src="script.js"></script>
</head>
<body onload="document.frm.regist_month.focus();">
<%@ include file="topmenu.jsp" %>
<section>
<form name="frm" action="action.jsp" method="post">
	<div class="title">์ˆ˜๊ฐ•์‹ ์ฒญ</div>
	<div class="wrapper">
	<table class="insertBox" style="width: 600px;">
	<colgroup>
	<col width="30%;">
	<col width="70%;">
	</colgroup>
		<tr>
			<th>์ˆ˜๊ฐ•์›”</th>
			<td>
			<input type="text" name="regist_month" maxlength="6">
			2022๋…„03์›” ์˜ˆ)202203
			</td>
		</tr>
		<tr>
			<th>ํšŒ์›๋ช…</th>
			<td>
			<select name="c_name" onchange="fn_change1();">
			<option value="">ํšŒ์›๋ช…</option>
			<option value="10001">ํ™๊ธธ๋™</option>			
			<option value="10002">์žฅ๋ฐœ์žฅ</option>			
			<option value="10003">์ž„๊บฝ์ •</option>			
			<option value="20001">์„ฑ์ถ˜ํ–ฅ</option>			
			<option value="20002">์ด๋ชฝ๋ฃก</option>			
			</select>		
			
			</td>
		</tr>
		<tr>
			<th>ํšŒ์›๋ฒˆํ˜ธ</th>
			<td><input type="text" name="c_no" readonly>์˜ˆ)10001</td> 
		</tr>
		<tr>
			<th>๊ฐ•์˜์žฅ์†Œ</th>
			<td>
			<select name="class_area">
			<option value="">๊ฐ•์˜์žฅ์†Œ</option>
			<option value="์„œ์šธ๋ณธ์›">์„œ์šธ๋ณธ์›</option>
			<option value="์„ฑ๋‚จ๋ถ„์›">์„ฑ๋‚จ๋ถ„์›</option>
			<option value="๋Œ€์ „๋ถ„์›">๋Œ€์ „๋ถ„์›</option>
			<option value="๋ถ€์‚ฐ๋ถ„์›">๋ถ€์‚ฐ๋ถ„์›</option>
			<option value="๋Œ€๊ตฌ๋ถ„์›">๋Œ€๊ตฌ๋ถ„์›</option>
			
			</select>
			</td>
		</tr>
		<tr>
			<th>๊ฐ•์˜๋ช…</th>
			<td>
			<select name="teacher_code" onchange="fn_change2();">
			<option value="">๊ฐ•์˜์‹ ์ฒญ</option>
			<option value="100">์ดˆ๊ธ‰๋ฐ˜</option>
			<option value="200">์ค‘๊ธ‰๋ฐ˜</option>
			<option value="300">๊ณ ๊ธ‰๋ฐ˜</option>
			<option value="400">์‹ฌํ™”๋ฐ˜</option>
			
			</select>
			</td>
		</tr>
		<tr>
			<th>์ˆ˜๊ฐ•๋ฃŒ</th>
			<td><input type="text" name="tuition" readonly>์›</td>
		</tr>
		<tr>
			<td style="text-align:center;" colspan="2">
			<button class="btn" type="submit" onclick="fn_submit(); return false;">์ˆ˜๊ฐ•์‹ ์ฒญ</button>
			<button class="btn" type="button" onclick="fn_reset();" >๋‹ค์‹œ์“ฐ๊ธฐ</button>
			</td>			
		</tr>		
	</table>
	</div>
</form>
</section>
<%@ include file="footer.jsp" %>
</body>
</html>

member.jsp

9. member.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ํšŒ์›์ •๋ณด์กฐํšŒ</title>
</head>
<body>
<%@ include file="topmenu.jsp" %>
<section>

	<div class="title">ํšŒ์›์ •๋ณด์กฐํšŒ</div>
	<div class="wrapper">
	<table style="width: 700px;">
		<tr>
			<th>์ˆ˜๊ฐ•์›”</th>
			<th>ํšŒ์›๋ฒˆํ˜ธ</th>
			<th>ํšŒ์›๋ช…</th>
			<th>๊ฐ•์˜๋ช…</th>
			<th>๊ฐ•์˜์žฅ์†Œ</th>
			<th>์ˆ˜๊ฐ•๋ฃŒ</th>
			<th>๋“ฑ๊ธ‰</th>
		</tr>
		<%
		try{
			Class.forName("oracle.jdbc.OracleDriver");
			Connection con = DriverManager.getConnection
			                 ("jdbc:oracle:thin:@//localhost:1521/xe","system","1234");
			
			Statement stmt = con.createStatement();
			
			request.setCharacterEncoding("UTF-8");
			String sql = "SELECT ";
			       sql+= "(SUBSTR(C.regist_month,0,4) ";
		           sql+= "|| '๋…„' ";
		           sql+= "|| SUBSTR(C.regist_month,5,2) ";
		           sql+= "|| '์›”' )regist_month, ";
			       sql+= "C.c_no, ";
			       sql+= "M.c_name, ";
			       sql+= "T.class_name, ";
			       sql+= "C.class_area, ";
			       sql+= "('โ‚ฉ' || TO_CHAR(C.tuition,'fm999,999,999')) tuition, ";
			       sql+= "M.grade ";      
			       sql+= "FROM TBL_TEACHER_202201 T, TBL_MEMBER_202201 M, TBL_CLASS_202201 C ";
			       sql+= "WHERE C.c_no = M.c_no ";
			       sql+= "AND C.teacher_code = T.teacher_code";
			       
			ResultSet rs = stmt.executeQuery(sql);
			while(rs.next()){%>
		<tr>
			<td><%=rs.getString("regist_month") %></td>
			<td><%=rs.getString("c_no") %></td>
			<td><%=rs.getString("c_name") %></td>
			<td><%=rs.getString("class_name") %></td>
			<td><%=rs.getString("class_area") %></td>
			<td><%=rs.getString("tuition") %></td>
			<td><%=rs.getString("grade") %></td>
		</tr>
		<%}
			con.close();
			stmt.close();
			
		}catch(Exception e){
			
		}
		%>		
		
	</table>
	</div>

</section>
<%@ include file="footer.jsp" %>
</body>
</html>

result.jsp

10. result.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>๊ฐ•์‚ฌ๋งค์ถœํ˜„ํ™ฉ</title>
</head>
<body>
<%@ include file="topmenu.jsp" %>
<section>

	<div class="title">๊ฐ•์‚ฌ๋งค์ถœํ˜„ํ™ฉ</div>
	<div class="wrapper">
	<table style="width: 500px;">
		<tr>
			<th>๊ฐ•์‚ฌ์ฝ”๋“œ</th>
			<th>๊ฐ•์˜๋ช…</th>
			<th>๊ฐ•์‚ฌ๋ช…</th>
			<th>์ด๋งค์ถœ</th>
		</tr>
		<%
		try{
			Class.forName("oracle.jdbc.OracleDriver");
			Connection con = DriverManager.getConnection
			                 ("jdbc:oracle:thin:@//localhost:1521/xe","system","1234");
			
			Statement stmt = con.createStatement();
			
			request.setCharacterEncoding("UTF-8");
			//String sql = "SELECT C.teacher_code, T.class_name, T.teacher_name,('โ‚ฉ' || TO_CHAR(SUM(C.tuition),'fm999,999,999'))total FROM tbl_class_202201 C, tbl_teacher_202201 T WHERE C.teacher_code = T.teacher_code GROUP BY(C.teacher_code, T.class_name, T.teacher_name) ORDER BY C.teacher_code";
			String sql = "SELECT ";
			       sql+= "C.teacher_code , ";
			       sql+= "T.class_name , ";
			       sql+= "T.teacher_name , ";
			       sql+= "('โ‚ฉ' || TO_CHAR(SUM(C.tuition),'fm999,999,999'))total ";
			       sql+= "FROM TBL_CLASS_202201 C, TBL_TEACHER_202201 T ";
			       sql+= "WHERE C.teacher_code = T.teacher_code ";
			       sql+= "GROUP BY(C.teacher_code, T.class_name, T.teacher_name) ";
			       sql+= "ORDER BY C.teacher_code";
			       
			ResultSet rs = stmt.executeQuery(sql);
			while(rs.next()){%>
		<tr>
			<td><%=rs.getString("teacher_code") %></td>
			<td><%=rs.getString("class_name") %></td>
			<td style="text-align:right;"><%=rs.getString("teacher_name") %></td>
			<td style="text-align:right;"><%=rs.getString("total") %></td>
		</tr>
		<%} 
			con.close();
			stmt.close();
			
		}catch(Exception e){
			
		}
		%>		
	</table>
	</div>

</section>
<%@ include file="footer.jsp" %>
</body>
</html>

 

11. action.jsp (์ˆ˜๊ฐ•์‹ ์ฒญ์—์„œ ๋„˜์–ด์˜จ ๋ฐ์ดํ„ฐ๋ฅผ DB์— ์ €์žฅ)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%
request.setCharacterEncoding("UTF-8");

String regist_month = request.getParameter("regist_month");
String c_no = request.getParameter("c_no");
String class_area = request.getParameter("class_area");
String tuition = request.getParameter("tuition");
String teacher_code = request.getParameter("teacher_code");
int result = 0;
try{
	
	Class.forName("oracle.jdbc.OracleDriver");
	Connection con = DriverManager.getConnection
			         ("jdbc:oracle:thin:@//localhost:1521/xe","system","1234");

	String sql = "INSERT INTO TBL_CLASS_202201 ";
	       sql+= "VALUES (?,?,?,?,?)";
	PreparedStatement pstmt = con.prepareStatement(sql);
	
	pstmt.setString(1, regist_month);
	pstmt.setString(2, c_no);
	pstmt.setString(3, class_area);
	pstmt.setInt(4, Integer.parseInt(tuition));
	pstmt.setString(5, teacher_code);
			
	result = pstmt.executeUpdate();
	
	con.close();
	pstmt.close();
	
}catch(Exception e){}		

if(result == 1){
%>
	<script>
	alert("์ˆ˜๊ฐ•์‹ ์ฒญ์ด ์ •์ƒ์ ์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!");
	location = "index.jsp";
	</script>
<%
}else{
%>
	<script>
	alert("์ˆ˜๊ฐ•์‹ ์ฒญ ์‹คํŒจ! \n ๋ฉ”์ธํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค");
	location = "index.jsp";
	</script>
<%
}
%>

 

์ด๋ ‡๊ฒŒ 11๊ฐœ์˜ ํŒŒ์ผ๋กœ ๊ณจํ”„์—ฐ์Šต์žฅ ํšŒ์›๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์„ ์ดˆ์Šคํ”ผ๋“œ ๋กœ ๊ตฌํ˜„ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

*ONLY ์‹œํ—˜์„ ํ›„๋”ฑ ๋๋‚ด๊ธฐ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ฐธ๊ณ ๋งŒ ํ•ด์ฃผ์„ธ์š” ใ…Žใ…Ž..

insert ๊ฐ€ ์ข€ ํ—ท๊ฐˆ๋ฆด์ˆ˜ ์žˆ๋Š”๋ฐ์š” ์ฐจ๋ถ„ํžˆ ์—ฐ์Šตํ•ด๋ณด์‹œ๊ณ  ์•„๋ž˜์ฒ˜๋Ÿผ ํ•œ๊ธ€ ์ปฌ๋Ÿผ๋ช…๋„ ๊ฐ™์ด ์ ์–ด๋‘๊ธฐ ์ถ”์ฒœ๋“œ๋ ค์š”

ํ‰์†Œ์—๋Š” ์ž˜ํ•˜๋‹ค๊ฐ€๋„ ๋ง‰์ƒ ์‹œํ—˜์žฅ์—์„œ๋Š” ์ œํ•œ๋œ์‹œ๊ฐ„ + ๊ตฌ๊ธ€๋ง์„ ํ• ์ˆ˜์—†๋‹ค๋Š” ์••๋ฐ•๊ฐ(?) ์ด ์žˆ๋”๋ผ๊ตฌ์š”ใ…Žใ…Ž

์—ฐ์Šต์„ ๋งŽ์ดํ•˜๋Š”๊ฒŒ ์ค‘์š”ํ•œ๊ฑฐ๊ฐ™์•„์š” ใ…Žใ…Ž ๋‹ค๋“ค ํ•ฉ๊ฒฉํ•˜์„ธ์š” ํ™”์ดํŒ… ~~!

728x90
300x250

์ฝ”๋“œ