Presentation is loading. Please wait.

Presentation is loading. Please wait.

데이터 베이스 설계 및 실습 #11 - JSP 예제.

Similar presentations


Presentation on theme: "데이터 베이스 설계 및 실습 #11 - JSP 예제."— Presentation transcript:

1 데이터 베이스 설계 및 실습 #11 - JSP 예제

2 파일 다운로드 및 설정 테스트 파일 다운 로드 과 홈페이지 > 공지사항 > 5/31일 실습 게시물(JSP 파일) (SQL 파일) RESIN을 설치한 폴더 내의 doc 폴더 아래에 개인 폴더를 생성 하고, 다운로드 받은 JSP 파일의 압축을 푼다. 다운로드 받은 SQL 파일은 SQLPLUS에 접속해서 쿼리를 실행 한다.

3 서버 가동시키기 RESIN\BIN 폴더 내에 있는 httpd.exe를 실행 한다. : 서버를 가동, 중단 시킴.
: 서버의 상태를 알려 줌

4 서버 확인하기 쳐 본다.

5 Main.jsp - 초기화면

6 Main.jsp - 소스 page contentType="text/html; charset=EUC-KR" %> <html> <head> <title>데이터베이스를 활용한 수강신청 시스템입니다.</title> </head> <body> include file="top.jsp" %> //top.jsp 파일을 읽어 옴. <table width="75%" align="center" height="100%"> <% if (session_id != null) { %> //로그인 확인 <tr> <td align="center"><%=session_id%>님 방문을 환영합니다.</td> </tr> <% } else { %> //로그인 된 사용자가 없으면 <td align="center">로그인한 후 사용하세요.</td> <% } %> </table> </body> </html>

7 Top.jsp - 소스 <% String session_id = (String)session.getValue("user"); //id 값을 받아 옴 String log; if (session_id==null) //로그인 확인 log="<a href=login.jsp>로그인</a>"; else //로그인 된 사용자가 있으면 log="<a href=logout.jsp>로그아웃</a>"; 로그아웃을 서비스 함 %> <table width="75%" align="center" bgcolor="#FFFF99" border> <tr> <td align="center"><b><%=log%></b></td> <td align="center"><b><a href="update.jsp">사용자 정보 수정</b></td> <td align="center"><b><a href="insert.jsp">수강신청 입력</b></td> <td align="center"><b><a href="delete.jsp">수강신청 삭제</b></td> <td align="center"><b><a href="select.jsp">수강신청 조회</b></td> </tr> </table>

8 로그인 하기 Main.jsp 에서 로그인 클릭 Login.jsp (로그인 정보를 입력 받음)
-> login_verify.jsp (등록된 사용자인지 판단해 실제 로그인 작업 수행)

9 학생 정보

10 로그인 성공 여부

11 Login.jsp - 소스 page contentType="text/html; charset=EUC-KR" %> <HTML> <head><title>수강신청 시스템 로그인</title></head> <BODY> <table width="75%" align="center" bgcolor="#FFFF99" border> <tr><td><div align="center"> 아이디와 패스워드를 입력하세요 </table> <table width="75%" align="center" border> <FORM method="post" action="login_verify.jsp" > //로그인 정보 전송 <tr><td><div align="center">아이디</div></td> <td><div align="center"><input type="text" name="userID"></div></td> </tr> <tr><td><div align="center">패스워드</div></td> <td><div align="center"><input type="password" name="userPassword"></div></td> <tr> <td colspan=2><div align="center"> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="로그인"> //login_verify.jsp로 전송 <INPUT TYPE="RESET" VALUE="취소"> //main.jsp로 돌아감 </div></td> </tr> </table> </FORM> </BODY> </HTML>

12 Login_verify.jsp page contentType="text/html; charset=EUC-KR" %> page import="java.sql.*" %> <% String userID = request.getParameter("userID"); //ID값 받아 옴 String userPassword = request.getParameter("userPassword"); //Password값 받아옴 Connection myConn = null; Statement stmt = null; String mySQL = null; String dburl = String user="scott"; String passwd="tiger"; 오라클연결 String dbdriver = "oracle.jdbc.driber.OracleDriver"; Class.forName(dbdriver); myConn = DriverManager.getConnection (dburl, user, passwd);

