*가입, 로그인, 로그아웃 페이지를 만들어보자.
위와같이 루틴을 돌려고 한다.
html에서 form을 이용하여 값을 입력한다.
servlet에서 입력한 값을 처리하고 저장
jsp에서 처리한 값들을 출력
※직접 해보기 위해 소스는 마지막 줄에 올려두었다.
출력화면만 보고 자기가 직접 만들어보자
*가입
위와같은 루틴을 이용하여 만들어 보자.
join.html
가입을 하기위해 form과 input을 이용하여 값을 받아
JoinOk에 넘겨준다.
JoinOk.java(servlet)
보내져온 값들을 DB에 저장한다.
단, 중복된 아이디가 있을경우 다시 join.html로 이동한다.
JoinResult.jsp
보내져온 값들이 정상적으로 저장되었다고 출력한다.
로그인 페이지 링크를 만든다.
DB에 저장된것을 확인한다.
=============================소스===============================
join.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<!DOCTYPE html> <html> <head> <meta charset="EUC-KR"> <title>Insert title here</title> </head> <body>
<form action="joinOk" method="POST"> 이름 <input type="text" name="name" size = "10"> <br /> 아이디 <input type="text" name="id" size = "10"> <br /> 비밀번호 <input type="password" name="pw" size = "20"> <br /> 전화번호 <select name="num1"> <option value="">----선택----</option> <option value="010">010</option> <option value="011">011</option> <option value="017">017</option> <option value="019">019</option> </select> <input type="text" name="num2" size="10"> <input type="text" name="num3" size="10"><br />
성별 <br /> 남 <input type="radio" name="se" value="man"> 여 <input type="radio" name="se" value="여"> <br /> <input type="submit" value="회원가입"><br /> <input type="reset" value="취소"><br />
</form> </body> </html> |
JoinOk.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
package com.java.homepage;
import java.io.IOException; import java.io.PrintWriter; import java.sql.*;
import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
/** * Servlet implementation class joinOk */ @WebServlet("/joinOk") public class joinOk extends HttpServlet {
//db connect Connection conn = null; Statement statement; ResultSet resultSet;
String post_name; String post_id; String post_pw; String post_num1; String post_num2; String post_num3;
private static final long serialVersionUID = 1L;
/** * @see HttpServlet#HttpServlet() */ public joinOk() { super(); // TODO Auto-generated constructor stub }
/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //response.getWriter().append("Served at: ").append(request.getContextPath());
}
/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //doGet(request, response);
request.setCharacterEncoding("EUC-KR"); //response.setContentType("text/html;charset='EUC-KR'"); System.out.println("doPost");
//request info post_name = request.getParameter("name"); post_id = request.getParameter("id"); post_pw = request.getParameter("pw"); post_num1 = request.getParameter("num1"); post_num2 = request.getParameter("num2"); post_num3 = request.getParameter("num3");
//db String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:clouddb"; String uid = "testid"; String upw = "password"; String query_select = "select * from member"; String query_insert = "insert into MEMBER(id,pw,name,phone) values('"+post_id+"','"+post_pw+"','"+post_name+"','"+post_num1+"-"+post_num2+"-"+post_num3+"')";
try{ System.out.println("try 시작"); Class.forName(driver); conn = DriverManager.getConnection(url,uid,upw); statement = conn.createStatement(); resultSet = statement.executeQuery(query_select); boolean id_exist = true;
//db비교 while(resultSet.next()) { String orgin_id = resultSet.getString("id"); String orgin_pw = resultSet.getString("pw");
//아이디 비교 if(orgin_id.equals(post_id)) { //비밀번호 비교 id_exist = false; } }
//만약 아이디가 없다면 if(id_exist) { //아이디추가 resultSet = statement.executeQuery(query_insert); System.out.println("가입완료!");
//가입완료후 페이지 response.sendRedirect("joinResult.jsp"); } else { System.out.println("가입 실패!"); response.sendRedirect("join.html"); }
} catch(SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { try { if(conn != null) conn.close(); if(statement != null) statement.close(); if(resultSet != null) resultSet.close(); } catch(Exception e){ e.getStackTrace(); } }
}
}
|
joinResult.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>Insert title here</title> </head> <body>
<h1>회원가입이 되었습니다!</h1><br />
<a href="login.html">로그인</a>
</body> </html> |
'프로그래밍 정리 > JSP, Servlet, DB(oracle)' 카테고리의 다른 글
웹 프로그래밍 14-3(JSP,DB,servlet)-가입, 로그인, 수정 페이지 (0) | 2020.01.03 |
---|---|
웹 프로그래밍 14-2(JSP,DB,servlet)-가입, 로그인, 수정 페이지 (0) | 2020.01.03 |
웹 프로그래밍 13(JSP,DB,servlet)-Ojdbc연동 (0) | 2020.01.03 |
웹 프로그래밍 12(DB)-오라클 시작하기 (0) | 2020.01.03 |
웹 프로그래밍 11(JSP)-JSP에서 빈(Bean)을 사용해보자 (0) | 2020.01.03 |