Java Server Page JSP Nguyn Quang Hng Email

  • Slides: 27
Download presentation
Java. Server Page (JSP) Nguyễn Quang Hùng E-mail: hungnq 2@cse. hcmut. edu. vn Web

Java. Server Page (JSP) Nguyễn Quang Hùng E-mail: hungnq 2@cse. hcmut. edu. vn Web site: http: //www. cse. hcmut. edu. vn/~hungnq/courses. htm

Mục tiêu n n n Nắm bắt công nghệ lập trình trang web động

Mục tiêu n n n Nắm bắt công nghệ lập trình trang web động JSP. Tìm hiểu về các đối tượng có sẳn trong JSP như là: request, response, out, session…để dễ dàng trong việc viết các ứng dụng Web. Viết một ứng dụng Tra cứu danh bạ điện thoại bằng JSP. Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Mục lục n Giới thiệu về JSP n Cấu trúc của một trang JSP

Mục lục n Giới thiệu về JSP n Cấu trúc của một trang JSP n Lập trình JSP: n n Các đối tượng có sẳn trong trang JSP Viết một ứng dụng Tra cứu danh bạ điện thoại bằng JSP Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Giới thiệu về JSP n n JSP là công nghệ script chạy phía web

Giới thiệu về JSP n n JSP là công nghệ script chạy phía web server của hãng Sun đối trọng với ASP của Microsoft. JSP dùng ngôn ngữ Java cho các phát biểu như if, for, do…while, biểu thức, lời gọi hàm…. và phân biệt chữ HOA và thường. Hiện JSP có thể chạy trên nhiều Web server khác nhau từ Tomcat, Apache, Jrun, Java. Web. Server, . . . Miễn là chúng hỗ trợ Servlet Engine. Mỗi Webserver chỉ hỗ trợ tối đa 1 trong 2 công nghệ JSP hay ASP. Để server nhận biết được file nào là JSP, ta luôn dùng extension đã qui định theo cấu hình (mặc định là *. jsp). Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Request/Response khi gọi một trang JSP Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut.

Request/Response khi gọi một trang JSP Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Cấu trúc trang JSP n n n Một trang JSP là 1 file *.

Cấu trúc trang JSP n n n Một trang JSP là 1 file *. jsp , ví dụ: “hello. jsp” Viết một trang JSP bằng bất kỳ trình soạn thảo nào kể cả Notepad, rồi lưu lại với tên *. jsp. JSP thường dùng các đối tượng Java chính quy để xử lý các giải thuật phức tạp. Các đối tượng java này sẽ được đóng gói dạng Java. Bean. Đoạn script JSP được đóng trong tag <%. . %>. Biểu thức dạng: <%= (exp) %> tương đương với <% out. print( exp ) %> n ví dụ: <%= (5 + 3) %> tương đương với <% out. println( 5 + 3 ) %> Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Lập trình JSP n Các đối tượng có sẳn trong trang JSP: n Đối

Lập trình JSP n Các đối tượng có sẳn trong trang JSP: n Đối tượng request n Đối tượng response n Đối tượng out n Đối tượng application n Đối tượng session n … Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Ví dụ: Trang date. jsp 1. <HTML> 2. <HEAD> <TITLE>JSP Example</TITLE> </HEAD> 3. <BODY

Ví dụ: Trang date. jsp 1. <HTML> 2. <HEAD> <TITLE>JSP Example</TITLE> </HEAD> 3. <BODY BGCOLOR="ffffcc"> 4. <CENTER> 5. <H 2>Date and Time</H 2> 6. <% /*Begin JSP script–Java code sample–Comment */ 7. java. util. Date today = new java. util. Date(); 8. out. println("Today's date is: "+today); 9. %> 10. </CENTER> 11. </BODY> </HTML> Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Ví dụ: Trang date. jsp (kết quả) Nguyễn Quang Hùng – E-mail: hungnq 2@dit.

Ví dụ: Trang date. jsp (kết quả) Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Các thẻ script trong JSP thường dùng n Khối <%. . . %> n

