login.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%
if (session.getAttribute("Member") != null) {
%>
<jsp:forward page="main.jsp"/>
<%
}
%>
<!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>
<form action="loginOK.jsp" method="post">
<table border="1" align="center" cellpadding="0" cellspacing="0">
<tr height=30>
<td width=100 align="center">사용자</td>
<td width=100 align="center"><input type=text name=mem_uid value=""></td>
</tr>
<tr height=30>
<td width=100 align="center">비밀번호</td>
<td width=100 align="center"><input type=password name=mem_pwd value=""></td>
</tr>
<tr height=70>
<td colspan=2 align="center">
<input type=submit value="로그인">
<input type=button value="회원가입" onclick= "javascript:window.location='register.jsp'">
</td>
</tr>
</table>
</form>
</body>
</html>
</pre>
loginOK.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%
String id = request.getParameter("mem_uid");
String pwd = request.getParameter("mem_pwd");
MemberDBBean manager = MemberDBBean.getInstance();
int check = manager.userCheck(id, pwd);
if (check == -1) {
MemberBean member = manager.getMember(id);
String name = member.getMem_name();
session.setAttribute("uid", id);
session.setAttribute("name", name);
session.setAttribute("Member", "yes");
response.sendRedirect("main.jsp");
} else {
%>
<script>
alert("로그인에 실패하셨습니다.!!");
history.go(-1);
</script>
<%
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="magic.member.MemberDBBean"%>
<%@page import="magic.member.MemberBean"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
register.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!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>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<table border=1 align=center>
<form action="registerOK.jsp" name="reg_frm" method="post">
<tr height=50>
<td colspan=2 align=center>
<h1>회원 가입 신청</h1>
(*)표시 항목은 필수 입력 항목입니다.
</td>
</tr>
<tr height="30">
<td width="80">아 이 디</td>
<td><input type="text" name="mem_uid" size="20"> *</td>
</tr>
<tr height=30>
<td width=80>비밀번호</td>
<td><input type="password" name="mem_pwd" size=20> *</td>
</tr>
<tr height=30>
<td width=80>비밀번호확인</td>
<td><input type="password" name="mem_check" size=20> *</td>
</tr>
<tr height=30>
<td width=80>이 름</td>
<td><input type="text" name="mem_name" size=20> *</td>
</tr>
<tr height=30>
<td width=80>E-Mail</td>
<td><input type="text" name="mem_email" size=20></td>
</tr>
<tr height=30>
<td width=80>주 소</td>
<td><input type="text" name="mem_addr" size=50></td>
</tr>
<tr height=50>
<td colspan="2" align="center">
<input type="button" value="등록" onclick="check_ok()">
<input type="reset" value="다시입력">
<input type="button" value="가입안함" onclick="javascript:window.location='login.jsp'">
</td>
</tr>
</form>
</table>
</body>
</html>
registerOK.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="java.sql.*"%>
<%@page import="magic.member.*"%>
<%@page import="java.util.*"%>
<%
request.setCharacterEncoding("KSC5601");
%>
<jsp:useBean id="mb" class="magic.member.MemberBean"></jsp:useBean>
<jsp:setProperty property="*" name="mb" />
<%
mb.setMem_regdate(new Timestamp(System.currentTimeMillis()));
MemberDBBean manager = MemberDBBean.getInstance();
if ( manager.confirmID(mb.getMem_uid()) == 1) {
%>
<script language="javascript">
alert("아이디가 중복됩니다.");
history.back();
</script>
<%
} else {
int re = manager.insertMember(mb);
if (re == 1) {
session.setAttribute("uid", mb.getMem_uid());
%>
<script language="javascript">
alert("회원가입을 축하합니다.!!");
document.location.href = 'login.jsp';
</script>
<%
} else {
%>
<script language="javascript">
alert("회원가입에 실패했습니다.!!");
document.location.href = 'register.jsp';
</script>
<%
}
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
main.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%
if(session.getAttribute("Member") == null) {
%>
<jsp:forward page="login.jsp" />
<%
}
String name = (String)session.getAttribute("name");
String uid = (String)session.getAttribute("uid");
%>
<!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>
<table border=1 align=center>
<form action=logOut.jsp method=post>
<tr height=30>
<td>안녕하세요. <%= name %>(<%= uid %>)님</td>
</tr>
<tr height=40>
<td align=center>
<input type=submit value=로그아웃>
<input type=button value=회원정보변경
onclick="javascript:window.location ='memberUpdate.jsp'">
</td>
</tr>
</form>
</table>
</body>
</html>
script.js
function check_ok() {
if (document.reg_frm.mem_uid.value.length == 0) {
alert("아이디를 입력해 주세요!");
reg_frm.member_uid.focus();
return;
}
if (document.reg_frm.mem_uid.value.length < 4) {
alert("아이디는 4글자 이상입니다!");
reg_frm.member_uid.focus();
return;
}
if (document.reg_frm.mem_pwd.value == "") {
alert("비밀번호를 입력해 주세요!");
reg_frm.member_pwd.focus();
return;
}
if (document.reg_frm.mem_pwd.value != document.reg_frm.mem_check.value) {
alert("패스워드가 일치하지 않습니다.");
reg_frm.member_pwd.focus();
return;
}
if (document.reg_frm.mem_name.value.length == 0) {
alert("이름을 입력해 주세요!");
reg_frm.member_name.focus();
return;
}
document.reg_frm.submit();
}
MemberBean.java
public class MemberBean {
private String mem_uid;
private String mem_pwd;
private String mem_name;
private String mem_email;
private Timestamp mem_regdate;
private String mem_addr;
public String getMem_uid() {
return mem_uid;
}
public void setMem_uid(String mem_uid) {
this.mem_uid = mem_uid;
}
public String getMem_pwd() {
return mem_pwd;
}
public void setMem_pwd(String mem_pwd) {
this.mem_pwd = mem_pwd;
}
public String getMem_name() {
return mem_name;
}
public void setMem_name(String mem_name) {
this.mem_name = mem_name;
}
public String getMem_email() {
return mem_email;
}
public void setMem_email(String mem_email) {
this.mem_email = mem_email;
}
public Timestamp getMem_regdate() {
return mem_regdate;
}
public void setMem_regdate(Timestamp mem_regdate) {
this.mem_regdate = mem_regdate;
}
public String getMem_addr() {
return mem_addr;
}
public void setMem_addr(String mem_addr) {
this.mem_addr = mem_addr;
}
}
MemberDBBean.java
public class MemberDBBean {
private static MemberDBBean instance = new MemberDBBean();
public static MemberDBBean getInstance() {
return instance;
}
public Connection getConnection() throws Exception {
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/oracle");
Connection con = ds.getConnection();
return con;
}
public int confirmID(String id) throws Exception {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "select mem_uid from memberT where mem_uid = ?";
int re = -1;
try {
con = getConnection();
pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
rs = pstmt.executeQuery();
if (rs.next()) {
re = 1;
} else {
re = -1;
}
rs.close();
pstmt.close();
con.close();
} catch(Exception e) {
System.out.println(e.getMessage());
}
return re;
}
public int insertMember(MemberBean member) throws Exception {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "insert into memberT values(?, ?, ?, ?, ?, ?)";
int re = -1;
try {
con = getConnection();
pstmt = con.prepareStatement(sql);
pstmt.setString(1, member.getMem_uid());
pstmt.setString(2, member.getMem_pwd());
pstmt.setString(3, member.getMem_name());
pstmt.setString(4, member.getMem_email());
pstmt.setTimestamp(5, member.getMem_regdate());
pstmt.setString(6, member.getMem_addr());
re = pstmt.executeUpdate();
} catch(Exception e) {
System.out.println(e.getMessage());
}
rs.close();
pstmt.close();
con.close();
return re;
}
public int userCheck(String id, String pwd) throws Exception {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "select mem_pwd from memberT where mem_uid = ?";
String db_mem_pwd;
int re = -1;
try {
con = getConnection();
pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
rs = pstmt.executeQuery();
if(rs.next()) {
db_mem_pwd = rs.getString("mem_pwd");
if (db_mem_pwd.equals(pwd))
re = -1;
else
re = 0;
} else {
re = -1;
}
} catch(Exception e) {
System.out.println(e.getMessage());
}
rs.close();
pstmt.close();
con.close();
return re;
}
public MemberBean getMember(String id) throws Exception {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "select * from memberT where mem_uid = ?";
MemberBean member = null;
int num = -1;
try {
con = getConnection();
pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
rs = pstmt.executeQuery();
if (rs.next()) {
//member객체를 리턴하기 위해서
member = new MemberBean();
member.setMem_uid(rs.getString("mem_uid"));
member.setMem_pwd(rs.getString("mem_pwd"));
member.setMem_name(rs.getString("mem_name"));
member.setMem_email(rs.getString("mem_email"));
member.setMem_regdate(rs.getTimestamp("mem_regdate"));
member.setMem_addr(rs.getString("mem_addr"));
}
} catch(Exception e) {
System.out.println(e.getMessage());
}
rs.close();
pstmt.close();
con.close();
return member;
}
}
memberUpdate.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import = "magic.member.*" %>
<%
request.setCharacterEncoding("KSC5601");
String uid = (String)session.getAttribute("uid");
MemberDBBean manager = MemberDBBean.getInstance();
MemberBean mb = manager.getMember(uid);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script language="JavaScript" src="script.js"></script>
</head>
<body>
<table border=1 align=center>
<form action="memberUpdateOK.jsp" name="reg_frm" method="post">
<tr height=50>
<td colspan="2" align=center>
<h1>회원 정보 수정</h1>
'*' 표시 항목은 필수 입력 항목입니다.
</td>
</tr>
<tr height=30>
<td width=80>아이디</td>
<td><%= mb.getMem_uid() %></td>
</tr>
<tr height=30>
<td width=80>암호</td>
<td><input name="mem_pwd" size=20 type=password> *</td>
</tr>
<tr height=30>
<td width=80>암호확인</td>
<td><input name="mem_check" size=20 type=password> *</td>
</tr>
<tr height=30>
<td width=80>이름</td>
<td><%= mb.getMem_name() %></td>
</tr>
<tr height=30>
<td width=80>e-mail</td>
<td><input name="mem_email" size=20 value="<%= mb.getMem_email() %>"> *</td>
</tr>
<tr height=30>
<td width=80>주소</td>
<td><input name="mem_addr" size=40 value="<%= mb.getMem_addr() %>"> *</td>
</tr>
<tr>
<td colspan="2" align=center>
<input type="button" value=수정 onclick="update_check_ok()">
<input type="reset" value=다시입력 >
<input type="reset" value=수정안함 onclick="javasript:window.location='login.jsp'">
</td>
</tr>
</form>
</table>
</body>
</html>
memberUpdateOK.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import = "magic.member.*" %>
<%
request.setCharacterEncoding("KSC5601");
%>
<jsp:useBean id="mb" class="magic.member.MemberBean" scope="page" />
<jsp:setProperty property="*" name="mb" />
<!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>
<%
String uid= (String)session.getAttribute("uid");
mb.setMem_uid(uid);
MemberDBBean manager = MemberDBBean.getInstance();
int re = manager.updateMember(mb);
if(re==1) {
%>
<script>
alert("입력하신대로 회원 정보가 수정되었습니다.");
document.location.href='main.jsp';
</script>
<%
}else{
%>
<script>
alert("수정이 실패되었습니다..");
history.go(-1);
</script>
<%
}
%>
</head>
<body>
</body>
</html>
MemberDBBean.java
public class MemberDBBean {
private static MemberDBBean instance = new MemberDBBean();
public static MemberDBBean getInstance() {
return instance;
}
public Connection getConnection() throws Exception {
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/oracle");
Connection con = ds.getConnection();
return con;
}
public int confirmID(String id) throws Exception {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "select mem_uid from memberT where mem_uid = ?";
int re = -1;
try {
con = getConnection();
pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
rs = pstmt.executeQuery();
if (rs.next()) {
re = 1;
} else {
re = -1;
}
rs.close();
pstmt.close();
con.close();
} catch(Exception e) {
System.out.println(e.getMessage());
}
return re;
}
public int insertMember(MemberBean member) throws Exception {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "insert into memberT values(?, ?, ?, ?, ?, ?)";
int re = -1;
try {
con = getConnection();
pstmt = con.prepareStatement(sql);
pstmt.setString(1, member.getMem_uid());
pstmt.setString(2, member.getMem_pwd());
pstmt.setString(3, member.getMem_name());
pstmt.setString(4, member.getMem_email());
pstmt.setTimestamp(5, member.getMem_regdate());
pstmt.setString(6, member.getMem_addr());
re = pstmt.executeUpdate();
} catch(Exception e) {
System.out.println(e.getMessage());
}
rs.close();
pstmt.close();
con.close();
return re;
}
//아이디와 비밀번호가 맞는 지 체크
public int userCheck(String id, String pwd) throws Exception {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "select mem_pwd from memberT where mem_uid = ?";
String db_mem_pwd;
int re = -1;
try {
con = getConnection();
pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
rs = pstmt.executeQuery();
if(rs.next()) {
db_mem_pwd = rs.getString("mem_pwd");
if (db_mem_pwd.equals(pwd))
re = -1;
else
re = 0;
} else {
re = -1;
}
} catch(Exception e) {
System.out.println(e.getMessage());
}
rs.close();
pstmt.close();
con.close();
return re;
}
//회원 아이디 확인
public MemberBean getMember(String id) throws Exception {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = "select * from memberT where mem_uid = ?";
MemberBean member = null;
int num = -1;
try {
con = getConnection();
pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
rs = pstmt.executeQuery();
if (rs.next()) {
//member객체를 리턴하기 위해서
member = new MemberBean();
member.setMem_uid(rs.getString("mem_uid"));
member.setMem_pwd(rs.getString("mem_pwd"));
member.setMem_name(rs.getString("mem_name"));
member.setMem_email(rs.getString("mem_email"));
member.setMem_regdate(rs.getTimestamp("mem_regdate"));
member.setMem_addr(rs.getString("mem_addr"));
}
} catch(Exception e) {
System.out.println(e.getMessage());
}
rs.close();
pstmt.close();
con.close();
return member;
}
//회원정보 수정하기
public int updateMember(MemberBean member) throws Exception {
Connection con = null;
PreparedStatement pstmt = null;
String sql = "update memberT set mem_pwd=?, mem_email=?, mem_addr=?";
sql += "where mem_uid=?";
int re = -1;
try{
con = getConnection();
pstmt = con.prepareStatement(sql);
pstmt.setString(1, member.getMem_pwd());
pstmt.setString(2, member.getMem_email());
pstmt.setString(3, member.getMem_addr());
pstmt.setString(4, member.getMem_uid());
re = pstmt.executeUpdate();
} catch(Exception e) {
System.out.println(e.getMessage());
}
pstmt.close();
con.close();
return re;
}
}
'Study > JSP' 카테고리의 다른 글
[jsp] FileUpload, 이미지보여주기 (0) | 2019.05.20 |
---|---|
[jsp] 게시판 (0) | 2019.05.20 |
[jsp] 자바빈, JDBC, DBCP (0) | 2019.05.20 |
[jsp] request, response, <jsp:forward>, <jsp:param>, 쿠키 실습 (0) | 2019.05.17 |
[jsp] request, response, <jsp:forward>, <jsp:param>, 쿠키 (0) | 2019.05.16 |