JSP - 8일날 (1201) -jsp로 방명록만들기
오늘은 방명록입니다. ---박태영님이 제공한 소스입니다.
::: MYSQL에서 테이블생성::::::::::::::::::::::::::: create table guestbook( seg int(10) auto_increment primary key, name varchar(20), email varchar(50), home varchar(50), passwd varchar(11), content text not null, now_date varchar(11), ip varchar(17)); );
※참고: 방명록소스 그대로 사용하실경우는 sql int(10) auto_increment primary key, 로 변경해 주세요.
/////write.html////////////////////////////////// <!--파일명 : write.html-->
<html> <body> <head> <script>
function sendit(form) {
if(form.name.value==\){ alert(이름을 입력하세요!);//에러 메세지를 날림 form.name.focus();//커서를 항목으로 옮김 return false; } if(form.email.value==\){ alert(이메일을 입력하세요!);//에러 메세지를 날림 form.email.focus();//커서를 항목으로 옮김 return false; } if(form.passwd.value==\){ alert(비밀번호를 입력하세요!);//에러 메세지를 날림 form.passwd.focus();//커서를 항목으로 옮김 return false; } if(form.home.value.length <=7){//홍페이지의 경우 기본으로 7자가 들어가서 기본값을 7로줌..(http://) alert(홈페이지를 입력하세요!);//에러 메세지를 날림 form.home.focus();//커서를 항목으로 옮김 return false; } form.submit();//필수입력항목이 입력되면 액션을 걸어준 페이지로 이동 } </script> </head> <center> <br> <h1>글쓰기</h1> <form method=post action=post.jsp> <table border=1 width=600 bgcolor=#CCFFFF> <tr> <td >이름 </td> <td><input type=text name=name></td> </tr> <tr> <td>이메일 </td> <td><input type=text name=email></td> </tr> <tr> <td >홈페이지 </td> <td><input type=text name=home value=http://></td> </tr> <tr> <td >제목 </td> <td><input type=text name=subject size=50></td> </tr> <tr> <td >내용 </td> <td><textarea name=content rows=10 cols=60></textarea></td> </tr> <tr> <td >비밀번호 </td> <td><input type=text name=passwd></td> </tr> <tr> <td colspan=2 align=center> <input type=button onClick=sendit(this.form) value=전송>   <input type=reset value=취소></td> </tr> </table> </body> </html>
/////db.jsp////////////////////////////////// <% String drivers = org.gjt.mm.mysql.Driver; String dbhost = jdbc:mysql://localhost:3306/jsptestdb; String dbuser=
oot; String dbpassword = \;
try{ Class.forName(drivers); }catch(ClassNotFoundException e){out.println(e);} %>
/////delete.jsp////////////////////////////////// <%@ include file=db.jsp\%> <%@ page language=java import=java.sql.*,java.io.*,java.text.*,java.util.* contentType= ext/html;charset=ksc5601\%>
<% Connection con; Statement stmt; %> <% try{ con = DriverManager.getConnection(dbhost,dbuser,dbpassword); stmt = con.createStatement(); String sql = request.getParameter(sql);
stmt.executeUpdate(delete from guestbook where sql=+sql);
stmt.close(); con.close();
response.sendRedirect(list.jsp); } catch(SQLException se) { out.println(se.getMessage()); } %>
/////list.jsp////////////////////////////////// <%@ include file=db.jsp\%> <%@ page language=java import=java.sql.*,java.io.*,java.text.*,java.util.* contentType= ext/html;charset=ksc5601\%> <% Connection con; Statement stmt; ResultSet rs,rs1; int back,front; %> <html> <head> <style type= ext/css> a{text-decoration:none;color:black} a:hover{text-decoration:underline;color:magenta} </style>
<body> <center><%@ include file= op.html\%><br> <form method=post action=write.html> <table border=1 bordercolor=#CCFF00cellspacing=2 width=600 bgcolor=lack> <% int pagesize = 10; //한페이지당 표시 개수 int totalpage = 0 ; int cntpage = 0; //현재 페이지 int rate = 0; //나머지 int maxcount = 0; //레코드 개수
try{ con = DriverManager.getConnection(dbhost, dbuser, dbpassword); stmt = con.createStatement(); rs1 = stmt.executeQuery(select count(*) from guestbook); while(rs1.next()) {maxcount = rs1.getInt(1);} rate = maxcount % pagesize; totalpage = maxcount / pagesize;
if(rate > 0) totalpage += 1; String str = request.getParameter(page);
if(str == null) str = 1; cntpage = Integer.parseInt(str); rs = stmt.executeQuery(select sql, name, home,now_date,content from guestbook order by sql desc);
int i=0; int j=0; int pagecnt = (cntpage * pagesize) - pagesize;
while(rs.next()) { if((i<pagesize) && (j>=pagecnt)) { String sql=rs.getString(sql); String name=rs.getString(
ame); String home=rs.getString(home); String day=rs.getString(
ow_date); String content=rs.getString(content);
%> <tr> <td align=center width=10% bgcolor=#CCFFFF><%= sql%></td> <td align=center width=55% bgcolor=#CCFFFF><%= name%></td> <td align=center width=15% bgcolor=#CCFFFF><%= home%></td> <td align=center width=10% bgcolor=#CCFFFF><%= day%></td> <td align=center width=10% bgcolor=#CCFFFF> <a href=delete.jsp?sql=<%=sql%>>삭제</a></td> </tr> <tr bgcolor=#FFFFCC> <td colspan=5><%=content%></td> <% i++; } j++; } rs.close(); stmt.close(); con.close(); }catch(SQLException se) { out.println(se.getMessage()); } %> <tr> <td colspan=4 align=center> <input type=submit value=돌아가기>   <input type=reset value=취소></td>
<tr bgcolor=green> <td colspan=4 align=center> <% if(cntpage > 1) { //첫번째 페이지만을 제외하고 이전페이지보기(◀)를 출력 front = cntpage-1; %>
<a href=list.jsp?page=<%=front%>> ◀ </a>
<% } //End if for(int a=1 ; a<=totalpage ; a++) { if(a == cntpage) { %>
<font size=2 color=red face=굴림> [ <font color=red><%=a%></font> ] </font>
<% } else { %>
<font size=2 face=굴림> [<a href=list.jsp?page=<%=a%>><%=a%></a>] </font> <% } //End else } //End for
if(cntpage < totalpage) { back = cntpage+1; %>
<a href=list.jsp?page=<%=back%>> ▶ </a>
<% } //End if %>
</td> </tr><br>
</tr> </table> </form> </center> </body> </html>
/////post.jsp////////////////////////////////// <%@ include file=db.jsp\%> <%@ page language=java import=java.sql.*,java.io.*,java.text.*,java.util.* contentType= ext/html;charset=ksc5601\%>
<%! Connection con; Statement stmt; %>
<% String sql=request.getParameter(sql); String name=request.getParameter(
ame); String home=request.getParameter(home); String content=request.getParameter(content); java.util.Date now=new java.util.Date(); SimpleDateFormat date= new SimpleDateFormat(yyyy/MM/dd); String regdate = date.format(now);
try{ con = DriverManager.getConnection(dbhost,dbuser,dbpassword); stmt = con.createStatement();
stmt.executeUpdate(insert into guestbook(sql,name,home,content,now_date) values (\+sql +\,\+name+\,\+home+\,\+content+\,now()));
stmt.close(); con.close();
response.sendRedirect(list.jsp); } catch(SQLException se) { out.println(se.getMessage()); } %>
/////top.html////////////////////////////////// <html> <body> <table> <tr> <td><h1>방 명 록</h1> </td> </tr> </table> </body> </html>
jsp 스터디 2004 12 01
소스자세히보기 - 방명록
http://www.6VJ.com/jsp/jsp1201.txt
-안에서도 불안정하면 그안에서 소스보기 하세요.
|