JSP mySQL 연동 페이지, 회원가입, 출력페이지, 삭제 샘플
페이지 정보
본문
1. input.html
id, password, name, email 등의 간단한 정보를 join.jsp 에 전달
<%@ page contentType="text/html;charset=utf-8" %>
<HTML>
<HEAD><TITLE>회원 입력</TITLE></HEAD>
<BODY bgcolor=black>
<FORM action="join.jsp" method="post">
<font color=gray>
아이디 : <INPUT type="text" name="id" maxlength="8"><BR>
암호 : <INPUT type="password" name="pwd" maxlength="8"><BR>
이름 : <INPUT type="text" name="name" maxlength="12"><BR>
e-mail : <INPUT type="text" name="email" maxlength="25"><P>
<INPUT type="submit" value=" 저 장 "></font>
</FORM>
</BODY>
</HTML>
2. join.jsp
input으로부터 넘어온 데이타들을 변수화 후에 데이타베이스로 쿼리문을 보낸다.
그 이후 output.jsp에서 데이터베이스에 추가된 회원들의 정보를 출력한다.
<%@ page contentType="text/html;charset=utf-8" import="java.sql.*" %>
<%
request.setCharacterEncoding("utf-8"); //Set encoding
String id = request.getParameter("id");
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
String email = request.getParameter("email");
//POST로 Input.html로부터 입력받은 내용을 변수화
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/web02?useUnicode=true&characterEncoding=utf-8";
Connection con = DriverManager.getConnection(url,"admin","1234");
Statement stat = con.createStatement();
String query = "INSERT INTO member(id, name, pwd, email) VALUES('"+id+"','"+name+"','"+pwd+"','"+email+"')";
//INSERT into member(id,name,pwd,email) VALUES ('id','name','pwd','email') 쿼리문
stat.executeUpdate(query);
stat.close();
con.close();
}
catch(Exception e){
out.println( e );
}
response.sendRedirect("output.jsp");
%>
3. output.jsp
이제 데이터베이스에 회원이 추가 되었으니 어떤 회원이 있는지 알아보자.
데이터베이스에서 회원 정보를 가져온 후 테이블에 출력한다.
<%@ page contentType="text/html;charset=utf-8"
import="java.sql.DriverManager,
java.sql.Connection,
java.sql.Statement,
java.sql.ResultSet,
java.sql.SQLException" %>
<%
response.setContentType("text/html;charset=utf-8;");
request.setCharacterEncoding("euc-kr"); //charset, Encoding 설정
Class.forName("com.mysql.jdbc.Driver"); // load the drive
String DB_URL =
"jdbc:mysql://localhost:3306/web02?useUnicode=true&characterEncoding=utf-8";
// 주의 : test by changing mydb to name that you make
String DB_USER = "admin";
String DB_PASSWORD= "1234";
Connection conn= null;
Statement stmt = null;
ResultSet rs = null;
try {
conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
stmt = conn.createStatement();
String query = "SELECT id, name, pwd, email FROM member";
rs = stmt.executeQuery(query);
%>
<form action="delete_do.jsp" method="post">
<table border="1" cellspacing="0">
<tr>
<td>ID</td>
<td>Name</td>
<td>password</td>
<td>email</td>
<th>비고</th>
</tr>
<%
while(rs.next()) { //rs 를 통해 테이블 객체들의 필드값을 넘겨볼 수 있다.
%><tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString("pwd")%></td>
<td><%=rs.getString("email")%></td>
<td><a href="delete_do.jsp?del=<%=rs.getString(1)%>">삭제</a>
</td>
</tr>
<%
} // end while
%></table>
</form>
<%
rs.close(); // ResultSet exit
stmt.close(); // Statement exit
conn.close(); // Connection exit
}
catch (SQLException e) {
out.println("err:"+e.toString());
}
%>
4. delete.jsp
삭제를 담당할 페이지의 소스다.
출력하는 부분에서 석제 버튼마다 각 ID의 변수를 get으로 전송하고 있기 때문에,
삭제 페이지는 넘어온 변수를 이용하여 쿼리문만 날려주면 된다.
<%@ page contentType="text/html;charset=utf-8" import="java.sql.*" %>
<%
request.setCharacterEncoding("utf-8");
String id = request.getParameter("del");
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/web02?useUnicode=true&characterEncoding=utf-8";
Connection con = DriverManager.getConnection(url,"admin","1234");
Statement stat = con.createStatement();
String query = "DELETE FROM member where id='" + request.getParameter("del")+"'";
//쿼리문 전송
stat.executeUpdate(query); //return 1.
stat.close();
con.close();
response.sendRedirect("output.jsp") ;
}
catch(Exception e){
out.println( e );
}
%>
자료출처
http://sosal.tistory.com/176
id, password, name, email 등의 간단한 정보를 join.jsp 에 전달
<%@ page contentType="text/html;charset=utf-8" %>
<HTML>
<HEAD><TITLE>회원 입력</TITLE></HEAD>
<BODY bgcolor=black>
<FORM action="join.jsp" method="post">
<font color=gray>
아이디 : <INPUT type="text" name="id" maxlength="8"><BR>
암호 : <INPUT type="password" name="pwd" maxlength="8"><BR>
이름 : <INPUT type="text" name="name" maxlength="12"><BR>
e-mail : <INPUT type="text" name="email" maxlength="25"><P>
<INPUT type="submit" value=" 저 장 "></font>
</FORM>
</BODY>
</HTML>
2. join.jsp
input으로부터 넘어온 데이타들을 변수화 후에 데이타베이스로 쿼리문을 보낸다.
그 이후 output.jsp에서 데이터베이스에 추가된 회원들의 정보를 출력한다.
<%@ page contentType="text/html;charset=utf-8" import="java.sql.*" %>
<%
request.setCharacterEncoding("utf-8"); //Set encoding
String id = request.getParameter("id");
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
String email = request.getParameter("email");
//POST로 Input.html로부터 입력받은 내용을 변수화
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/web02?useUnicode=true&characterEncoding=utf-8";
Connection con = DriverManager.getConnection(url,"admin","1234");
Statement stat = con.createStatement();
String query = "INSERT INTO member(id, name, pwd, email) VALUES('"+id+"','"+name+"','"+pwd+"','"+email+"')";
//INSERT into member(id,name,pwd,email) VALUES ('id','name','pwd','email') 쿼리문
stat.executeUpdate(query);
stat.close();
con.close();
}
catch(Exception e){
out.println( e );
}
response.sendRedirect("output.jsp");
%>
3. output.jsp
이제 데이터베이스에 회원이 추가 되었으니 어떤 회원이 있는지 알아보자.
데이터베이스에서 회원 정보를 가져온 후 테이블에 출력한다.
<%@ page contentType="text/html;charset=utf-8"
import="java.sql.DriverManager,
java.sql.Connection,
java.sql.Statement,
java.sql.ResultSet,
java.sql.SQLException" %>
<%
response.setContentType("text/html;charset=utf-8;");
request.setCharacterEncoding("euc-kr"); //charset, Encoding 설정
Class.forName("com.mysql.jdbc.Driver"); // load the drive
String DB_URL =
"jdbc:mysql://localhost:3306/web02?useUnicode=true&characterEncoding=utf-8";
// 주의 : test by changing mydb to name that you make
String DB_USER = "admin";
String DB_PASSWORD= "1234";
Connection conn= null;
Statement stmt = null;
ResultSet rs = null;
try {
conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
stmt = conn.createStatement();
String query = "SELECT id, name, pwd, email FROM member";
rs = stmt.executeQuery(query);
%>
<form action="delete_do.jsp" method="post">
<table border="1" cellspacing="0">
<tr>
<td>ID</td>
<td>Name</td>
<td>password</td>
<td>email</td>
<th>비고</th>
</tr>
<%
while(rs.next()) { //rs 를 통해 테이블 객체들의 필드값을 넘겨볼 수 있다.
%><tr>
<td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString("pwd")%></td>
<td><%=rs.getString("email")%></td>
<td><a href="delete_do.jsp?del=<%=rs.getString(1)%>">삭제</a>
</td>
</tr>
<%
} // end while
%></table>
</form>
<%
rs.close(); // ResultSet exit
stmt.close(); // Statement exit
conn.close(); // Connection exit
}
catch (SQLException e) {
out.println("err:"+e.toString());
}
%>
4. delete.jsp
삭제를 담당할 페이지의 소스다.
출력하는 부분에서 석제 버튼마다 각 ID의 변수를 get으로 전송하고 있기 때문에,
삭제 페이지는 넘어온 변수를 이용하여 쿼리문만 날려주면 된다.
<%@ page contentType="text/html;charset=utf-8" import="java.sql.*" %>
<%
request.setCharacterEncoding("utf-8");
String id = request.getParameter("del");
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/web02?useUnicode=true&characterEncoding=utf-8";
Connection con = DriverManager.getConnection(url,"admin","1234");
Statement stat = con.createStatement();
String query = "DELETE FROM member where id='" + request.getParameter("del")+"'";
//쿼리문 전송
stat.executeUpdate(query); //return 1.
stat.close();
con.close();
response.sendRedirect("output.jsp") ;
}
catch(Exception e){
out.println( e );
}
%>
자료출처
http://sosal.tistory.com/176
댓글목록
등록된 댓글이 없습니다.