MVC JSP http http JSP JSP HTMLJa va

  • Slides: 35
Download presentation

MVC 모델 JSP간 복잡한 이동 http 요청 http 응답 JSP JSP HTML+Ja va db

MVC 모델 JSP간 복잡한 이동 http 요청 http 응답 JSP JSP HTML+Ja va db JSP서 DB 직접 접근 http 요청 http 응답 JSP JSP Java JSP Bean MVC 모델 1 Bean에서 DB 접근 db 일관된 응답요청관리 http 요청 Servlet JSP (Controlle r) http 응답 JSP JSP (View) Bean JSP (Model ) db MVC 모델 2 Bean에서 DB 접근

Bean(클래스)의 인스턴스 ti set. Age () Bark() age Move() get. Age ()

Bean(클래스)의 인스턴스 ti set. Age () Bark() age Move() get. Age ()

JSP에서 Javabean의 사용-150 p JSP 에서 bean을 이용하기 위해서는 <jsp: use. Bean>, <jsp: set.

JSP에서 Javabean의 사용-150 p JSP 에서 bean을 이용하기 위해서는 <jsp: use. Bean>, <jsp: set. Property>, <jsp: get. Property> 액션 태그를 활용해야 한다. <jsp: use. Bean id="name”class="package. Class” scope=“page" /> <jsp: use. Bean id="ti”class="com. Tiger”scope=page" /> com. Tiger ti = new com. Tiger(); <jsp: get. Property name=“name” property= “property”> <jsp: get. Property name=“ti” property=“age”> ti. get. Age(); <jsp: set. Property name=”name. Class”property=”name” value=”John” /> <jsp: set. Property name="ti”property= “age” value=3 /> ti. set. Age(3);

Java bean의 활용 연습 <%@ page language="java" content. Type="text/html; charset=utf-8“ page. Encoding="utf-8 "%> com.

Java bean의 활용 연습 <%@ page language="java" content. Type="text/html; charset=utf-8“ page. Encoding="utf-8 "%> com. Hello my. Bean = new com. Hello() <jsp: use. Bean id="my. Bean" class="com. Hello" scope="page" ></jsp: use. Bean> my. Bean. set. Message(“ My First Java. Bean”); <jsp: set. Property name="my. Bean" property="message" value="My First Java. Bean!!!" /> <!DOCTYPE html PUBLIC "-//W 3 C//DTD HTML 4. 01 Transitional//EN" "http: //www. w 3. org/TR/html 4/loose. dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Insert title here</title> </head> <body> 액션태그를 이용한 get. Message() 메서드 사 용 my. Bean. get. Message(); Bean 연습: ==> <jsp: get. Property name="my. Bean" property="message" / > <hr width="350 px" align="left" /> <br/> 클래스의 인스턴스에서 메서드를 직접 사용 <hr width="300 px" align="left" /> <% my. Bean. set. Message("메서드에 직접데이터 저장!!!!"); %> 두번째 Bean ==> <%= my. Bean. get. Message() %> <hr width="350 px" align="left" /> </body> </html> 인스턴스를 이용한 메서드 직접사용

회원테이블 데이터 bean의 작성 (memebr_Data. java) 1. Dynamic web Project 생성 2. Src 오른쪽

회원테이블 데이터 bean의 작성 (memebr_Data. java) 1. Dynamic web Project 생성 2. Src 오른쪽 클릭>New>Class 4. Java 클래스 생성 확 인 3. 입력

회원테이블Gatter & setter 설정 (memebr_Data. java) 1. 테이블 컬럼 멤버변수 입력 package member; 3.

회원테이블Gatter & setter 설정 (memebr_Data. java) 1. 테이블 컬럼 멤버변수 입력 package member; 3. 멤버변수 선택 public class member_Data { private String id; private String pass; private String name; private String jumin; private String zip; private String addr 1; private String addr 2; private String phone; private String email; 2. 오른쪽 클릭>Source >Gerate getter &setter } 4. 결과 확인

생성자와 conection 객체 생성 메서드 member_DB. java package member; 블록 > CTRL+SHIFT + O

생성자와 conection 객체 생성 메서드 member_DB. java package member; 블록 > CTRL+SHIFT + O import java. sql. *; import java. sql. Driver. Manager; public class member_DB { private static member_DB instance = new member_DB(); member_DB get. Connection() user. Check() confirm. ID() insert. Member() get. IDSearch() … public static member_DB get. Instance(){ return instance; } public member_DB(){} private static Connection get. Connection() throws Exception{ Connection con = null; Class. for. Name("com. microsoft. sqlserver. jdbc. SQLServer. Driver"); con = Driver. Manager. get. Connection("jdbc: sqlserver: //168. 126. 146. 35: 1433; Database. Name=JNEDB 1", "jjinpang") ; return con; } … } 추가 메서드 입력

