Project.zip


방명록 페이징

BoardDAO.java , SelectSErvice.java , glist.jsp 고침.

member_info.jsp 의 30라인 var dbpwd = new String("<%=member.getPasswd() %>");  <- 난 ""를 붙여줘야되네.. 다른사람은 그냥 되는데.

최종 회원가입, 로그인, 회원정보수정, 탈퇴, 방명록 최종본


========================================================================================================================================================================================================================


com.javasoft.libs.controller 패키지

DeleteService.java

package com.javasoft.libs.controller;


import java.sql.Connection;

import java.sql.SQLException;


import com.javasoft.libs.model.DBClose;

import com.javasoft.libs.model.DBConnection;

import com.javasoft.libs.model.MemberDAO;


public class DeleteService {

public boolean deleteMember(String userid){

boolean flag = false;

Connection conn = null;

try {

conn = DBConnection.getConnection();

flag = MemberDAO.deleteMember(conn, userid);

} catch (SQLException e) {

System.out.println(e.toString());

} finally{

DBClose.close(conn);

}

return flag;

}

}


InsertService.java

package com.javasoft.libs.controller;


import java.sql.Connection;

import java.sql.SQLException;


import com.javasoft.libs.model.BoardDAO;

import com.javasoft.libs.model.BoardDTO;

import com.javasoft.libs.model.DBClose;

import com.javasoft.libs.model.DBConnection;

import com.javasoft.libs.model.MemberDAO;

import com.javasoft.libs.model.MemberDTO;


public class InsertService {

public boolean boardInsert(BoardDTO board){

boolean flag = false;  

Connection conn = null;

try {

conn = DBConnection.getConnection();

flag = BoardDAO.boardInsert(conn, board);

} catch (SQLException e) {

System.out.println(e.toString());

} finally{

DBClose.close(conn);

}

return flag;

}

public boolean insert(MemberDTO member){

boolean flag = false;  

Connection conn = null;

try {

conn = DBConnection.getConnection();

flag = MemberDAO.insert(conn, member);

} catch (SQLException e) {

System.out.println(e.toString());

} finally{

DBClose.close(conn);

}

return flag;

}

}


SelectService.java

package com.javasoft.libs.controller;


import java.sql.Connection;

import java.sql.SQLException;

import java.util.Vector;


import com.javasoft.libs.model.BoardDAO;

import com.javasoft.libs.model.BoardDTO;

import com.javasoft.libs.model.DBClose;

import com.javasoft.libs.model.DBConnection;

import com.javasoft.libs.model.MemberDAO;

import com.javasoft.libs.model.MemberDTO;

import com.javasoft.libs.model.ZipcodeDAO;

import com.javasoft.libs.model.ZipcodeDTO;


public class SelectService {

public MemberDTO getMember(String userid){

MemberDTO member = null;

Connection conn = null;

try {

conn = DBConnection.getConnection();

member = MemberDAO.getMember(conn, userid);

} catch (SQLException e) {

System.out.println(e.toString());

} finally{

DBClose.close(conn);

}

return member;

}

public String getUserName(String userid){

String name = null;

Connection conn = null;

try {

conn = DBConnection.getConnection();

name = MemberDAO.getUserName(conn, userid);

} catch (SQLException e) {

System.out.println(e.toString());

} finally{

DBClose.close(conn);

}

return name;

}

public int checkMember(String userid, String passwd) {

int number = 0;

Connection conn = null;

try {

conn = DBConnection.getConnection();

number = MemberDAO.memberLogin(conn, userid, passwd);

} catch (SQLException e) {

System.out.println(e.toString());

} finally{

DBClose.close(conn);

}

return number;

}

public boolean isMember(String userid){

boolean isExists = true;  

Connection conn = null;

try {

conn = DBConnection.getConnection();

isExists = MemberDAO.isMember(conn, userid);

} catch (SQLException e) {

System.out.println(e.toString());

} finally{

DBClose.close(conn);

}

return isExists;

}

public Vector<ZipcodeDTO> select(String keyword){

Vector<ZipcodeDTO> vector = null;

Connection conn = null;

try {

conn = DBConnection.getConnection();

vector = ZipcodeDAO.select(conn, keyword);

} catch (SQLException e) {

System.out.println(e.toString());

} finally{

DBClose.close(conn);

}

return vector;

}

/////////////////////////////Board////////////////////////////////

public int getPageCount(int pageSize){

Connection conn = null;

int pagecount = 0;

try {

conn = DBConnection.getConnection();

pagecount = BoardDAO.getPageCount(conn, pageSize);

} catch (SQLException e) {

System.out.println(e.toString());

} finally{

DBClose.close(conn);

}

return pagecount;

}

public Vector<BoardDTO> glist(int page, int pageSize){

Vector<BoardDTO> vector = null;

Connection conn = null;

try {

conn = DBConnection.getConnection();

vector = BoardDAO.list(conn, page, pageSize);

} catch (SQLException e) {

System.out.println(e.toString());

} finally{

DBClose.close(conn);

}

return vector;

}

public BoardDTO selectBoard(int num){

BoardDTO board = null;

Connection conn = null;

try {

conn = DBConnection.getConnection();

board = BoardDAO.selectBoard(conn, num);

} catch (SQLException e) {

System.out.println(e.toString());

} finally{

DBClose.close(conn);

}

return board;

}

}


UpdateService.java

package com.javasoft.libs.controller;


import java.sql.Connection;

import java.sql.SQLException;


import com.javasoft.libs.model.DBClose;

import com.javasoft.libs.model.DBConnection;

import com.javasoft.libs.model.MemberDAO;

import com.javasoft.libs.model.MemberDTO;


public class UpdateService {

public boolean updateMember(MemberDTO member){

boolean flag = false;

Connection conn = null;

try {

conn = DBConnection.getConnection();

flag = MemberDAO.updateMember(conn, member);

} catch (SQLException e) {

System.out.println(e.toString());

} finally{

DBClose.close(conn);

}

return flag;

}

}


com.javasoft.libs.model

BoardDAO.java

package com.javasoft.libs.model;


import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Vector;


