JSP JDBC Chap 13 2 JSP JSP zipdb
JSP에서 JDBC Chap. 13 2 • 자바 빈즈를 이용하는 경우 /JSP 웹 개 발 자 를 위 한 서 블 릿 – 장점 : 데이터베이스 컨넥션을 가지는 빈즈 클래스를 JSP와 서블릿들 간에 공유가 가 능하다 • 예제: zipdb. java 14 15 public zipdb() { try { 16 Class. for. Name("com. ashna. jturbo. driver. Driver"); 17 con = Driver. Manager. get. Connection(url, user, passwd); 18 stat = con. create. Statement(); 19 …… } catch (Exception e) {
JSP에서 JDBC • 예제: zip. jsp 1 <%@ page import="java. sql. *" error. Page="ziperr. jsp" 2 /JSP 웹 개 발 자 를 위 한 서 블 릿 content. Type="text/html; charset=KSC 5601" %> 3 4 <jsp: use. Bean id="db" class="zip. zipdb" scope="application" /> …… 16 Result. Set rs = db. execute. Query( 17 18 "select * from zip where area like '%" + area +"%' "); while(rs. next()) { 19 %> 20 <TR> 21 <% 22 String ar = rs. get. String(1); 23 String code = rs. get. String(2); Chap. 13 3
JSP에서 JDBC Chap. 13 4 • JSP에서 데이터베이스에 연결하는 경우 – 장점: 이해하기 쉬움 /JSP 웹 개 발 자 를 위 한 서 블 릿 • 예제: zip-two. jsp 1 <%@ page import="java. sql. *" error. Page="ziperr. jsp" 2 content. Type="text/html; charset=KSC 5601" %> …… 12 13 public void jsp. Init() { try { 14 Class. for. Name("com. ashna. jturbo. driver. Driver"); 15 con = Driver. Manager. get. Connection(url, user, passwd); 16 stat = con. create. Statement(); 17 } catch (Exception e) {
JSP에서 JDBC • 예제: zip-two. jsp (계속) 38 String area = 39 /JSP 웹 개 발 자 를 위 한 서 블 릿 Hangul. Conversion. to. Kor(request. get. Parameter("area")); 40 41 Result. Set rs = stat. execute. Query( 42 43 "select * from zip where area like '%" + area +"%' "); while(rs. next()) { 44 %> 45 <TR> 46 <% 47 String ar = rs. get. String(1); 48 String code = rs. get. String(2); 49 %> Chap. 13 5
세션 • 예제: second. jsp 1 <%@ page session="true" %> /JSP 웹 개 발 자 를 위 한 서 블 릿 2 <html> 3 <head><title>두 번째 페이지</title></head> 4 <body> 5 <center><h 2>세션 두 번째 페이지</h 2></center> 6 7 <% 8 String id = (String)session. get. Attribute("id"); 9 %> 10 <%= id %>님 방문을 환영합니다. Chap. 13 7
쿠키 • 예제: cookiecount. jsp (계속) 9 if("GET". equals(request. get. Method())) { 10 /JSP 웹 개 발 자 를 위 한 서 블 릿 Cookie cookies[] = request. get. Cookies(); …… 15 for(int i=0; i < cookies. length; i++) { 16 if("name". equals(cookies[i]. get. Name())) { 17 name = (String)cookies[i]. get. Value(); …… 25 if(name == null) { …… 29 <form method=POST> 30 이름: <input type=text name=name> 31 <input type=submit value="전송"> Chap. 13 10
쿠키 • 예제: cookiecount. jsp (계속) 35 /JSP 웹 개 발 자 를 위 한 서 블 릿 36 } else { count++; …… 39 <%= kname %>님 <%= count %>번째 방문을 감사드립니다. …… 52 } else { // POST 메소드인 경우 53 String kname = request. get. Parameter("name"); …… 61 response. add. Cookie(name. Cookie); 62 response. add. Cookie(count. Cookie); Chap. 13 11
JDBC 예제: 인터넷 시험 • 예제: mid. jsp 10 /JSP 웹 개 발 자 를 위 한 서 블 릿 public void jsp. Init() { 11 try { 12 Class. for. Name("org. gjt. mm. mysql. Driver"). new. Instance(); 13 con = Driver. Manager. get. Connection( 14 "jdbc: mysql: //localhost/prog", "user-id", "passwd"); 15 16 } catch(Exception e) { } } …… 24 String to. Db(String m) { 25 26 return m. replace(''', 'b'). replace('\', 'u 0007'); } Chap. 13 13
JDBC 예제: 인터넷 시험 • 예제: midlist. jsp /JSP 웹 개 발 자 를 위 한 서 블 릿 29 String sql = "select num from exam order by num"; 30 Statement stat = con. create. Statement(); 31 Result. Set rs = stat. execute. Query(sql); 32 while(rs. next()) { 33 String num = rs. get. String(1); 34 %> 35 %></a> <li><a href=midv. jsp? num=<%= num %>><%= num 36 <% 37 } Chap. 13 14
JDBC 예제: 인터넷 시험 Chap. 13 15 • 예제: midv. jsp 22 /JSP 웹 개 발 자 를 위 한 서 블 릿 String to. Html(String d) { 23 24 return d. replace('u 0007', '\'). replace('b', '''); } …… 26 27 void print. Score(Jsp. Writer out, String name) throws IOException { for(int i=0; i <= 10; i++) { 28 out. print("<input type=radio name="); 29 out. print(name); 30 if(i == 0) 31 out. print(" checked "); 32 out. print(" value=" + i + ">"); 33 out. println( i + "점 ");
JDBC 예제: 인터넷 시험 • 예제: midv. jsp /JSP 웹 개 발 자 를 위 한 서 블 릿 35 out. print(" 기타"); 36 out. print("<input type=text name="); 37 out. println(name + " size=3>"); 38 } …… 68 <form method=post action=midc. jsp> 69 1번 답: 70 <xmp><%= ans 1 %> </xmp><hr> 71 1번 점수: <% print. Score(out, "a 1"); %> <hr> Chap. 13 16
JDBC 예제: 인터넷 시험 • 예제: midc. jsp /JSP 웹 개 발 자 를 위 한 서 블 릿 22 String get. Score(Http. Servlet. Request req, String name) { 23 String [] values = req. get. Parameter. Values(name); 24 String score = values[0]; 25 if(score. equals("0") && values[1]. trim(). length() > 0) { 26 score = values[1]; 27 } 28 return score; 29 } …… 36 String num = request. get. Parameter("num"); 37 String a 1 = get. Score(request, "a 1"); Chap. 13 17
JDBC 예제: 인터넷 시험 • 예제: mids. jsp 22 /JSP 웹 개 발 자 를 위 한 서 블 릿 response. set. Content. Type("application/vnd. ms-excel"); …… 26 Result. Set rs = stat. execute. Query(sql); 27 out. println("학번t점수"); 28 while(rs. next()) { 29 String num = rs. get. String(1); 30 int a 1 = rs. get. Int(2); …… 41 42 int sum = a 1 + a 2 + a 3 + a 4 + a 5 + a 6 + a 7 + a 8 + a 9 + a 10; 43 44 out. println(num + "t" + sum); Chap. 13 18
- Slides: 18