티스토리 뷰

Main.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 
<%@page import="javax.sql.*"%>
<%@page import="javax.naming.*"%>
<%@page import="java.sql.*"%>
 
<%
    String id = null;
    if (session.getAttribute("id") != null) {
        id = (String) session.getAttribute("id");//로그인을 성공적으로 수행하면 메인창 입장.
    } else {
        out.println("<script>");
        out.println("location.href='loginForm.jsp'"); //로그인 실패시 다시 loginForm.jsp로 돌아간다.
        out.println("</script>");
    }
%>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Join Main</title>
</head>
<body>
    <h3 align = "center">
    </h3>
    
    <%
     Connection conn = null;
     PreparedStatement pstmt =null;
     ResultSet rs = null;
     
     try{
      Context init=new InitialContext();
      DataSource ds =(DataSource) init.lookup("java:comp/env/jdbc/OracleDB"); 
      conn = ds.getConnection();
      
      pstmt=conn.prepareStatement("select * from memberinfo where id=?"); 
      pstmt.setString(1,id);
      rs=pstmt.executeQuery();
      
      while(rs.next()) { //DB를 일일이 확인 할 것 없이 바로 자신의 회원정보를 열람 할 수 있도록 하였다.
        %>        
        <center>
        <h2>나의 회원정보</h2>
        <table border ="1" align="center">
            <tr>
                    <td>아이디:</td><td><%= id %></td>
            </tr>
            <tr>
                <td>이름:</td><td><%=rs.getString("name")%></td>
            </tr>
            <tr>
                <td>비밀번호:</td><td><%=rs.getString("pwd") %></td>
            </tr>
            <tr>
                <td>취미:</td><td><%=rs.getString("hobby") %></td>
            </tr>
               <tr>
                <td>이메일:</td><td><%=rs.getString("email") %></td>
            </tr>
        </table>
        
    <%
        }
        } catch (Exception e) {
            e.printStackTrace();
        }
    %>
    <br>
    <a href="modifyForm.jsp" align = "center">정보수정</a>    <!-- 정보수정을 원하면 modifyForm.jsp로 이동한다 -->
    
    <%
        if (id.equals("admin")) {    //admin이라는 아이디는 관리자이다. 관리자가 로그인 하였을 시에는 관리자모드 접속을 하도록 코딩하였다.
    %>
    <!-- //관리자(admin)접속시 -->
    <a href=" member_list.jsp" align ="center">관리자모드 접속(목록 보기 가능)</a>
    <%
        }
    %>
    <form action ="loginForm.jsp"><input type="submit" value="로그인창으로"></form>
 
    </center>
</body>
</html>

1,2에서 다룬 Process 부분을 전부 이해하셨다면, 이 코드자체도 어렵게 느껴지진 않을거에요. 

try{
      Context init=new InitialContext();
      DataSource ds =(DataSource) init.lookup("java:comp/env/jdbc/OracleDB"); 
      conn = ds.getConnection();
      
      pstmt=conn.prepareStatement("select * from memberinfo where id=?"); 
      pstmt.setString(1,id);
      rs=pstmt.executeQuery();
      
      while(rs.next()) { //DB를 일일이 확인 할 것 없이 바로 자신의 회원정보를 열람 할 수 있도록 하였다.
        %>        
        <center>
        <h2>나의 회원정보</h2>
        <table border ="1" align="center">
            <tr>
                    <td>아이디:</td><td><%= id %></td>
            </tr>
            <tr>
                <td>이름:</td><td><%=rs.getString("name")%></td>
            </tr>
            <tr>
                <td>비밀번호:</td><td><%=rs.getString("pwd") %></td>
            </tr>
            <tr>
                <td>취미:</td><td><%=rs.getString("hobby") %></td>
            </tr>
               <tr>
                <td>이메일:</td><td><%=rs.getString("email") %></td>
            </tr>
        </table>
        
    <%
        }
        } catch (Exception e) {
            e.printStackTrace();
        }
    %>

핵심적인 이 부분인데 login process와 유사한 부분입니다. 

출력을 위해서 세션에 저장된 id값을 가져와 

pstmt.setString(1,id(세션에 저장된 값)); 입력해줍니다. 

마지막으로 출력을 위해 rs에 결괏값들을 전부 저장해줬어요

그 밑으로는 단순 출력으로 해당 아이디 (rs)안에 저장된 값들을 전부 테이블 형식으로 출력한 부분입니다. 

admin이 아닌 단순한 유저의 경우에는 여기까지가 회원가입으로 할 수 있는 기능적인 한계입니다. 

밑으로는 부가적인 기능들을 추가하기 위한 기능들입니다. 

 

전체회원정보를 확인 or 삭제 하는게 기본적인 기능입니다. 