public class BoardDAO {

public static int getPageCount(Connection conn, int pageSize) 

throws SQLException {

int pagecount = 0;

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery("SELECT MAX(num) FROM GuestBook");

rs.next();

int max = rs.getInt(1);

pagecount = (max % pageSize == 0) ? max / pageSize : max / pageSize + 1;

if(rs != null) rs.close();

if(stmt != null) stmt.close();

return pagecount;

}

public static BoardDTO selectBoard(Connection conn, int num)

throws SQLException{

BoardDTO board = new BoardDTO();

String sql = "{call selectBoard(?)}";

CallableStatement cstmt = conn.prepareCall(sql);

cstmt.setInt(1, num);

ResultSet rs = cstmt.executeQuery();

rs.next();

board.setName(rs.getString("name"));

board.setEmail(rs.getString("email"));

board.setTitle(rs.getString("title"));

board.setContents(rs.getString("contents"));

if(rs != null) rs.close();

if(cstmt != null) cstmt.close();

return board;

}

public static boolean boardInsert(Connection conn, BoardDTO board)

throws SQLException {

boolean flag = false;

String sql = "{call boardInsert(?,?,?,?)}";

CallableStatement cstmt = conn.prepareCall(sql);

cstmt.setString(1, board.getName());

cstmt.setString(2, board.getEmail());

cstmt.setString(3, board.getTitle());

cstmt.setString(4, board.getContents());

int cnt = cstmt.executeUpdate();

if(cnt > 0) flag = true;

if(cstmt != null) cstmt.close();

return flag;

}

public static Vector<BoardDTO> list(Connection conn, 

int page, int pageSize) throws SQLException{

int skip = (page - 1) * pageSize;

String sql = "{call glist}";

CallableStatement cstmt = conn.prepareCall(sql);

ResultSet rs = cstmt.executeQuery();

Vector<BoardDTO> vector = new Vector<BoardDTO>(1,1);

for(int i = 0 ; i < skip ; i++) rs.next();

int count = 0;

while(rs.next() && count < pageSize){

++count;

BoardDTO board = new BoardDTO();

board.setNum(rs.getInt("num"));

board.setName(rs.getString("name"));

board.setEmail(rs.getString("email"));

board.setTitle(rs.getString("title"));

board.setContents(rs.getString("contents"));

vector.addElement(board);

}

if(rs != null) rs.close();

if(cstmt != null) cstmt.close();

return vector;

}

}


BoardDTO.java

package com.javasoft.libs.model;


