! 배워가고 있는 주인장이 쓴 글이니 정보의 정확성에 유의하시기 바랍니다 !
WebApp12
MemberScoreDTO.jsp : 필요 속성(private) 선언 및 getter / setter 구성
/*
MemberScoreDTO.java
- 객체 정용 (데이터 보관 및 전송) → JAVA Bean
*/
package com.test;
public class MemberScoreDTO
{
// VIEW_MEMBERSCORE 조회 항목을 기준으로
// 프로퍼티(property) 구성
private String sid, name; //-- 번호, 이름
private int kor, eng, mat; //-- 국어점수, 영어점수, 수학점수
private int tot, rank; //-- 총점, 석차(등수)
private double avg; //-- 평균
public String getSid()
{
return sid;
}
public void setSid(String sid)
{
this.sid = sid;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
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 getMat()
{
return mat;
}
public void setMat(int mat)
{
this.mat = mat;
}
public int getTot()
{
return tot;
}
public void setTot(int tot)
{
this.tot = tot;
}
public int getRank()
{
return rank;
}
public void setRank(int rank)
{
this.rank = rank;
}
public double getAvg()
{
return avg;
}
public void setAvg(double avg)
{
this.avg = avg;
}
}
MemberScoreDAO.jsp : 데이터베이스에 접근하여 기능을 수행하는 메소드 구성
/* ==================================================
MemberScoreDTO.java
- 객체 정용 (데이터 보관 및 전송) → JAVA Bean
====================================================*/
package com.test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import com.util.DBConn;
public class MemberScoreDAO
{
// 주요 속성 구성
private Connection conn;
// 데이터베이스 연결 담당 메소드
public Connection connection() throws ClassNotFoundException, SQLException
{
conn=DBConn.getConnection();
return conn;
}
// 데이터 입력 담당 메소드(성적 데이터 입력)
public int add(MemberScoreDTO dto) throws SQLException
{
int result=0;
String sql = "INSERT INTO TBL_MEMBERSCORE(SID, KOR, ENG, MAT) VALUES(?, ?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, Integer.parseInt(dto.getSid()));
pstmt.setInt(2, dto.getKor());
pstmt.setInt(3, dto.getEng());
pstmt.setInt(4, dto.getMat());
result = pstmt.executeUpdate();
pstmt.close();
return result;
}
// 성적 전체 리스트 출력 담당메소드
public ArrayList<MemberScoreDTO> list() throws SQLException
{
ArrayList<MemberScoreDTO> result = new ArrayList<MemberScoreDTO>();
String sql = "SELECT SID, NAME, KOR, ENG, MAT, (KOR+ENG+MAT) AS TOT,"
+ " (KOR+ENG+MAT)/3 AS AVG, RANK() OVER(ORDER BY (KOR+ENG+MAT) DESC) AS RANK"
+ " FROM VIEW_MEMBERSCORE ORDER BY SID";
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
while(rs.next())
{
MemberScoreDTO score = new MemberScoreDTO();
score.setSid(rs.getString("SID"));
score.setName(rs.getString("NAME"));
score.setKor(rs.getInt("KOR"));
score.setEng(rs.getInt("ENG"));
score.setMat(rs.getInt("MAT"));
score.setTot(rs.getInt("TOT"));
score.setAvg(rs.getDouble("AVG"));
score.setRank(rs.getInt("RANK"));
result.add(score);
}
rs.close();
pstmt.close();
return result;
}
// 데이터베이스 연결 종료(해제) 담당 메소드
public void close() throws SQLException
{
DBConn.close();
}
// 메소드 추가
// 번호 검색 담당 메소드
public MemberScoreDTO searchScore(String sid) throws SQLException
{
MemberScoreDTO result = new MemberScoreDTO();
String sql = "SELECT SID, NAME, KOR, ENG, MAT FROM VIEW_MEMBERSCORE WHERE SID=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, Integer.parseInt(sid));
ResultSet rs = pstmt.executeQuery();
while(rs.next())
{
result.setSid(rs.getString("SID"));
result.setName(rs.getString("NAME"));
result.setKor(rs.getInt("KOR"));
result.setEng(rs.getInt("ENG"));
result.setMat(rs.getInt("MAT"));
}
rs.close();
pstmt.close();
return result;
}
// 메소드 추가
// 성적 데이터 수정 담당 메소드
public int modify(MemberScoreDTO score) throws SQLException
{
int result = 0;
String sql = "UPDATE TBL_MEMBERSCORE SET KOR=?, ENG=?, MAT=? WHERE SID=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, score.getKor());
pstmt.setInt(2, score.getEng());
pstmt.setInt(3, score.getMat());
pstmt.setInt(4, Integer.parseInt(score.getSid()));
result = pstmt.executeUpdate();
pstmt.close();
return result;
}
// 메소드 추가
// 성적 데이터 삭제 담당 메소드
public int remove(String sid) throws SQLException
{
int result=0;
String sql = "DELETE FROM TBL_MEMBERSCORE WHERE SID=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, Integer.parseInt(sid));
result = pstmt.executeUpdate();
pstmt.close();
return result;
}
}
MemberScoreSelect.jsp : 회원 성적 관리 및 출력 페이지
+ 성적이 입력되지 않은 학생( : 각 점수가 -1 로 표시되는 학생)에 대해서는 입력 버튼만 활성화
+ 성적이 입력되어 있는 학생에 대해서는 수정 / 삭제 버튼 활성화
+ 입력에 대해서는 MemberScoreInsertForm.jsp / MemberScoreInsert.jsp
+ 수정에 대해서는 MemberScoreUpdateForm.jsp / MemberScoreUpdate.jsp
+ 삭제에 대해서는 MemberScoreDelete.jsp
<%@page import="com.test.MemberScoreDTO"%>
<%@page import="com.test.MemberScoreDAO"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
StringBuffer str = new StringBuffer();
str.append("<table class='table'>");
str.append("<tr>");
str.append("<th>번호</th>");
str.append("<th>이름</th>");
str.append("<th>국어점수</th>");
str.append("<th>영어점수</th>");
str.append("<th>수학점수</th>");
str.append("<th>총점</th>");
str.append("<th>평균</th>");
str.append("<th>석차</th>");
str.append("<th>성적처리</th>");
MemberScoreDAO dao = new MemberScoreDAO();
try
{
dao.connection();
for(MemberScoreDTO member : dao.list())
{
str.append("<tr>");
str.append("<td>"+ member.getSid()+"</td>");
str.append("<td>"+ member.getName()+"</td>");
str.append("<td class='txtScore'>"+ member.getKor()+"</td>");
str.append("<td class='txtScore'>"+ member.getEng()+"</td>");
str.append("<td class='txtScore'>"+ member.getMat()+"</td>");
str.append("<td class='txtScore'>"+ member.getTot()+"</td>");
str.append("<td class='txtScore'>"+ String.format("%.2f", member.getAvg())+"</td>");
str.append("<td class='txtScore'>"+ member.getRank()+"</td>");
str.append("<td>");
if (member.getKor()==-1 && member.getEng()==-1 && member.getMat()==-1)
{
// 성적 처리가 되지 않은 상태 → 입력 가능 / 수정 및 삭제 불가
str.append("<a href='MemberScoreInsertForm.jsp?sid="+ member.getSid() +"'>");
str.append("<button type='button' class='btn01'>입력</button>");
str.append("</a>");
str.append("<button type='button' class='btn02' disabled='disabled'>수정</button>");
str.append("<button type='button' class='btn02' disabled='disabled'>삭제</button>");
}
else
{
// 성적 처리 완료된 상태 → 입력 불가 / 수정 및 삭제 가능
str.append("<button type='button' class='btn02' disabled='disabled'>입력</button>");
str.append("<a href='MemberScoreUpdateForm.jsp?sid="+ member.getSid()+ "'>");
str.append("<button type='button' class='btn01'>수정</button>");
str.append("</a>");
str.append("<a href='javascript:memberScoreDelete("+ member.getSid() + ", \"" + member.getName() + "\")'>");
str.append("<button type='button' class='btn01'>삭제</button>");
str.append("</a>");
}
str.append("</td>");
str.append("</tr>");
}
str.append("</table>");
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
dao.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MemberScoreSelect.jsp</title>
<link rel="stylesheet" type="text/CSS" href="css/MemberScore.css">
<style type="text/css">
a {text-decoration: none;}
</style>
<script type="text/javascript">
function memberScoreDelete(sid, name)
{
// 확인
//alert("번호 : " + sid + ", 이름 : " + name);
// 이 회원의 성적 데이터를 정말 삭제할건지 확인
// ※ name 문자열을 넘기는 과정에서 따옴표 구성에 유의할 것~!!!
// 확인
// alert("sid:" + sid + ", name:" + name);
var res = confirm("번호 : " + sid + ", 이름 : " + name + "\n이 회원의 성적정보를 정말 삭제하시겠습니까?");
// 확인
//alert(res);
//-- confirm() 함수를 통해 호출되는 창은
// true(확인) 또는 false(취소)를 반환하게 된다.
// 확인 버튼 클릭 시 → res 가 true 일 때...
// MemberScoreDelete.jsp 페이지에 삭제 요청~!!!
if (res)
window.location.href="MemberScoreDelete.jsp?sid=" + sid;
}
</script>
</head>
<body>
<div>
<h1>회원 <span style="color: blue;">성적</span> 관리 및 출력 페이지</h1>
<hr>
</div>
<div>
<a href="MemberSelect.jsp"><button type="button">회원 명단 관리</button></a>
</div>
<br>
<div>
<!-- 번호 이름 국어점수 영어점수 수학점수 총점 평균 석차 성적처리 -->
<!-- ....................... 입력 수정 삭제 -->
<!-- ....................... 입력 수정 삭제 -->
<!-- ....................... 입력 수정 삭제 -->
<!-- ....................... 입력 수정 삭제 -->
<!-- ....................... 입력 수정 삭제 -->
<!-- ....................... 입력 수정 삭제 -->
<%=str.toString() %>
</div>
</body>
</html>
MemberScoreDelete.jsp : 회원 성적정보 삭제 기능 수행
MemberScoreSelect.jsp에서 확인을 받은 후 해당 학생의 번호(SID)를 넘겨 받아 수행함
<%@page import="com.test.MemberScoreDTO"%>
<%@page import="com.test.MemberScoreDAO"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
// MemberScoreDelete.jsp
// 이전 페이지(MemberScoreSelect.jsp)로부터 데이터 수신
// → sid
String sid = request.getParameter("sid");
String strAddr = "";
// MemberScoreDAO 인스턴스 생성
MemberScoreDAO dao = new MemberScoreDAO();
try
{
// 데이터베이스 연결
dao.connection();
// dao의 remove()메소드 호출 → (delete 쿼리문 수행)
dao.remove(sid);
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
// 데이터베이스 연결 종료
dao.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
// 클라이언트에 새로운 페이지를 다시 요청할 수 있도록 안내
response.sendRedirect("MemberScoreSelect.jsp");
// 보여주는 코드 제거
%>
MemberScoreInsertForm.jsp : 성적 입력 폼 구성
(실질적인 insert가 이뤄지는 파일은 아님,
input에 작성된 내용 + 번호(SID)을 실제 insert가 이뤄지는 MemberScoreInsert.jsp로 넘겨줌)
+ 점수들의 입력값이 0~100사이에 존재해야 한다는 조건 → memberScoreSubmit() 함수 구성
+ form 자체를 가져와서 submit과 reset을 수행함
<%@page import="com.test.MemberScoreDTO"%>
<%@page import="com.test.MemberScoreDAO"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
// 이전페이지(MemberScoreSelect.jsp)로부터 데이터 수신
// → sid
String sid = request.getParameter("sid");
String name="";
// name 을 조회하기 위해 dao 인스턴스 생성
MemberScoreDAO dao = new MemberScoreDAO();
try
{
//데이터베이스 연결
dao.connection();
MemberScoreDTO score = dao.searchScore(sid);
name = score.getName();
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
//데이터베이스 연결 종료
dao.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MemberScoreInsertForm.jsp</title>
<link rel="stylesheet" type="text/CSS" href="css/MemberScore.css">
<script type="text/javascript">
function memberScoreSubmit()
{
// 확인
//alert("함수 호출 확인~!!!");
var memberScoreForm = document.getElementById("memberScoreForm");
var kor = document.getElementById("kor");
var eng = document.getElementById("eng");
var mat = document.getElementById("mat");
var korMsg = document.getElementById("korMsg");
var engMsg = document.getElementById("engMsg");
var matMsg = document.getElementById("matMsg");
korMsg.style.display = "none";
engMsg.style.display = "none";
matMsg.style.display = "none";
if(kor.value=="" || isNaN(kor.value) || Number(kor.value)<0 || Number(kor.value)>100)
{
korMsg.style.display="inline";
kor.focus();
return;
}
if(eng.value=="" || isNaN(eng.value) || Number(eng.value)<0 || Number(eng.value)>100)
{
engMsg.style.display="inline";
eng.focus();
return;
}
if(mat.value=="" || isNaN(mat.value) || Number(mat.value)<0 || Number(mat.value)>100)
{
matMsg.style.display="inline";
mat.focus();
return;
}
// form 을 직접 지정하여 submit 액션 수행
memberScoreForm.submit();
}
function memberScoreReset()
{
var memberScoreForm = document.getElementById("memberScoreForm");
var korMsg = document.getElementById("korMsg");
var engMsg = document.getElementById("engMsg");
var matMsg = document.getElementById("matMsg");
korMsg.style.display = "none";
engMsg.style.display = "none";
matMsg.style.display = "none";
memberScoreForm.reset();
kor.focus();
}
</script>
</head>
<body>
<div>
<h1>회원 <span style="color: blue;">성적</span> 관리 및
<span style="color: red;">입력</span> 페이지</h1>
<hr>
</div>
<div>
<a href="MemberScoreSelect.jsp"><button type="button">회원 성적 관리</button></a>
</div>
<br>
<div>
<!-- 회원 성적 데이터 입력 폼 구성 -->
<form action="MemberScoreInsert.jsp?sid=<%=sid %>" method="post" id="memberScoreForm">
<table class="table">
<tr>
<th>번호</th>
<td>
<!-- 5 -->
<%=sid %>
</td>
<td></td>
</tr>
<tr>
<th>이름</th>
<td>
<!-- 고길동 -->
<%=name %>
</td>
<td></td>
</tr>
<tr>
<th>국어점수</th>
<td>
<input type="text" id="kor" name="kor" class="txtScore">
</td>
<td>
<span class="errMsg" id="korMsg">0~100 사이의 점수를 입력해야 합니다.</span>
</td>
</tr>
<tr>
<th>영어점수</th>
<td>
<input type="text" id="eng" name="eng" class="txtScore">
</td>
<td>
<span class="errMsg" id="engMsg">0~100 사이의 점수를 입력해야 합니다.</span>
</td>
</tr>
<tr>
<th>수학점수</th>
<td>
<input type="text" id="mat" name="mat" class="txtScore">
</td>
<td>
<span class="errMsg" id="matMsg">0~100 사이의 점수를 입력해야 합니다.</span>
</td>
</tr>
</table>
<br>
<a href="javascript:memberScoreSubmit()"><button type="button">입력하기</button></a>
<a href="javascript:memberScoreReset()"><button type="button">취소하기</button></a>
<a href="MemberScoreSelect.jsp"><button type="button">목록으로</button></a>
</form>
</div>
</body>
</html>
MemberScoreInsert.jsp : 실질적인 insert기능 수행
완료된 후 다시 MemberScoreSelect.jsp로 안내(클라이언트를 만날 일 없음)
<%@page import="com.test.MemberScoreDTO"%>
<%@page import="com.test.MemberScoreDAO"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
// MemberScoreInsert.jsp
// 이전 페이지(MemberScoreInsertForm.jsp)로부터 데이터 수신
// → kor, eng, mat + sid
request.setCharacterEncoding("UTF-8");
String sid = request.getParameter("sid");
String kor = request.getParameter("kor");
String eng = request.getParameter("eng");
String mat = request.getParameter("mat");
// MemberScoreDAO 인스턴스 생성
MemberScoreDAO dao = new MemberScoreDAO();
try
{
// 데이터베이스 연결
dao.connection();
// 수신된 데이터로 MemeberScoreDTO 구성
MemberScoreDTO score = new MemberScoreDTO();
score.setSid(sid);
score.setKor(Integer.parseInt(kor));
score.setEng(Integer.parseInt(eng));
score.setMat(Integer.parseInt(mat));
// dao의 add()메소드 호출 → 데이터 입력(insert 쿼리문 수행)
dao.add(score);
// 위 메소드 호출 결과 반환하는 값에 따라 결과 분기 처리 가능~!!!
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
// 데이터베이스 연결 종료
dao.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
// 클라이언트에 새로운 페이지를 다시 요청할 수 있도록 안내
response.sendRedirect("MemberScoreSelect.jsp");
// 보여주는 코드 제거
%>
MemberScoreUpdateForm.jsp : 수정을 위한 입력값을 받음
실질적인 update가 이뤄지는 파일은 아님,
input에 작성된 내용 + 번호(SID)을 실제 update가 이뤄지는 MemberScoreUpdate.jsp로 넘겨줌
+ 수정하려는 값을 입력하기 전에 이전 입력값이 input영역에 이미 입력되어있어야 함
+ 수정 역시, 점수들의 입력값이 0~100사이에 존재해야 한다는 조건 → memberScoreSubmit() 함수 구성
+ form 자체를 가져와서 submit과 reset을 수행함
<%@page import="com.test.MemberScoreDTO"%>
<%@page import="com.test.MemberScoreDAO"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
// 이전페이지(MemberScoreSelect.jsp)로부터 데이터 수신
// → sid
String sid = request.getParameter("sid");
String name="";
int kor=0;
int eng=0;
int mat=0;
// name 을 조회하기 위해 dao 인스턴스 생성
MemberScoreDAO dao = new MemberScoreDAO();
try
{
//데이터베이스 연결
dao.connection();
// 수신한 sid를 활용하여 name 및 각 과목의 기존 점수 얻어내기
MemberScoreDTO score = dao.searchScore(sid);
name = score.getName();
kor = score.getKor();
eng = score.getEng();
mat = score.getMat();
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
//데이터베이스 연결 종료
dao.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MemberScoreInsertForm.jsp</title>
<link rel="stylesheet" type="text/CSS" href="css/MemberScore.css">
<script type="text/javascript">
function memberScoreSubmit()
{
// 확인
//alert("함수 호출 확인~!!!");
var memberScoreForm = document.getElementById("memberScoreForm");
var kor = document.getElementById("kor");
var eng = document.getElementById("eng");
var mat = document.getElementById("mat");
var korMsg = document.getElementById("korMsg");
var engMsg = document.getElementById("engMsg");
var matMsg = document.getElementById("matMsg");
korMsg.style.display = "none";
engMsg.style.display = "none";
matMsg.style.display = "none";
if(kor.value=="" || isNaN(kor.value) || Number(kor.value)<0 || Number(kor.value)>100)
{
korMsg.style.display="inline";
kor.focus();
return;
}
if(eng.value=="" || isNaN(eng.value) || Number(eng.value)<0 || Number(eng.value)>100)
{
engMsg.style.display="inline";
eng.focus();
return;
}
if(mat.value=="" || isNaN(mat.value) || Number(mat.value)<0 || Number(mat.value)>100)
{
matMsg.style.display="inline";
mat.focus();
return;
}
// form 을 직접 지정하여 submit 액션 수행
memberScoreForm.submit();
}
function memberScoreReset()
{
var memberScoreForm = document.getElementById("memberScoreForm");
var korMsg = document.getElementById("korMsg");
var engMsg = document.getElementById("engMsg");
var matMsg = document.getElementById("matMsg");
korMsg.style.display = "none";
engMsg.style.display = "none";
matMsg.style.display = "none";
memberScoreForm.reset();
kor.focus();
}
</script>
</head>
<body>
<div>
<h1>회원 <span style="color: blue;">성적</span> 관리 및
<span style="color: red;">수정</span> 페이지</h1>
<hr>
</div>
<div>
<a href="MemberScoreSelect.jsp"><button type="button">회원 성적 관리</button></a>
</div>
<br>
<div>
<!-- 회원 성적 데이터 수정 폼 구성 -->
<form action="MemberScoreUpdate.jsp?sid=<%=sid %>" method="post" id="memberScoreForm">
<table class="table">
<tr>
<th>번호</th>
<td>
<!-- 5 -->
<%=sid %>
</td>
<td></td>
</tr>
<tr>
<th>이름</th>
<td>
<!-- 고길동 -->
<%=name %>
</td>
<td></td>
</tr>
<tr>
<th>국어점수</th>
<td>
<input type="text" id="kor" name="kor" class="txtScore" value="<%=kor %>">
</td>
<td>
<span class="errMsg" id="korMsg">0~100 사이의 점수를 입력해야 합니다.</span>
</td>
</tr>
<tr>
<th>영어점수</th>
<td>
<input type="text" id="eng" name="eng" class="txtScore" value="<%=eng %>">
</td>
<td>
<span class="errMsg" id="engMsg">0~100 사이의 점수를 입력해야 합니다.</span>
</td>
</tr>
<tr>
<th>수학점수</th>
<td>
<input type="text" id="mat" name="mat" class="txtScore" value="<%=mat %>">
</td>
<td>
<span class="errMsg" id="matMsg">0~100 사이의 점수를 입력해야 합니다.</span>
</td>
</tr>
</table>
<br>
<a href="javascript:memberScoreSubmit()"><button type="button">수정하기</button></a>
<a href="javascript:memberScoreReset()"><button type="button">되돌리기</button></a>
<a href="MemberScoreSelect.jsp"><button type="button">목록으로</button></a>
</form>
</div>
</body>
</html>
MemberScoreUpdate.jsp : 실질적인 update기능 수행
완료된 후 다시 MemberScoreSelect.jsp로 안내(클라이언트를 만날 일 없음)
<%@page import="com.test.MemberScoreDAO"%>
<%@page import="com.test.MemberScoreDTO"%>
<%@ page contentType="text/html; charset=UTF-8"%>
<%
// MemberScoreUpdate.jsp
// 이전 페이지(MemberScoreUpdateForm.jsp)로부터 데이터 수신
// → kor, eng, mat + sid
String sid = request.getParameter("sid");
int kor = Integer.parseInt(request.getParameter("kor"));
int eng = Integer.parseInt(request.getParameter("eng"));
int mat = Integer.parseInt(request.getParameter("mat"));
// MemberScoreDAO 인스턴스 생성
MemberScoreDAO dao = new MemberScoreDAO();
try
{
dao.connection();
MemberScoreDTO score = new MemberScoreDTO();
score.setSid(sid);
score.setKor(kor);
score.setEng(eng);
score.setMat(mat);
dao.modify(score);
}
catch(Exception e)
{
System.out.println(e.toString());
}
finally
{
try
{
dao.close();
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
// 변경된 URL로 다시 요청할 수 있도록 안내
response.sendRedirect("MemberScoreSelect.jsp");
%>
! 배워가고 있는 주인장이 쓴 글이니 정보의 정확성에 유의하시기 바랍니다 !
'JAVA개념&실습' 카테고리의 다른 글
WEB : [0526] cookie 실습 (0) | 2023.05.28 |
---|---|
WEB : [0526] session 데이터 전송 실습 (0) | 2023.05.28 |
WEB : [0524-0525] 회원 관리 및 회원 성적 관리 페이지 구성 실습01 (0) | 2023.05.25 |
WEB : [0525] 로그인 세션(Session) 실습 (0) | 2023.05.25 |
WEB : [0525] 쿠키(Cookie) & 세션(Session) 개념 (0) | 2023.05.25 |