티스토리 뷰
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
링크
TAG
- git
- 오늘저녁 삼겹살
- springcloud
- MariaDB
- docker
- zipkin
- 미래의나에게동기부여
- github
- Feign
- ACTUATOR
- Gateway
- UserService
- Logstash to ElasticSearch
- MSA
- producer
- consumer
- Spring + ELK
- 운동일기
- JWT
- 운동
- Logstash 활용
- config
- Kafka Connect
- prometheus
- LoadBalancer
- kafka
- 루틴기록
- rabbitmq
- 빅-오
- elasticSearch
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함