public class BoardDTO {

private int num;

private String name;

private String email;

private String title;

private String contents;

public BoardDTO(){}

public int getNum() {

return num;

}

public void setNum(int num) {

this.num = num;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public String getTitle() {

return title;

}

public void setTitle(String title) {

this.title = title;

}

public String getContents() {

return contents;

}

public void setContents(String contents) {

this.contents = contents;

}

}


DBClose.java

package com.javasoft.libs.model;


import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;


public class DBClose {

public static void close(Connection conn){

try {

if(conn != null) conn.close();

} catch (SQLException e) {

System.out.println(e.toString());

}

}

}


DBConnection.java

package com.javasoft.libs.model;


import java.sql.Connection;

import java.sql.SQLException;


import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import javax.sql.DataSource;


public class DBConnection {

public static Connection getConnection(){

Connection conn = null;

try{

Context context = new InitialContext();

Context other = (Context)context.lookup("java:comp/env");

DataSource ds = (DataSource)other.lookup("jdbc/project");

conn = ds.getConnection();

}catch(NamingException ex){

System.out.println(ex.toString());

}catch(SQLException ex){

System.out.println(ex.toString());

}

return conn;

}

}


MemberDAO.java

package com.javasoft.libs.model;


import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;


public class MemberDAO {

public static boolean deleteMember(Connection conn, String userid)

throws SQLException{

boolean flag = false;

String sql = "{call deleteMember(?)}";

CallableStatement cstmt = conn.prepareCall(sql);

cstmt.setString(1, userid);

int cnt = cstmt.executeUpdate();

if(cnt > 0) flag = true;

if(cstmt != null) cstmt.close();

return flag;

}

public static boolean updateMember(Connection conn, MemberDTO member)

throws SQLException{

boolean flag = false;

String sql = "{call updateMember(?,?,?,?)}";

CallableStatement cstmt = conn.prepareCall(sql);

cstmt.setString(1, member.getUserid());

cstmt.setString(2, member.getZipcode());

cstmt.setString(3, member.getAddress());

cstmt.setString(4, member.getEmail());

int cnt = cstmt.executeUpdate();

if(cnt > 0) flag = true;

if(cstmt != null) cstmt.close();

return flag;

}

public static MemberDTO getMember(Connection conn, String userid)

throws SQLException{

MemberDTO member = null;

String sql = "{call getMember(?)}";

CallableStatement cstmt = conn.prepareCall(sql);

cstmt.setString(1, userid);

ResultSet rs = cstmt.executeQuery();

rs.next();

member = new MemberDTO();

member.setUserid(rs.getString("userid"));

member.setPasswd(rs.getString("passwd"));

member.setName(rs.getString("name"));

member.setZipcode(rs.getString("zipcode"));

member.setAddress(rs.getString("address"));

member.setEmail(rs.getString("email"));

if(rs != null) rs.close();

if(cstmt != null) cstmt.close();

return member;

}

public static String getUserName(Connection conn, String userid)

throws SQLException{

String name = null;

String sql = "{call getUserName(?)}";

CallableStatement cstmt = conn.prepareCall(sql);

cstmt.setString(1, userid);

ResultSet rs = cstmt.executeQuery();

rs.next();

name = rs.getString("name"); 

return name;

}

//0:아이디가 없을 때, 1: 아이디는 있는데, 패스워드가 틀릴 때, 2:둘다 맞을 때

public static int memberLogin(Connection conn, String userid, String passwd)

throws SQLException {

int number = 0;

String sql = "{call checkMember(?)}";

CallableStatement cstmt = conn.prepareCall(sql);

cstmt.setString(1, userid.trim());

ResultSet rs = cstmt.executeQuery();

if(rs.next()){

String dbpwd = rs.getString("passwd").trim();

if(dbpwd.equals(passwd)) number = 2;

else number = 1;

}else

number = 0;

return number;

}

public static boolean insert(Connection conn, MemberDTO member)

throws SQLException{

boolean flag = false;

String sql = "{call insertMember(?,?,?,?,?,?)}";

CallableStatement cstmt = conn.prepareCall(sql);

cstmt.setString(1, member.getUserid());

cstmt.setString(2, member.getPasswd());

cstmt.setString(3, member.getName());

cstmt.setString(4, member.getZipcode());

cstmt.setString(5, member.getAddress());

cstmt.setString(6, member.getEmail());

int cnt = cstmt.executeUpdate();

if(cnt > 0) flag = true;

if(cstmt != null) cstmt.close();

return flag;

}

public static boolean isMember(Connection conn, String userid)

throws SQLException {

String sql = "{call isMember(?)}";

CallableStatement cstmt = conn.prepareCall(sql);

cstmt.setString(1, userid);

ResultSet rs = cstmt.executeQuery();

boolean isExists = rs.next();

//isExists 가 true이면 사용할 수 없는 아이디, false 이면 사용할 수 있다.

if(rs != null) rs.close();

if(cstmt != null) cstmt.close();

return isExists;

}

}



MemberDTO.java

package com.javasoft.libs.model;


public class MemberDTO {

private String userid;

private String passwd;

private String name;

private String zipcode;

private String address;

private String email;

public MemberDTO(){}

public String getUserid() {

return userid;

}

public void setUserid(String userid) {

this.userid = userid;

}

public String getPasswd() {

return passwd;

}

public void setPasswd(String passwd) {

this.passwd = passwd;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getZipcode() {

return zipcode;

}

public void setZipcode(String zipcode) {

this.zipcode = zipcode;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

}


ZipcodeDAO.java

package com.javasoft.libs.model;


import java.sql.CallableStatement;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Vector;


public class ZipcodeDAO {

public static Vector<ZipcodeDTO> select(Connection conn, String keyword)

throws SQLException {

String sql = "{call getZipcode(?)}";

CallableStatement cstmt = conn.prepareCall(sql);

cstmt.setString(1, keyword);

ResultSet rs = cstmt.executeQuery();

Vector<ZipcodeDTO> vector = new Vector<ZipcodeDTO>(1,1);

while(rs.next()){

ZipcodeDTO zip = new ZipcodeDTO();

zip.setZipcode(rs.getString("zipcode"));

zip.setSido(rs.getString("sido"));

zip.setGugun(rs.getString("gugun"));

zip.setDong(rs.getString("dong"));

zip.setBunji(rs.getString("bunji"));

vector.addElement(zip);

}

if(rs != null) rs.close();

if(cstmt != null) cstmt.close();

return vector;

}

}



ZipcodeDTO.java

package com.javasoft.libs.model;


public class ZipcodeDTO {

private String zipcode;

private String sido;

private String gugun;

private String dong;

private String bunji;

public String getZipcode() {

return zipcode;

}

public void setZipcode(String zipcode) {

this.zipcode = zipcode;

}

public String getSido() {

return sido;

}

public void setSido(String sido) {

this.sido = sido;

}

public String getGugun() {

return gugun;

}

public void setGugun(String gugun) {

this.gugun = gugun;

}

public String getDong() {

return dong;

}

public void setDong(String dong) {

this.dong = dong;

}

public String getBunji() {

return bunji;

}

public void setBunji(String bunji) {

this.bunji = bunji;

}

@Override

public String toString(){

return String.format("(%s) %s %s %s", zipcode, sido, gugun, dong);

}

}




com.javasoft.libs.util

CharConversion.java

package com.javasoft.libs.util;


public class CharConversion {

public static String entoutf8(String en){

String utf8 = null;

try{

utf8 = new String(en.getBytes("ISO8859_1"), "utf-8");

}catch(java.io.UnsupportedEncodingException ex){}

return utf8;

}

public static String utf8toen(String utf8){

String en = null;

try{

en = new String(utf8.getBytes("utf-8"), "ISO8859_1");

}catch(java.io.UnsupportedEncodingException ex){}

return en;

}

}


WebContent - board 폴더

glist.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<jsp:directive.page import="com.javasoft.libs.controller.SelectService" />

<jsp:directive.page import="com.javasoft.libs.model.BoardDTO" />

<jsp:directive.page import="java.util.Vector" />

<jsp:useBean id="ss" class="com.javasoft.libs.controller.SelectService" />


<%

String str_page = request.getParameter("page");

if(str_page == null) str_page = "1";

int current_page = Integer.parseInt(str_page);

int pageSize = 7;

int pageCount = ss.getPageCount(pageSize);

Vector<BoardDTO> vector = ss.glist(current_page, pageSize);

%>

    

<!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=UTF-8">

<title>Welcome to Javasoft.com, inc.</title>

<link rel="stylesheet" type="text/css" href="../common/style.css">

</head>

<body topmargin="0">

<table width="760" height="100%" cellpadding="0" cellspacing="0" border="0" align="center">

<tr>

<td colspan="3" width="760" height="100">

<!--  top 시작 -->

<jsp:include page="../common/top_menu.jsp" />

</td>

</tr>

<tr width="760" height="520">

<td width="132" height="520" valign="top">

<!--  left 시작 -->

<jsp:include page="../common/left_menu.jsp" />

</td>

<td width="5" height="520">

</td>

<td width="620" height="520" class="main" valign="top">

<table width="620" cellpadding="0" cellspacing="0" border="0">

<tr>

<td align="center">

<!-- main영역은 좌로부터 40px 더 들여서 한다. -->

<table cellpadding="0" cellspacing="0" border="0" style="padding-top:30px">

<tr>

<td width="40">&nbsp;</td>

<td>

     <!-- main 시작 -->     

<table border = '0' cellspacing = '0' cellpadding='0' width = '500'>

<caption><font color='blue' size='5'><b>방명록</b></font></caption>

<tr>

<td align='left'>[<a href="gwrite.jsp">입력하기</a>]</td>

<td align='right'><font size='3' color='orange'><b>(<%=current_page%>/<%=pageCount%>)</b></font></td>

</tr>

</table>

<table border = '1' bordercolor='white' cellspacing = '0' cellpadding='0' width = '500'>

<tr bgcolor="blue" height="40">

<th class="fontc" width="10%">번호</th>

<th class="fontc" width="30%">작성자</th>

<th class="fontc" width="60%">제목</th>

</tr>

<%  if(vector.size() == 0){  //데이타가 없다면  %>

<tr height="50">

<td colspan="3" align="center">

<font size='5' color='red'>데이타가 없습니다.</font>

</td>

</tr>

<%

}else{

for(int i = 0 ; i < vector.size() ; i++){

BoardDTO board = vector.get(i);

%>

<tr height="40" onmouseover="this.style.backgroundColor='yellow'" onmouseout="this.style.backgroundColor='white'">

<td class="fonts" align='center'><%=board.getNum() %></td>

<td class="fonts" align='center'><%=board.getName() %></td>

<td class="fonts" align='center'><a href="gread.jsp?num=<%=board.getNum()%>"><%=board.getTitle() %></a></td>

</tr>

<%  }//for end

} //else end

  %>

</table>

<p>&nbsp;</p>

<p>&nbsp;</p>

<div style="text-align:center">

<%

out.print("[");

if(current_page == 1) out.print("이전");

else{

out.print("<a style='text-decoration:none' href='glist.jsp?page=" + (current_page -1) + "'>");

out.print("이전</a>");

}

out.println("]");

out.println("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");

for(int i = 1 ; i <= pageCount ; i++){

if(i == current_page){

out.print("<span style='font-size:1.2em;color:red'>");

out.print(i + "</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");

}else{

out.print("<a style='text-decoration:none' href='glist.jsp?page=" + i + "'>");

out.print(i);

out.print("</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");

}

}

out.print("[");

if(current_page == pageCount) out.print("다음");

else{

out.print("<a style='text-decoration:none' href='glist.jsp?page=" + (current_page +1) + "'>");

out.print("다음</a>");

}

out.println("]");

%>

</div>

     <!-- main 끝 -->

</td>

<td width="40">&nbsp;</td>

</tr>

</table>

</td>

</tr>

</table>

</td>

</tr>

</table>

</body>

</html>


gread.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<jsp:directive.page import="com.javasoft.libs.controller.SelectService" />

<jsp:directive.page import="com.javasoft.libs.model.BoardDTO" />


<jsp:useBean id="ss" class="com.javasoft.libs.controller.SelectService" />    


<%

int num = Integer.parseInt(request.getParameter("num"));

BoardDTO board = ss.selectBoard(num);

%>


<!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=UTF-8">

<title>Welcome to Javasoft.com, inc.</title>

<link rel="stylesheet" type="text/css" href="../common/style.css">

</head>

<body topmargin="0">

<table width="760" height="100%" cellpadding="0" cellspacing="0" border="0" align="center">

<tr>

<td colspan="3" width="760" height="100">

<!--  top 시작 -->

<jsp:include page="../common/top_menu.jsp" />

</td>

</tr>

<tr width="760" height="520">

<td width="132" height="520" valign="top">

<!--  left 시작 -->

<jsp:include page="../common/left_menu.jsp" />

</td>

<td width="5" height="520">

</td>

<td width="620" height="520" class="main" valign="top">

<table width="620" cellpadding="0" cellspacing="0" border="0" style="padding-top:30px">

<tr>

<td>

<!-- main영역은 좌로부터 40px 더 들여서 한다. -->

<table cellpadding="0" cellspacing="0" border="0">

<tr>

<td width="40">&nbsp;</td>

<td>

     <!-- main 시작 -->

      <table border="1" width="600" bordercolor="#c0c0c0" cellpadding="0" cellspacing="0">

      <tr>

      <td>

      <table bordercolor="#c0c0c0" width="595" height="300" border="1" cellpadding="10" cellspacing="0">

      <caption><font color='blue' size='5'><b>방명록 글 내용</b></font></caption>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>번호</b></font>

      </td>

      <td>

      <%=num %>      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>작성자</b></font>

      </td>

      <td>

      <%=board.getName() %>      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>Email</b></font>

      </td>

      <td>

      <a href="mailto:<%=board.getEmail() %>"><%=board.getEmail() %></a>      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>제목</b></font>

      </td>

      <td>

      <%=board.getTitle() %>

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>내용</b></font>

      </td>

      <td>

      <%=board.getContents() %>      

      </td>

      </tr>  

      <tr height="30" bgcolor="#f0f0f0">

      <td colspan="2" align="center">

      <input type="button" value="목록으로 가기" onclick="history.back()">&nbsp;&nbsp;      

      </td>

      </tr>

      </table>

      </td>

      </tr>

      </table>            

     <!-- main 끝 -->

</td>

<td width="40">&nbsp;</td>

</tr>

</table>

</td>

</tr>

</table>

</td>

</tr>

</table>

</body>

</html>

gwrite_ok.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<jsp:directive.page import="com.javasoft.libs.controller.InsertService" />

<jsp:directive.page import="com.javasoft.libs.model.BoardDTO" />

<jsp:useBean id="board" class="com.javasoft.libs.model.BoardDTO" />

<jsp:useBean id="is" class="com.javasoft.libs.controller.InsertService" />


<%

request.setCharacterEncoding("utf-8");

%>

<jsp:setProperty name="board" property="name" param="name" />

<jsp:setProperty name="board" property="email" param="email" />

<%

String title = request.getParameter("title");

title = title.replace("<", "&lt;");

title = title.replace(">", "&gt;");

%>

<jsp:setProperty name="board" property="title" value="<%=title %>" />

<%

String contents = request.getParameter("contents");

contents = contents.replace("<", "&lt;");

contents = contents.replace(">", "&gt;");

contents = contents.replace("\r\n", "<br>");

%>

<jsp:setProperty name="board" property="contents" value="<%=contents %>" />


<%

boolean flag = is.boardInsert(board);

if(!flag){

%>

<script>

alert("글쓰기에 실패했습니다.");

histroy.go(-1);

</script>

<% 

}else{ 

response.sendRedirect("glist.jsp");

}

%>



gwrite.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!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=UTF-8">

<title>Welcome to Javasoft.com, inc.</title>

<link rel="stylesheet" type="text/css" href="../common/style.css">

<script>

function confirm(){

var f = document.forms[0];

if(!f.name.value){

alert("이름이 빠졌습니다.");

f.name.focus();

return false;

}

if(!f.email.value){

alert("Email이 빠졌습니다.");

f.email.focus();

return false;

}

if(!f.title.value){

alert("제목이 빠졌습니다.");

f.title.focus();

return false;

}

if(!f.contents.value){

alert("글 내용이 빠졌습니다.");

f.contents.focus();

return false;

}

f.submit();

}

</script>

</head>

<body topmargin="0">

<table width="760" height="100%" cellpadding="0" cellspacing="0" border="0" align="center">

<tr>

<td colspan="3" width="760" height="100">

<!--  top 시작 -->

<jsp:include page="../common/top_menu.jsp" />

</td>

</tr>

<tr width="760" height="520">

<td width="132" height="520" valign="top">

<!--  left 시작 -->

<jsp:include page="../common/left_menu.jsp" />

</td>

<td width="5" height="520">

</td>

<td width="620" height="520" class="main" valign="top">

<table width="620" cellpadding="0" cellspacing="0" border="0">

<tr>

<td>

<!-- main영역은 좌로부터 40px 더 들여서 한다. -->

<table cellpadding="0" cellspacing="0" border="0">

<tr>

<td width="40">&nbsp;</td>

<td>

     <!-- main 시작 -->

     <form action="gwrite_ok.jsp" method="post">      

      <table border="0" width="600" bordercolor="#c0c0c0" cellpading="0" cellspacing="0" style="padding-top:20px">

      <tr>

      <td>

      <p style="text-align:center"><span style="font-size:2em;font-weight:bold;">방명록 작성하기</span></p>

      <table bordercolor="#c0c0c0" width="595" height="300" border="1" cellpading="0" cellspacing="0">

      <tr height="30" bgcolor="#f0f0f0">

      <td width="150" align="right">

      <font color="#000000"><b>이름</b></font>

      </td>

      <td>

      <input type="text" name="name" maxlength="20" id="name" size="20">            

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="150" align="right">

      <font color="#000000"><b>Email</b></font>

      </td>

      <td>

      <input type="text" name="email" maxlength="50" id="email" size="40">      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="150" align="right">

      <font color="#000000"><b>제목</b></font>

      </td>

      <td>

      <input type="text" name="title" maxlength="50" id="title" size="60">      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="150" align="right">

      <font color="#000000"><b>내용</b></font>

      </td>

      <td>

      <textarea id="contents" name="contents" cols="60" rows="10"></textarea>

      </td>

      </tr>      

      <tr height="30" bgcolor="#f0f0f0">

      <td colspan="2" align="center">

      <input type="button" value="작성하기" style='font-size:1.3em' onclick="confirm()">&nbsp;&nbsp;

      <input type="reset" value="취소하기" style='font-size:1.3em'>

      </td>

      </tr>

      </table>

      </td>

      </tr>

      </table>      

     </form>

     <!-- main 끝 -->

</td>

<td width="40">&nbsp;</td>

</tr>

</table>

</td>

</tr>

</table>

</td>

</tr>

</table>

</body>

</html>


WebContent - member 폴더

idCheck.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<jsp:directive.page import="com.javasoft.libs.controller.SelectService" />

<jsp:useBean id="ss" class="com.javasoft.libs.controller.SelectService" />

<%

String userid = request.getParameter("userid");

if(userid == null) userid = "";

%>

<!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=UTF-8">

<title>아이디 중복 검색 창</title>

<script type='text/javascript'>

function Close(evt){

if(document.getElementById('isClose').value == "false"){

opener.document.getElementById('userid').value = document.getElementById('userid').value;

self.close();

}else{

alert("아이디를 사용할 수 없어서 창을 닫을 수 없습니다.");

return false;

}

}

function Click(){

if(!document.getElementById('userid').value){

alert("아이디를 입력하세요");

document.getElementById('userid').focus();

return false;

}

document.forms[0].submit();

}

</script>

</head>

<body>

    <%

    boolean flag = true;  //사용할 수 없는 아이디

    if(!userid.equals("")){

    flag = ss.isMember(userid.trim());

    }

    %>

    <div style="text-align:center">

    <% if(flag && !userid.equals("")){    %>

     <script>

    document.getElementById('isClose').value = true;

    </script>

    <font color='red' size='4'>

    [<%=userid %>]는 이미 사용중입니다.

    </font>

    <%}else if(!flag && !userid.equals("")){ 

            flag = false;

    %>

    <script>

    document.getElementById('isClose').value = false;

    </script>

    <font color='green' size='4'>

    [<%=userid %>]는 사용가능합니다.

    </font>

    <% } %>

    </div>

    <hr />

<form method="get" action="idCheck.jsp">

<input type="hidden" value="<%=flag %>" id="isClose" />

<table style="margin:auto">

<tr>

<td>

아이디 : <input type="text" id="userid" name="userid" value="<%=userid %>" />

<input type="button" value="중복검사" id="btn" onclick="Click()">

</td>

</tr>

<tr>

<td align='center'>

<a href="javascript:Close()"><img src="../images/bt_ok.gif" border="0" id="closebtn" /></a>

</td>

</tr>

</table>

</form>

</body>

</html>


login_ok.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<jsp:directive.page import="com.javasoft.libs.controller.SelectService" />

<jsp:useBean id="ss" class="com.javasoft.libs.controller.SelectService" />

<%

String userid = request.getParameter("userid").trim();

String passwd = request.getParameter("passwd").trim();

int result = ss.checkMember(userid, passwd);

//0:아이디가 없을 때, 1: 아이디는 있는데, 패스워드가 틀릴 때, 2:둘다 맞을 때

if(result == 0){

%>

<script>

alert("입력하신 아이디는 존재하지 않습니다.\n회원 가입 해 주세요.");

location.href = "member.jsp";

</script>

<% }else if(result == 1){ %>

<script>

alert("패스워드가 일치하지 않습니다.\n확인 후 다시 입력해 주세요.");

history.back();

</script>

<% }else if(result == 2){ 

session.setAttribute("userid", userid);

session.setAttribute("username", ss.getUserName(userid));

response.sendRedirect("welcome.jsp");

      }

%>



login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%

String userid = request.getParameter("userid");

if(userid == null) userid = "";

%>    

<!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=UTF-8">

<title>Welcome to Javasoft.com, inc.</title>

<link rel="stylesheet" type="text/css" href="../common/style.css">

<script>

function confirm(){

var f = document.forms[0];

if(!f.userid.value){

alert("아이디를 넣어주세요");

f.userid.focus();

return false;

}

if(!f.passwd.value){

alert("패스워드를 넣어주세요");

f.passwd.focus();

return false;

}

f.submit();

}

</script>

</head>

<body topmargin="0">

<table width="760" height="100%" cellpadding="0" cellspacing="0" border="0" align="center">

<tr>

<td colspan="3">

<jsp:include page="../common/top_menu.jsp" />

</td>

</tr>

<tr>

<td width="132" height="520" valign="top">

<jsp:include page="../common/left_menu.jsp" flush="false" />

</td>

<td width="8" height="520">&nbsp;</td>

<td height="520">

<!--  main 영역 -->

<table width="620" cellpadding="0" cellspacing="0" border="0" bordercolor="red">

<tr>

<td>

<!-- main영역은 좌로부터 40px 더 들여서 한다. -->

<table cellpadding="0" cellspacing="0" border="0">

<tr>

<td width="40">&nbsp;</td>

<td>

     <!-- main 시작 -->

     <form action="login_ok.jsp" method="post">

      <table cellspacing="5" style="width:260px;margin:5% 50% 50% 50%;border:1px solid black">

      <tr>

      <th>아이디</th>

      <td><input type="text" name="userid" value="<%=userid%>" required></td>    

      </tr>

      <tr>

      <th>패스워드</th>

      <td><input type="password" name="passwd" required></td>

      </tr>

      <tr>

      <td colspan="2" align="center">

      <a href="#" onclick="javascript:confirm()"><img src="../images/btn_login2.gif" border="0" /></a>&nbsp;&nbsp;     

      <a href="member.jsp"><img src="../images/bt_join.gif" border="0" /></a>

      </td>

      </tr>

     

      </table>

     </form>   

     <!-- main 끝 -->

</td>

</tr>

</table>

</td>

</tr>

</table>

</td>

</tr>

</table>

</body>

</html>


logout.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%   if(session.getAttribute("userid") == null){  %>

<script>

alert("먼저 로그인해주세요");

location.href = "login.jsp";

</script>

<% }else{

session.invalidate();

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");

response.setDateHeader("Expires", System.currentTimeMillis() - 1);

response.setHeader("Pragma", "no-cache");

response.sendRedirect("../index.jsp");

    }

%>


member_index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!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=UTF-8">

<title>Welcome to Javasoft.com, inc.</title>

<link rel="stylesheet" type="text/css" href="../common/style.css">

</head>

<body topmargin="0">

<table width="760" height="100%" cellpadding="0" cellspacing="0" border="0" align="center">

<tr>

<td colspan="3">

<jsp:include page="../common/top_menu.jsp" />

</td>

</tr>

<tr>

<td width="132" height="520" valign="top">

<jsp:include page="../common/left_menu.jsp" />

</td>

<td width="8" height="520">

&nbsp;

</td>

<td width="620" height="520">

<!--  main 영역 -->

<table width="620" cellpadding="0" cellspacing="0" border="0">

<tr>

<td>

<!-- main영역은 좌로부터 40px 더 들여서 한다. -->

<table cellpadding="0" cellspacing="0" border="0">

<tr>

<td width="40">&nbsp;</td>

<td>

     <!-- 진짜 메인 영역 -->

</td>

</tr>

</table>

</td>

</tr>

</table>

</td>

</tr>

</table>

</body>

</html>




member_info.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<jsp:directive.page import="com.javasoft.libs.controller.SelectService" />

<jsp:directive.page import="com.javasoft.libs.model.MemberDTO" />

<jsp:useBean id="ss" class="com.javasoft.libs.controller.SelectService" />


<%

String userid = (String)session.getAttribute("userid");

MemberDTO member = ss.getMember(userid);

%>

    

<!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=UTF-8">

<title>Welcome to Javasoft.com, inc.</title>

<link rel="stylesheet" type="text/css" href="../common/style.css">

<script type='text/javascript'>

function zipopen(){

window.open("zipsearch.jsp", "", 

"left=500,top=400,width=600,height=300,menubar=0,resizable=0,scrollbars=0");

}

function confirm(){

var f = document.forms[0];

if(!f.email.value){

alert("Email 이 빠졌습니다.");

f.email.focus();

return false;

}

var dbpwd = new String("<%=member.getPasswd() %>");

if(dbpwd.trim() != f.passwd.value.trim()){

alert("패스워드가 일치하지 않습니다.\n확인 후 다시 입력해 주세요.");

f.passwd.focus();

return false;

}

f.submit();

}

</script>

</head>

<body topmargin="0">

<table width="760" height="100%" cellpadding="0" cellspacing="0" border="0" align="center">

<tr>

<td colspan="3" width="760" height="100">

<!--  top 시작 -->

<jsp:include page="../common/top_menu.jsp" />

</td>

</tr>

<tr width="760" height="520">

<td width="132" height="520" valign="top">

<!--  left 시작 -->

<jsp:include page="../common/left_menu.jsp" />

</td>

<td width="5" height="520">

</td>

<td width="620" height="520" class="main" valign="top">

<table width="620" cellpadding="0" cellspacing="0" border="0">

<tr>

<td>

<!-- main영역은 좌로부터 40px 더 들여서 한다. -->

<table cellpadding="0" cellspacing="0" border="0">

<tr>

<td width="40">&nbsp;</td>

<td>

     <!-- main 시작 -->

     <form action="member_update.jsp" method="post">

      <table border="1" width="600" bordercolor="#c0c0c0" cellpading="0" cellspacing="0">

      <tr>

      <td>

      <table bordercolor="#c0c0c0" width="595" height="300" border="1" cellpading="0" cellspacing="0">

      <caption>회원정보</caption>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>아이디</b></font>

      </td>

      <td>

      <%=member.getUserid() %>      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>비밀번호</b></font>

      </td>

      <td>

      <input type="password" name="passwd" maxlength="12" id="passwd" size="20">      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>이름</b></font>

      </td>

      <td>

      <%=member.getName() %>      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>우편번호</b></font>

      </td>

      <td>

      <%

      String zipcode = member.getZipcode();  //123-456      

      %>

      <input type="text" name="zip1" id="zip1" value="<%=(zipcode.equals("-")) ? "" : zipcode.substring(0,3) %>" maxlength="3" size="3" readonly> - 

      <input type="text" name="zip2" id="zip2" value="<%=(zipcode.equals("-")) ? "" : zipcode.substring(4) %>" maxlength="3" size="3" readonly>&nbsp;&nbsp;

      <a href="#" onclick="javascript:zipopen()"><img src="../images/bt_search.gif" border="0" align="absmiddle"/></a>

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>주소</b></font>

      </td>

      <td>

      <input type="text" value="<%=member.getAddress() %>" name="address1" id="address1" size="60" readonly>      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>나머지 주소</b></font>

      </td>

      <td>

      <input type="text" name="address2" size="50">      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>Email</b></font>

      </td>

      <td>

      <input type="text" name="email" size="40" value="<%=member.getEmail() %>">      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td colspan="2" align="center">

      <a href="javascript:confirm()"><img src="../images/bt_modify.gif" border="0"></a>&nbsp;&nbsp;

      <a href="javascript:history.go(-1);"><img src="../images/bt_cancel.gif" border="0"></a>

      </td>

      </tr>

      </table>

      </td>

      </tr>

      </table>      

     </form>

     <!-- main 끝 -->

</td>

<td width="40">&nbsp;</td>

</tr>

</table>

</td>

</tr>

</table>

</td>

</tr>

</table>

</body>

</html>


member_ok.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<jsp:directive.page import="com.javasoft.libs.controller.InsertService" />

<jsp:directive.page import="com.javasoft.libs.controller.SelectService" />

<jsp:directive.page import="com.javasoft.libs.model.MemberDTO" />    


<% request.setCharacterEncoding("utf-8"); %>


<jsp:useBean id="ss" class="com.javasoft.libs.controller.SelectService" />

<%

String userid = request.getParameter("userid");

boolean isExists = ss.isMember(userid);

if(isExists){

%>

<script>

alert("이미 사용중인 아이디입니다.\n확인 후 다시 입력해 주세요");

history.back();

</script>

<% } %>


<jsp:useBean id="member" class="com.javasoft.libs.model.MemberDTO" />

<jsp:setProperty name="member" property="userid" value="<%=userid %>" />

<jsp:setProperty name="member" property="passwd" param="passwd" />

<jsp:setProperty name="member" property="name" param="name" />

<%

String zipcode = request.getParameter("zip1") + "-" + 

                                 request.getParameter("zip2");

%>

<jsp:setProperty name="member" property="zipcode" value="<%=zipcode%>" />

<%

String address = request.getParameter("address1") + " " +

                              request.getParameter("address2");

%>

<jsp:setProperty name="member" property="address" value="<%=address%>" />

<jsp:setProperty name="member" property="email" param="email" />


<jsp:useBean id="is" class="com.javasoft.libs.controller.InsertService" />

<%

boolean flag = is.insert(member);

if(!flag){

%>

<script>

alert("회원 가입에 실패했습니다.");

history.go(-1);

</script>

   <% }else{ %>

<script>

alert("<%=userid%>님! 회원가입을 축하합니다.");

location.href = "login.jsp?userid=<%=userid%>";

</script>   

   <%} %>



member_out.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="com.javasoft.libs.controller.DeleteService" %>

<%@ page import="com.javasoft.libs.model.MemberDAO" %>    

    

<jsp:useBean id="ds" class="com.javasoft.libs.controller.DeleteService" />

<%

String userid = (String)session.getAttribute("userid");

session.invalidate();

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");

response.setDateHeader("Expires", System.currentTimeMillis() - 1);

response.setHeader("Pragma", "no-cache");

boolean flag = ds.deleteMember(userid);

if(!flag){

%>

<script>

alert("탈퇴에 문제가 발생했습니다.\n다시 시도해 주세요.");

history.go(-1);

</script>

<%  }else{  %>

<script>

alert("그동안 본 사이트를 이용해 주셔서 감사했습니다.");

location.href = "../index.jsp";

</script>

<% } %>


member_update.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<jsp:directive.page import="com.javasoft.libs.controller.UpdateService" />

<jsp:directive.page import="com.javasoft.libs.model.MemberDTO" />


<jsp:useBean id="us" class="com.javasoft.libs.controller.UpdateService" />

<jsp:useBean id="member" class="com.javasoft.libs.model.MemberDTO" />

<%

request.setCharacterEncoding("utf-8");


String userid = (String)session.getAttribute("userid");

String zipcode = request.getParameter("zip1") + "-" +

                          request.getParameter("zip2");

String address = request.getParameter("address1") + " " +

                          request.getParameter("address2");

%>

<jsp:setProperty name="member" property="userid" value="<%=userid %>" />

<jsp:setProperty name="member" property="zipcode" value="<%=zipcode %>" />

<jsp:setProperty name="member" property="address" value="<%=address %>" />

<jsp:setProperty name="member" property="email" param="email" />


<%

boolean flag = us.updateMember(member);

if(!flag){

%>

<script>

alert("회원정보 수정에 실패했습니다.\n다시 해 주세요");

history.go(-1);

</script>

<% 

}else{ 

response.sendRedirect("welcome.jsp");

}

%>



member.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!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=UTF-8">

<title>Welcome to Javasoft.com, inc.</title>

<link rel="stylesheet" type="text/css" href="../common/style.css">

<script>

function confirm(){

var f = document.forms[0];

if(!f.userid.value){

alert("아이디가 빠졌습니다.");

f.userid.focus();

return false;

}

if(!f.passwd.value){

alert("패스워드가 빠졌습니다.");

f.passwd.focus();

return false;

}

if(!f.name.value){

alert("이름이 빠졌습니다.");

f.name.focus();

return false;

}

if(!f.email.value){

alert("Email이 빠졌습니다.");

f.email.focus();

return false;

}

f.submit();

}

function zipopen(){

window.open("zipsearch.jsp", "", 

"left=500,top=400,width=600,height=300,menubar=0,resizable=0,scrollbars=0");

}

function idcheck(){

var str = document.getElementById("userid").value;

window.open("idCheck.jsp?userid=" + str, "", 

    "left=500,top=400,width=400,height=150,menubar=0,resizable=0,scrollbars=0");

}

</script>

</head>

<body topmargin="0">

<table width="760" height="100%" cellpadding="0" cellspacing="0" border="0" align="center">

<tr>

<td colspan="3">

<jsp:include page="../common/top_menu.jsp" />

</td>

</tr>

<tr>

<td width="132" height="520" valign="top">

<jsp:include page="../common/left_menu.jsp" />

</td>

<td width="8" height="520">

&nbsp;

</td>

<td width="620" height="520" valign="top">

<!--  main 영역 -->

<table width="620" cellpadding="0" cellspacing="0" border="0" bordercolor='orange'>

<tr>

<td>

<!-- main영역은 좌로부터 40px 더 들여서 한다. -->

<table cellpadding="0" cellspacing="0" border="0">

<tr>

<td width="40">&nbsp;</td>

<td>

     <!-- 진짜 메인 영역 -->

     <form action="member_ok.jsp" method="post">

      <img src="../images/register.gif" border="0" />

      <table border="1" width="600" bordercolor="#c0c0c0" cellpading="0" cellspacing="0">

      <tr>

      <td>

      <table bordercolor="#c0c0c0" width="595" height="300" border="1" cellpading="0" cellspacing="0">

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>아이디</b></font>

      </td>

      <td>

      <input type="text" name="userid" maxlength="12" id="userid" size="20">

      <a href="#" onclick="javascript:idcheck()"><img src="../images/bt_duplicationcheck.gif" align="absmiddle" /></a>      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>비밀번호</b></font>

      </td>

      <td>

      <input type="password" name="passwd" maxlength="12" id="passwd" size="20">

      &nbsp;&nbsp;

      비밀번호 확인

      <input type="password" maxlength="12" size="20">

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>이름</b></font>

      </td>

      <td>

      <input type="text" name="name" maxlength="20" id="name" size="25">      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>우편번호</b></font>

      </td>

      <td>

      <input type="text" name="zip1" id="zip1" maxlength="3" size="3" readonly> - 

      <input type="text" name="zip2" id="zip2" maxlength="3" size="3" readonly>&nbsp;&nbsp;

      <a href="#" onclick="javascript:zipopen()"><img src="../images/bt_search.gif" border="0" align="absmiddle"/></a>

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>주소</b></font>

      </td>

      <td>

      <input type="text" name="address1" id="address1" size="60" readonly>      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>나머지 주소</b></font>

      </td>

      <td>

      <input type="text" name="address2" size="50">      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td width="100" align="right">

      <font color="#000000"><b>Email</b></font>

      </td>

      <td>

      <input type="text" name="email" size="40">      

      </td>

      </tr>

      <tr height="30" bgcolor="#f0f0f0">

      <td colspan="2" align="center">

      <a href="javascript:confirm()"><img src="../images/bt_join.gif" border="0"></a>&nbsp;&nbsp;

      <a href="javascript:history.go(-1);"><img src="../images/bt_cancel.gif" border="0"></a>

      </td>

      </tr>

      </table>

      </td>

      </tr>

      </table>      

     </form>

</td>

</tr>

</table>

</td>

</tr>

</table>

</td>

</tr>

</table>

</body>

</html>




welcome.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!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=UTF-8">

<title>Welcome to Javasoft.com, inc.</title>

<link rel="stylesheet" type="text/css" href="../common/style.css">

<style type="text/css">

.fieldset{

line-height:18pt;

padding : 15;

border-width : 5 1;

border-style:solid;

width : 450;

height:350;

border-color:#99cc66;

}

</style>

<script type="text/javascript">

function logout(){

if(confirm("정말 로그아웃하시겠습니까?")){

location.href = "logout.jsp";

}else{

history.go(0);

}

}

function out(){

if(confirm("정말 탈퇴 하시겠습니까?")){

location.href = "member_out.jsp";

}else{

history.go(0);

}

}

</script>

</head>

<body topmargin="0">

<table width="760" height="100%" cellpadding="0" cellspacing="0" border="0" align="center">

<tr>

<td colspan="3" width="760" height="100">

<!--  top 시작 -->

<jsp:include page="../common/top_menu.jsp" />

</td>

</tr>

<tr width="760" height="520">

<td width="132" height="520" valign="top">

<!--  left 시작 -->

<jsp:include page="../common/left_menu.jsp" />

</td>

<td width="5" height="520">

</td>

<td width="620" height="520" class="main" valign="top">

<table width="620" cellpadding="0" cellspacing="0" border="0" bordercolor='green'>

<tr>

<td align='center'>

<!-- main영역은 좌로부터 40px 더 들여서 한다. -->

<table cellpadding="0" cellspacing="0" border="0" bordercolor='red' style="padding-top:30px">

<tr>

<td width="40">&nbsp;</td>

<td align="center">

     <!-- main 시작 -->

     <table border="0" cellspacing="0" cellpadding="0" width="450">

      <tr>

      <td>

      <fieldset class="fieldset">

      <legend>Welcome!!!</legend>

      <p>

      <div class="fonta">안녕하세요. 

      <%=(String)session.getAttribute("username") %>

      (<%=(String)session.getAttribute("userid") %>)님!</div>

      </p>

      <ul>

      <li>Your IP : <%=request.getRemoteAddr() %></li>

      <li>Visit DateTime : 

      <%

      String pattern = "YYYY-MM-dd aa hh:mm:ss";

      java.text.SimpleDateFormat sdf = 

      new java.text.SimpleDateFormat(pattern);

      out.println(sdf.format(new java.util.Date()));

      %></li>

      <li><a href="javascript:out()">회원 탈퇴</a></li>

      <li><a href="member_info.jsp">내 정보 보기</a></li>

      <li><a href="javascript:logout()">로그 아웃</a></li>

      </ul>

      </fieldset>

      </td>

      </tr>

     </table>

     <!-- main 끝 -->

</td>

<td width="40">&nbsp;</td>

</tr>

</table>

</td>

</tr>

</table>

</td>

</tr>

</table>

</body>

</html>


zipsearch.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ page import="com.javasoft.libs.util.CharConversion" %>

<%@ page import="java.util.Vector" %>

<%@ page import="com.javasoft.libs.model.ZipcodeDTO" %>

<%@ page import="com.javasoft.libs.controller.SelectService" %>

<%

String keyword = request.getParameter("keyword");

if(keyword == null) keyword = "";

//else keyword = CharConversion.entoutf8(keyword);

%>    

<!DOCTYPE html>

<html lang="ko">

<head>

<meta charset="UTF-8">

<title>우편번호 검색 창</title>

<script>

window.onload = setup;

function setup(){

document.getElementById('btnClose').onclick = Close;

}

function Close(evt){

var ziplist = document.getElementById('ziplist');

var idx = ziplist.selectedIndex;

var str = ziplist.options[idx].value;

opener.document.getElementById('zip1').value = str.substring(1, 4);

opener.document.getElementById('zip2').value = str.substring(5, 8);

opener.document.getElementById('address1').value = str.slice(10);

self.close();

}

</script>

</head>

<jsp:useBean id="ss" class="com.javasoft.libs.controller.SelectService" />

<%

Vector<ZipcodeDTO> vector = null;

if(!keyword.equals("")){

vector = ss.select(keyword);

}

%>

<body>

<h1 align="center">우편번호 검색</h1>

<form method="get">

<table style="border-width:0;margin-left:auto;margin-right:auto;width:500px">

<caption>찾고자 하시는 동/읍/면 이름을 입력해 주세요.</caption>

<tr>

<td align='center'> 동이름 : 

<input type="text" name="keyword" id="keyword" placeholder="상하동" required value="<%=keyword%>" />

&nbsp;&nbsp;

<input type="submit" value="검색하기" />

</tr>

<%

if(vector != null && vector.size() == 0){

%>

<script>

alert("검색결과가 없습니다. \n확인 후 다시 검색해 주세요");

history.go(-1);

</script>

<%

}else if(vector != null && vector.size() > 0){

%>

<tr>

<td align='center'>

<select id="ziplist">

<option>--선택--</option>

<%

for(int i = 0 ; i < vector.size() ; i++){

ZipcodeDTO zb = vector.get(i);

out.print("<option value='" + zb + "'>");

out.print(zb.toString() + zb.getBunji());

out.println("</option>");

}

%>

</select>

</td>

</tr>

<% } %>

<tr>

<td align='center'><input type="button" id="btnClose" value="창닫기" /></td>

</tr>

</table>

</form>

</body>

</html>




index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<script>

location.href = "member/member_index.jsp";

</script>

'Java & Oracle' 카테고리의 다른 글

JSTL, 메일 보내기, 파일 업로드  (0) 2014.06.27
EL  (0) 2014.06.26
회원가입, 수정 탈퇴, 게시판까지  (0) 2014.06.25
회원가입  (0) 2014.06.24
자바빈, 우편번호 검색(dbcp), 쿠키, session, 로그인(bean)  (0) 2014.06.23

+ Recent posts