member_delete.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="javax.sql.*"%>
<%@page import="javax.naming.*"%>
<%@page import="java.sql.*"%>
<%
 String id=null;
 if((session.getAttribute("id")==null) || (!((String)session.getAttribute("id")).equals("admin"))){
  out.println("<script>");
  out.println("location.href='loginForm.jsp'");
  out.println("</script>");
 }
 String delete_id=request.getParameter("id");
 Connection conn = null;
 PreparedStatement pstmt =null;
 ResultSet rs = null;
 
 try{
  Context init = new InitialContext();
  DataSource ds = (DataSource)init.lookup("java:comp/env/jdbc/OracleDB");
  conn=ds.getConnection();
  
  pstmt=conn.prepareStatement("Delete from memberinfo where id=?");
  pstmt.setString(1, delete_id);
  pstmt.executeUpdate();
  
  out.println("<script>");
  out.println("location.href='member_list.jsp'");
  out.println("</script>");
 }catch(Exception e){
  e.printStackTrace();
 }
%>
 
 
 
    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
 
</body>
</html>

 

또 같은 형식입니다.단지 지우기 위한 기능으로 바꿔줬을 뿐이에요. 

String delete_id=request.getParameter("id");
 Connection conn = null;
 PreparedStatement pstmt =null;
 ResultSet rs = null;
 
 try{
  Context init = new InitialContext();
  DataSource ds = (DataSource)init.lookup("java:comp/env/jdbc/OracleDB");
  conn=ds.getConnection();
  
  pstmt=conn.prepareStatement("Delete from memberinfo where id=?");
  pstmt.setString(1, delete_id);
  pstmt.executeUpdate();
  
  out.println("<script>");
  out.println("location.href='member_list.jsp'");
  out.println("</script>");
 }catch(Exception e){
  e.printStackTrace();
 }
%>

위에서 설명한 코드와 다른점은 Select 에서 Delete로 바뀌었을 뿐입니다. 

그래서 선택에서 삭제로 바꿔줬을뿐 구조자체는 지금까지 저희가 봐온것과 같습니다. 

밑의 두 코드도 지금까지 봐온 코드들을 이해했다면, 무리없이 이해할 수 있습니다. 

member_list

<%@page import="javax.sound.midi.MidiDevice.Info"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="javax.sql.*"%>
<%@page import="javax.naming.*"%>
<%@page import="java.sql.*"%>
<%
String id=null;
if((session.getAttribute("id"))== null || (!((String)session.getAttribute("id")).equals("admin"))){
 out.println("<script>");
 out.println("location.href='loginForm.jsp'");
 out.println("</script>");
}
Connection conn=null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try{
 Context init = new InitialContext();
 DataSource ds = (DataSource)init.lookup("java:comp/env/jdbc/OracleDB");
 conn=ds.getConnection();
 
 pstmt=conn.prepareStatement("select * from memberinfo" );
 rs=pstmt.executeQuery();
 
}catch(Exception e){
 e.printStackTrace();
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>회원관리 시스템 관리자모드(회원 목록 보기)</title>
</head>
<body>
<center>
<table border=1 width=300>
 <tr align=center><td colspan=2>회원목록</td></tr>
 <%while(rs.next()){ %>
  <tr align=center>
   <td>
    <a href="member_info.jsp?id=<%=rs.getString("id") %>">
     <%=rs.getString("id") %>
    </a>
   </td>
   <td><a href="member_delete.jsp?id=<%=rs.getString("id") %>">삭제</a></td>
  </tr>
 <%} %>
</table>
</center>
</body>
</html>

member_info.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@page import="javax.sql.*"%>
<%@page import="javax.naming.*"%>
<%@page import="java.sql.*"%>
<%
 String id=null;
if((session.getAttribute("id")==null)||(!((String)session.getAttribute("id")).equals("admin"))){
 out.println("<script>");
 out.println("location.href='loginForm.jsp'");
 out.println("</script>"); 
}
String info_id=request.getParameter("id");
 
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs = null;
 
try{
 Context init = new InitialContext();
 DataSource ds = (DataSource)init.lookup("java:comp/env/jdbc/OracleDB");
 conn=ds.getConnection();
 
 pstmt=conn.prepareStatement("select * from memberinfo where id=?");
 pstmt.setString(1, info_id);
 rs = pstmt.executeQuery();
 rs.next();
}catch(Exception e){
 e.printStackTrace();
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>회원관리 시스템 관리자모드(회원 정보 보기)</title>
</head>
<body>
<center>
<table border=1 width=300>
 <tr align=center><td>아이디:</td><td><%=rs.getString("id") %></td></tr>
 <tr align=center><td>비밀번호 : </td><td><%=rs.getString("password") %></td></tr> 
 <tr align=center><td>나이:</td><td><%=rs.getString("age") %></td></tr>
 <tr align=center><td>성별:</td><td><%=rs.getString("gender") %></td></tr>
 <tr align=center><td>이메일 주소:</td><td><%=rs.getString("email") %></td></tr> 
 <tr align=center><td colspan=2><a href="member_list.jsp">리스트로 돌아가기</a></td>
</table>
</center>
</body>
</html>

 

 

감사합니다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함