방명록 페이징
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"> </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> </p>
<p> </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(" ");
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> ");
}else{
out.print("<a style='text-decoration:none' href='glist.jsp?page=" + i + "'>");
out.print(i);
out.print("</a> ");
}
}
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"> </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"> </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()">
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- main 끝 -->
</td>
<td width="40"> </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("<", "<");
title = title.replace(">", ">");
%>
<jsp:setProperty name="board" property="title" value="<%=title %>" />
<%
String contents = request.getParameter("contents");
contents = contents.replace("<", "<");
contents = contents.replace(">", ">");
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"> </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()">
<input type="reset" value="취소하기" style='font-size:1.3em'>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<!-- main 끝 -->
</td>
<td width="40"> </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"> </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"> </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>
<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">
</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"> </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"> </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>
<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>
<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"> </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">
</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"> </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">
비밀번호 확인
<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>
<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>
<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"> </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"> </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%>" />
<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 |