로그인 메서드 member_DB. java } catch (Exception e){} finally { if (rs != null)

로그인 메서드 member_DB. java } catch (Exception e){} finally { if (rs != null) { try{ rs. close(); } catch(SQLException se){} } if (pstmt != null) { try{ pstmt. close(); } catch(SQLException se){} } if (con != null) { try{ con. close(); } catch(SQLException se){} } } return x; //로그인 시 ID, Password 체크하는 코드 public static int user. Check(String me_id, String me_pass) throws Exception { Connection con = null; Prepared. Statement pstmt = null; Result. Set rs = null; String dbpass = ""; int x = -1; try { con = get. Connection(); pstmt = con. prepare. Statement("SELECT pass FROM member_tbl WHERE id = ? "); pstmt. set. String(1, me_id); rs = pstmt. execute. Query(); if (rs. next()) { dbpass = rs. get. String("pass"); if (dbpass. equals(me_pass)) { x = 1; //아이디와 비번이 일치할 때 } else { x = 0; //아이디는 일치하고 비번이 일치하지 않을 때 } } else { x = -1; //아이디가 없을 때 } }

회원 등록 -데이터 빈 객체를 매개변수로member_DB. java public static int insert. Member(member_Data member) throws

회원 등록 -데이터 빈 객체를 매개변수로member_DB. java public static int insert. Member(member_Data member) throws Exception { Connection con = null; Prepared. Statement pstmt = null; Result. Set rs = null; String sql = null; int x = -1; //등록 실패 catch (Exception e){ e. print. Stack. Trace(); } finally { if (rs != null) { try{ rs. close(); } catch(SQLException se){} } try{ con = get. Connection(); sql = "insert into member_tbl (id, pass, name, jumin, zip, addr 1, addr 2, phone, email) values(? , ? , ? )"; pstmt = con. prepare. Statement(sql); if (pstmt != null) { pstmt. set. String(1, pstmt. set. String(2, pstmt. set. String(3, pstmt. set. String(4, pstmt. set. String(5, pstmt. set. String(6, pstmt. set. String(7, pstmt. set. String(8, pstmt. set. String(9, if (con != null) { member. get. Id()); member. get. Pass()); member. get. Name()); member. get. Jumin()); member. get. Zip()); member. get. Addr 1()); member. get. Addr 2()); member. get. Phone()); member. get. Email()); pstmt. execute. Update(); x = 1; // 등록 성공 } //try try{ pstmt. close(); } catch(SQLException se){} } try{ con. close(); } catch(SQLException se){} } } return x; }

자바 빈을 활용한 회원인증 http 요청 http 응답 Member. ht ml (로그인) Member_ok. js

자바 빈을 활용한 회원인증 http 요청 http 응답 Member. ht ml (로그인) Member_ok. js p member_ok_use. Bean. jsp member_ok_java. jsp db member_DB. java user. Check(id, pass) member_page. jsp db

자바 빈을 활용한 회원인증 member_ok_use. Bean. jsp l. Webcontents>New>JSP file> member_ok_use. Bean. jsp 입력

자바 빈을 활용한 회원인증 member_ok_use. Bean. jsp l. Webcontents>New>JSP file> member_ok_use. Bean. jsp 입력 <%@ page content. Type="text/html; charset=utf-8" if(check == 1){ //아이디와 비밀번호 일치 <% request. set. Character. Encoding("utf-8"); %> session. set. Attribute("user", session. ID); response. send. Redirect("member_page. jsp"); %> <% String id = request. get. Parameter("txt. ID"); String pass = request. get. Parameter("pass"); String session. ID = "yes"; int check = 0; %> <jsp: use. Bean id="mem" class="member_DB" } else if(check == 0){ %> <script language="Java. Script"> alert("비밀번호가 일치하지 않습니다"); history. go(-1); </script> /> <% }else if(check == -1){ %> <% check = mem. user. Check(id, pass); <script language="Java. Script"> alert("아이디가 일치하지 않습니다"); history. go(-1); </script> <% } %>

자바 클래스 직접 호출을 이용한 회원인증 l. Webcontents>New>JSP file> member_ok_Java. jsp 입력 <%@ page

자바 클래스 직접 호출을 이용한 회원인증 l. Webcontents>New>JSP file> member_ok_Java. jsp 입력 <%@ page content. Type="text/html; charset= utf-8" %> <%@ page import="member_DB" %> <%@ page import="member_Data" %> <%@ page import="java. util. *" %> <% request. set. Character. Encoding("utf-8"); %> <% String id = request. get. Parameter("txt. ID"); String pass = request. get. Parameter("pass"); String session. ID = "yes"; int check = 0; member_DB mem = member_DB. get. Instance(); check = mem. user. Check( id, pass ); if(check == 1){ //아이디와 비밀번호 일치 session. set. Attribute("user", session. ID); response. send. Redirect("member_page. jsp") } else if(check == 0){ %> <script language="Java. Script"> alert("비밀번호가 일치하지 않습니다"); history. go(-1); </script> <% }else if(check == -1){ %> <script language="Java. Script"> alert("아이디가 일치하지 않습니다"); history. go(-1); </script> <% } %>

id 중복체크 http 요청 http 응답 member_in. jsp member_in. js p (ID 중복검사) checkid.

id 중복체크 http 요청 http 응답 member_in. jsp member_in. js p (ID 중복검사) checkid. jsp db checkid_Bean. jsp member_DB. java confirm. Id(id) db

Id 중복체크 l. Webcontents>New>JSP file> checkid_Bean. jsp 입력 <%@ page content. Type = "text/html;

Id 중복체크 l. Webcontents>New>JSP file> checkid_Bean. jsp 입력 <%@ page content. Type = "text/html; charset=utf-8" %> <jsp: use. Bean id="mem" class="member_DB" /> <%@ page import = "java. sql. *" %> <HTML> <HEAD> <TITLE> 아이디 중복 체크 </TITLE> <META http-equiv="Content-Type" content="text/html; charset=utf-8"> <style type='text/css'> a: link {font-family: ""; color: black; text-decoration: none; } a: visited {font-family: ""; color: black; text-decoration: none; } a: hover {font-family: ""; color: black; text- decoration: underline; } </style> <SCRIPT language="Java. Script"> function str. Data( reid, txt. ID) { opener. document. join. Form. re_id. value= reid; opener. document. join. Form. id. value= txt. ID; window. close(); } </SCRIPT> <% check = mem. confirm. Id(txt. ID); if(check == -1){ //사용 가능한 아이디 %> <TR> <TD align='center' bgcolor='cccccc'> <font size='2'>ID : <%=txt. ID%> <BR> 사용 가능한 아이디입니다 . </font> <% reid = txt. ID; %> </TD> </TR> <TD align='center'> <a href=javascript: str. Data('<%= reid %>', '<%=txt. ID%>')>[닫 기 ]</a></TD> </TR> <% } else { %> <TR> <TD align='center' bgcolor='cccccc'> <font size='2'>ID : <%=txt. ID%> <BR> 사용할 수 없는 아이디입니다 . </font> <TABLE border='1' width=250> <% reid= ""; txt. ID=""; %> </TD> </TR> <TD align='center'> <a href=javascript: str. Data('<%= reid %>', '<%=txt. ID%>')>[닫 기 <% ]</a> </HEAD> <BODY> String txt. ID = request. get. Parameter("id"); String reid=""; int check = 0; %> </TD> </TR> <% } %> </TABLE>

회원가입 http 요청 http 응답 member_in. jsp member_in. js p (회원가입) Member_save. j sp

회원가입 http 요청 http 응답 member_in. jsp member_in. js p (회원가입) Member_save. j sp member_save_Bean. j sp db member_DB. java insert. Member() member_Data. jav a db

회원가입 l. Webcontents>New>JSP file> member_save_Bean. jsp 입력 Name이 일치되는 것만 자동 set

회원가입 l. Webcontents>New>JSP file> member_save_Bean. jsp 입력 Name이 일치되는 것만 자동 set

회원가입 <BODY> <center><font size='3'><b> 회원 가입 성공 </b></font> <center><font size='3'><b> 회원 가입 실패 </b></font>

회원가입 <BODY> <center><font size='3'><b> 회원 가입 성공 </b></font> <center><font size='3'><b> 회원 가입 실패 </b></font> <TABLE border='0' width='600' cellpadding='0' cellspacing='0'> <TR><TD><hr size='1' noshade></TD> </TR> <TABLE border='0' width='600' cellpadding='0' cellspacing='0'> <TR><TD><hr size='1' noshade> </TD> </TR> </TABLE> <TABLE cell. Spacing='0' cell. Padding='10' align='center' border='0'> <TR> <TD align='center'> <font size='2'>회원 가입에 실패 했습니다. <BR>다시 가입서를 작성해 주세요 . </font> <font size='2'>회원 가입을 축하합니다. <BR>로그인 하세요 . </font> </TD> </TR> <TR> <TD align='center'> <font size='2'><a href="member_in. jsp">[가입서 작성]</a></font> </TD> <font size='2'><a href="member. html">[로그인]</a></font> </TD> </TR> </TABLE> </BODY> </HTML> <% <% } %> } else { %>

member_DB. java에 추가할 부분 Member. html 아이디 찾기 예제 member_DB. java get. IDSearch() member_XXX_Bean.

member_DB. java에 추가할 부분 Member. html 아이디 찾기 예제 member_DB. java get. IDSearch() member_XXX_Bean. jsp XXXform. jsp(html) XXX. jsp(html) db