데이터 입력 및 표시 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 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 143 144 145 146 147 148 | <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <style type="text/css"> form { width:500px; margin:10px auto; } ul { padding:0; margin:0; list-style:none; } ul li { padding:0; margin: 0 0 10px 0; } label { width:100px; float:left; } table { border:solid 1px gray; width: 500px; margin: 0 auto; border-collapse:collapse; } td { border: solid 2px gray; } </style> <script type="text/javascript" src="../js/jquery-1.11.2.min.js"></script> <script type="text/javascript"> $(function(){ //목록 function selectData(){ //table의 내부내용을 제거(초기화) $('#output').empty(); $.getJSON('getPeopleJSON.jsp', function(data){ $(data).each(function(index,item){ var output=''; output += '<tr>'; output += '<td>'+item.id+'</td>'; output += '<td>'+item.name+'</td>'; output += '<td>'+item.job+'</td>'; output += '<td>'+item.address+'</td>'; output += '<td>'+item.bloodType+'</td>'; output += '</tr>'; $('#output').append(output); }); }); } //이벤트 연결 $('#insert_form').submit(function(event){ //입력 양식의 내용을 요청 매개 변수 문자열로 만듬 //(파라미터네임과 value의 쌍, 인코딩 처리) var data = $(this).serialize(); //요청 URL ,전송할 데이터, 전송이 성공하면 호출되는 함수 $.post('insertPerson.jsp', data, initForm); //기본 이벤트 제거 event.preventDefault(); }); function initForm(data){ //전송된 데이터를 JSON 객체로 생성 var s = $.parseJSON(data); //여기 데이터는 무슨데이터? if(s.result=='success'){ alert('등록 완료'); //폼 초기화 $('#id').val(''); $('#name').val(''); $('#job').val(''); $('#address').val(''); $('#bloodType').val(''); }else { alert('등록 실패!!'); } //목록 읽기 selectData(); } //초기 회면에 데이터를 표시 selectData(); }); </script> </head> <body> <div> <form id="insert_form" method="method"> <fieldset> <legend>데이터 추가</legend> <ul> <li> <label for="id">아이디</label> <input type="text" name="id" id="id"> </li> <li> <label for="name">이름</label> <input type="text" name="name" id="name"> </li> <li> <label for="job">직업</label> <input type="text" name="job" id="job"> </li> <li> <label for="address">주소</label> <input type="text" name="address" id="address"> </li> <li> <label for="id">혈행형</label> <input type="text" name="bloodType" id="bloodType"> </li> <li> <input type="submit" value="추가"> </li> </ul> </fieldset> </form> </div> <table id="output"> </table> </body> </html> | cs |
get People JSON.jsp 서버 페이지 - 데이터 불러오는 서버 페이지
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 | <%@ page language="java" contentType="text/plain; charset=euc-kr" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> [<% String jdbcUrl = "jdbc:oracle:thin:@172.18.65.193:1521:xe"; String dbId = "hr"; String dbPass = "hr"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try{ Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection(jdbcUrl, dbId, dbPass); String sql = "select * from people order by id asc"; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); while(rs.next()){ String id = rs.getString("id"); String name = rs.getString("name"); String job= rs.getString("job"); String address= rs.getString("address"); String bloodType= rs.getString("bloodType"); if(rs.getRow()>1){ out.print(", "); } %> { "id": "<%=id %>", "name": "<%=name %>", "job": "<%=job %>", "address": "<%=address %>", "bloodType": "<%=bloodType %>" } <% } }catch(Exception e){ e.printStackTrace(); } finally{ if(rs!=null)try{rs.close();}catch(SQLException e){} if(pstmt!=null)try{pstmt.close();}catch(SQLException e){} if(conn!=null)try{conn.close();}catch(SQLException e){} } %> ] | cs |
insertPerson.jsp
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 | <%@ page language="java" contentType="text/plain; charset=euc-kr" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <% String jdbcUrl = "jdbc:oracle:thin:@172.18.65.193:1521:xe"; String dbId = "hr"; String dbPass = "hr"; request.setCharacterEncoding("utf-8"); String id = request.getParameter("id"); String job = request.getParameter("job"); String name = request.getParameter("name"); String address = request.getParameter("address"); String bloodType = request.getParameter("bloodType"); Connection conn = null; PreparedStatement pstmt = null; try{ Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection(jdbcUrl, dbId, dbPass); String sql = "insert into people(id, name, job, address, bloodType) values (?,?,?,?,?)"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, id); pstmt.setString(2, job); pstmt.setString(3, name); pstmt.setString(4, address); pstmt.setString(5, bloodType); pstmt.executeUpdate(); %> {"result":"success"} <% }catch(Exception e){ %> {"result":"failure"} <% e.printStackTrace(); } finally{ if(pstmt!=null)try{pstmt.close();}catch(SQLException e){} if(conn!=null)try{conn.close();}catch(SQLException e){} } %> | cs |
JQueryMobile + SenchaTouch
교재:
데이터 처리량이 많지 않은 곳에서 사용
앱을 만든다면 아직까지는 네이티브를 추천
속도를 향상시키기이해서는 웹브라우저 자체 엔진의 속도를 향상시켜야 한다
기초
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 | <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQuery Mobile</title> <!-- 모바일 장치에서 웹사이트가 원하는 사이즈로 보여지게 처리 --> <!-- width : 넓이(픽셀) height : 높이(픽셀) initial-scale : 초기 배율(기본 꽉 찬 화면) minimum-scale : 최소 배율(기본 값 : 0.25, 범위: 0~10.0) maximum-scale : 최대 배율(범위:0~10.0) user-scalable : 확대, 축소 여부(yes/no) --> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <link rel="stylesheet" href="../mobile/jquery.mobile-1.4.5.min.css"> <script type="text/javascript" src="../mobile/jquery-1.11.2.min.js"></script> <script type="text/javascript" src="../mobile/jquery.mobile-1.4.5.min.js"></script> <script type="text/javascript"> </script> </head> <body> <!-- page 지정 --> <div data-role="page"> <!-- header --> <div data-role="header"> <h1>화면 상단</h1> </div> <!-- 내용 --> <div role="main" class="ui-contnet"> <p>Hello jQuery Mobile</p> </div> <!-- footer --> <div data-role="footer"> <h1>화면 하단</h1> </div> </div> </body> </html> | cs |
JQUERY + 버튼 만들기
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 | <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQuery Mobile</title> <!-- 모바일 장치에서 웹사이트가 원하는 사이즈로 보여지게 처리 --> <!-- width : 넓이(픽셀) height : 높이(픽셀) initial-scale : 초기 배율(기본 꽉 찬 화면) minimum-scale : 최소 배율(기본 값 : 0.25, 범위: 0~10.0) maximum-scale : 최대 배율(범위:0~10.0) user-scalable : 확대, 축소 여부(yes/no) --> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <link rel="stylesheet" href="../mobile/jquery.mobile-1.4.5.min.css"> <script type="text/javascript" src="../mobile/jquery-1.11.2.min.js"></script> <script type="text/javascript" src="../mobile/jquery.mobile-1.4.5.min.js"></script> <script type="text/javascript"> </script> </head> <body> <!-- page 지정 --> <div data-role="page"> <!-- header --> <div data-role="header"> <h1>화면 상단</h1> </div> <!-- 내용 --> <div role="main" class="ui-content"> <h4>기본 버튼(ui-btn)</h4> <a href="#" class="ui-btn">a 태그</a> <button class="ui-btn">Button</button> <h4>모서리가 둥근 버튼(ui-corner-all)</h4> <a href="#" class="ui-btn ui-corner-all">a 태그</a> <button class="ui-btn ui-corner-all">Button</button> <h4>그림자 효과 주기(ui-shadow)</h4> <a href="#" class="ui-btn ui-shadow">a 태그</a> <button class="ui-btn ui-shadow">Button</button> <h4>인라인(ui-btn-inline)</h4> <a href="#" class="ui-btn ui-btn-inline">a 태그</a> <button class="ui-btn ui-btn-inline">Button</button> <h4>테마(ui-btn-a, ui-btn-b)</h4> <a href="#" class="ui-btn ui-btn-b">a 태그</a> <button class="ui-btn ui-btn-b">Button</button> </div> <!-- footer --> <div data-role="footer"> <h1>화면 하단</h1> </div> </div> </body> </html> | cs |
'App Development > Hybrid Programming' 카테고리의 다른 글
특강 4일차 (오후) - JQuery Mobile (0) | 2015.01.08 |
---|---|
특강 4일차 (오전) - JQuery Mobile (0) | 2015.01.08 |
특강 3일차 (오전) - JQuery, AJAX (0) | 2015.01.07 |
특강 2일차 (오전, 오후) - 제이쿼리 (0) | 2015.01.06 |
특강 2일차 (오전) - 자바스크립트 (0) | 2015.01.06 |