13 Login_verify.jsp – 소스 (cont.)
stmt = myConn.createStatement(); mySQL = "select s_id from student where s_id='" + userID + "' and s_pwd='" + userPassword + "'"; //사용자 조회 ResultSet myResultSet = stmt.executeQuery(mySQL); if (myResultSet.next()) { session.putValue("user", userID); response.sendRedirect("main.jsp"); } else { //사용자 정보가 없을 때 %> <script> alert("사용자아이디 혹은 암호가 틀렸습니다"); //메시지 알림 후 location.href = "login.jsp"; 정보 다시 입력 받음. </script> <% } stmt.close(); myConn.close(); %>

14 수강 신청 하기 Insert.jsp – 수강 신청 가능한 과목을 보여주고, 선택할 수 있
도록 한다. -> insert_verify.jsp Insert_verify.jsp – 수강 신청한 과목을 실제 DB에 적용한다.

15 Insert.jsp - 소스 page contentType="text/html; charset=EUC-KR" %> page import="java.sql.*" %> <html> <head> <title>수강신청 입력</title> </head> <body> include file="top.jsp" %> //top.jsp 파일을 읽어 옴. <% if (session_id==null) response.sendRedirect("login.jsp"); %> //로그인 정보 <table width="75%" align="center" border> <br> <tr><th>과목번호</th><th>분반</th><th>과목명</th><th>학점</th><th>수강신청</th></tr> <% Connection myConn = null; Statement stmt = null; ResultSet myResultSet = null; String mySQL = "";

16 Insert.jsp – 소스 (cont.) String dburl = String user="scott"; String passwd="tiger"; String dbdriver = "oracle.jdbc.driver.OracleDriver"; try { Class.forName(dbdriver); myConn = DriverManager.getConnection (dburl, user, passwd); stmt = myConn.createStatement(); } catch(SQLException ex) { System.err.println("SQLException: " + ex.getMessage()); } mySQL = "select c_id,c_id_no,c_name,c_unit from course where c_id not in (select c_id from enroll where s_id='" + session_id + "')"; myResultSet = stmt.executeQuery(mySQL); //SQL문 적용 if (myResultSet != null) { while (myResultSet.next()) { //사용자가 수강 신청하지 않은 과목 목록을 DB에서 가져옴 String c_id = myResultSet.getString("c_id"); int c_id_no = myResultSet.getInt("c_id_no"); String c_name = myResultSet.getString("c_name"); int c_unit = myResultSet.getInt("c_unit"); %>

17 Insert.jsp – 소스 (cont.) <tr> //DB에서 가져온 미수강 과목 목록을 출력 해줌
<td align="center"><%= c_id %></td> <td align="center"><%= c_id_no %></td> <td align="center"><%= c_name %></td> <td align="center"><%= c_unit %></td> <td align="center"> <a href="insert_verify.jsp?c_id=<%= c_id %>&c_id_no=<%= c_id_no %>">신청</a> </td> //선택한 수강신청 내역을 insert_verify.jsp로 보냄 </tr> <% } stmt.close(); myConn.close(); %> </table> </body> </html>

18 Insert_verify.jsp - 소스 page contentType="text/html; charset=EUC-KR" %> page import="java.sql.*" %> <html> <head><title> 수강신청 입력 </title></head> <body> <% String s_id = (String)session.getAttribute("user"); String c_id = request.getParameter("c_id"); int c_id_no = Integer.parseInt(request.getParameter("c_id_no")); %> <% Connection myConn = null; String result = null; String dburl = String user="scott"; String passwd="tiger"; String dbdriver = "oracle.jdbc.driver.OracleDriver"; try { Class.forName(dbdriver); myConn = DriverManager.getConnection (dburl, user, passwd); } catch(SQLException ex) { System.err.println("SQLException: " + ex.getMessage()); }

19 Insert_verify.jsp – 소스 (cont.)
CallableStatement cstmt = myConn.prepareCall("{call InsertEnroll(?,?,?,?)}"); cstmt.setString(1, s_id); cstmt.setString(2, c_id); cstmt.setInt(3,c_id_no); cstmt.registerOutParameter(4, java.sql.Types.VARCHAR); try { cstmt.execute(); result = cstmt.getString(4); %> <script> alert("<%= result %>"); location.href="insert.jsp"; </script> <% } catch(SQLException ex) { System.err.println("SQLException: " + ex.getMessage()); } finally { if (cstmt != null) try { myConn.commit(); cstmt.close(); myConn.close(); } catch(SQLException ex) { } } %> </form></body></html>


Download ppt "데이터 베이스 설계 및 실습 #11 - JSP 예제."

Similar presentations


Ads by Google