Các thẻ script trong JSP thường dùng n Khối <%. . . %> n n n <% out. println(“<h 1> Hello to JSP world </h 1>”); %> Thẻ <%@page. . . %> n n Dùng để nắm bắt các khai báo, biểu thức, tạo đối tượng, gọi phương thức… VD: Dùng để khai báo ngôn ngữ script, các phát biểu import. VD: %@page language="java" import="java. util. *; java. sql. *" % Thẻ <%!. . %> n Dùng để khai báo các biến, các phương thức cấp trang JSP. VD: n <%! int x = 10; double y = 2. 0; %>. Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Các thẻ script trong JSP thường dùng (2) n n Thẻ <%=. . .

Các thẻ script trong JSP thường dùng (2) n n Thẻ <%=. . . %> n Dùng cho các biểu thức. VD: n <%= a+b %> or <%= new java. util. Date() %> Thẻ <%@ include. . . %> n Dùng để chèn các file JSP khác. VD: n <%@include file="copyright. html" %> Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Viết ứng dụng tra cứu danh bạ điện thoại bằng Jbuilder Web Application Module

Viết ứng dụng tra cứu danh bạ điện thoại bằng Jbuilder Web Application Module Tạo một project trong JBuilder 1. Tạo 1 module ứng dụng web (Web. Application module) trong project mới này. 2. 1. 2. Ví dụ: Jsp. Danh. Ba. war File web. xml trong *. war cho biết cấu hình triển khai ứng dụng web lên server. 3. Tạo các trang JSP / Servlet trong module Web. App. trên. 4. Copy Jsp. Danh. Ba. war lên Web server hỗ trợ. n Ví dụ: %TOMCAT_HOME%webappsJsp. Danh. Ba. war Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Viết ứng dụng Tra cứu DBĐT bằng JSP Nguyễn Quang Hùng – E-mail: hungnq

Viết ứng dụng Tra cứu DBĐT bằng JSP Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Viết ứng dụng Tra cứu DBĐT bằng JSP (tiếp) Nguyễn Quang Hùng – E-mail:

Viết ứng dụng Tra cứu DBĐT bằng JSP (tiếp) Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Trang Input. Form. jsp Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Trang Input. Form. jsp Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Trang hiển thị kết quả tìm kiếm Nguyễn Quang Hùng – E-mail: hungnq 2@dit.

Trang hiển thị kết quả tìm kiếm Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Viết trang Input. Form. jsp 1. <%@page content. Type="text/html; charset=UTF-8"%> 2. <html> 3. <head>

Viết trang Input. Form. jsp 1. <%@page content. Type="text/html; charset=UTF-8"%> 2. <html> 3. <head> 4. <title>Ung dung tra cuu danh ba dien thoai bang JSP</title> 5. </head> 6. <body bgcolor="#ffffff"> 7. 8. <h 1>Chào mừng bạn đến với những trang vàng điện thoại !</h 1> <h 2>Bạn hãy nhập thông tin tìm kiếm bên dưới: </h 2> Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Viết trang Input. Form. jsp (tiếp) <form action="Search. No. Bean. jsp" method="post"> <table> <tr><td>Tìm

Viết trang Input. Form. jsp (tiếp) <form action="Search. No. Bean. jsp" method="post"> <table> <tr><td>Tìm theo tên: <td> <input type="text" name="tentbao"> </tr> <tr><td>Tìm theo số thuê bao: <td> <input type="text" name="sotbao"> </tr> </table> <input type="submit" name="Submit" value="Tìm kiếm"> <input type="reset" value="Nhập lại"> </form></body></html> Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Viết trang tìm kiếm không dùng Java. Bean – Trang Search. No. Bean. jsp

Viết trang tìm kiếm không dùng Java. Bean – Trang Search. No. Bean. jsp 1. <%@page content. Type="text/html; charset=UTF-8"%> 2. <%@page import="java. sql. *"%> 3. <html><head><title>Ket qua tra cuu danh ba dien thoai</title></head> 4. <body bgcolor="#ffffff"> 5. <h 1>Kết quả tra cứu danh bạ điện thoại: </h 1> 6. <table border="1"> <!– Tạo table hiển thị kết quả cho đẹp --> 7. <th>Mã số</th> <th>Họ và tên</th> <th>Số thuê bao</th> 8. <th>Ðịa chỉ</th> Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Trang Search. No. Bean. jsp (tiếp) 1. <% java. sql. Connection con = null;

Trang Search. No. Bean. jsp (tiếp) 1. <% java. sql. Connection con = null; 2. java. sql. Prepared. Statement stmt = null; 3. java. sql. Result. Set rs = null; 4. try { 5. String str. DS = "jdbc: odbc: Danh. Ba. DT"; 6. String str. Username = "", str. Password = ""; 7. // Tạo cầu nối đến CSDL 8. Class. for. Name("sun. jdbc. odbc. Jdbc. Odbc. Driver"); 9. con = Driver. Manager. get. Connection(str. DS, 10. 11. str. Username, str. Password); Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Trang Search. No. Bean. jsp (tiếp) 1. // Xây dựng câu SQL Select để

Trang Search. No. Bean. jsp (tiếp) 1. // Xây dựng câu SQL Select để truy vấn CSDL 2. String str. SQL = "select * from CUSTOMER where "; 3. String tentbao = request. get. Parameter("tentbao"); 4. if (tentbao != null && tentbao. trim(). length() > 0) { str. SQL += " (tentbao like '%" + tentbao + "%' ) "; 5. 6. } 7. // Tương tự cho việc tìm theo số thuê bao hay địa chỉ 8. stmt = con. prepare. Statement(str. SQL); 9. // Thực thi câu SQL select 10. rs = stmt. execute. Query(); 11. int n. Count. Rows = 0; Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Trang Search. No. Bean. jsp (tiếp) 1. if (rs != null) { 2. Result.

Trang Search. No. Bean. jsp (tiếp) 1. if (rs != null) { 2. Result. Set. Meta. Data meta = rs. get. Meta. Data(); 3. while (rs. next()) { 4. ++n. Count. Rows; out. println("<tr>"); 5. for (int i = 1; i <= meta. get. Column. Count(); i++) { /*Kết thúc phần Java code */ %> 6. <td> <%= rs. get. String(i) %> </td> 7. <% 8. /* Bắt đầu phần Java code mới*/ 9. } 10. out. println("tt</tr>"); 11. } 12. out. println("<tr><td>Tìm thấy: " + n. Count. Rows + " kết quả"); 13. } Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Trang Search. No. Bean. jsp (tiếp) 1. } catch (Exception _ex) { out. println(_ex.

Trang Search. No. Bean. jsp (tiếp) 1. } catch (Exception _ex) { out. println(_ex. to. String() + _ex. get. Message()); 2. 3. } finally { /* Phải đóng tất cả lại */ if (rs != null) 4. try { rs. close(); 5. if (stmt != null) 6. try { stmt. close(); }catch (Exception _ex 1) {} 7. if (con != null) 8. try { con. close(); }catch (Exception _ex 1) {} 9. 10. }catch (Exception _ex 1) { } } %> Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Tạo một Java. Bean cho việc lấy dữ liệu từ CSDL Access bằng Jdbc-Odbc

Tạo một Java. Bean cho việc lấy dữ liệu từ CSDL Access bằng Jdbc-Odbc driver Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Tạo một Java. Bean cho việc lấy dữ liệu từ CSDL Access bằng Jdbc-Odbc

Tạo một Java. Bean cho việc lấy dữ liệu từ CSDL Access bằng Jdbc-Odbc driver Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Tạo một Java. Bean cho việc lấy dữ liệu từ CSDL Access bằng Jdbc-Odbc

Tạo một Java. Bean cho việc lấy dữ liệu từ CSDL Access bằng Jdbc-Odbc driver Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn

Tài liệu tham khảo 1. http: //java. sun. com/products/jsp/index. jsp 2. Core Java Servlet/JSP.

Tài liệu tham khảo 1. http: //java. sun. com/products/jsp/index. jsp 2. Core Java Servlet/JSP. NXB Orielly. 2004. 3. http: //java. sun. com/developer/online. Training/ 4. 5. 6. http: //java. sun. com/developer/technical. Articles/jav aserverpages/faster/ http: //java. sun. com/developer/technical. Articles/xml/ Web. App. Dev 2/ Nguyễn Quang Hùng – E-mail: hungnq 2@dit. hcmut. edu. vn