Bài giảng lập trình java - Bài 10
lượt xem 28
download
Ngày nay, sự đe dọa lớn nhất đối với an ninh của các mạng máy tính của các tổ chức lại đến từ chính các Website công cộng và các ứng dụng đặt ở trên các web của họ. Không giống như các dịch vụ dùng trong mạng cục bộ như là các cơ sở dữ liệu có thể ngăn cản...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng lập trình java - Bài 10
- Bài gi ng L P TRÌNH JAVA Lê ðình Thanh B môn M ng và Truy n thông Máy tính Khoa Công ngh Thông tin Trư ng ð i h c Công ngh , ðHQGHN 1 Lê ðình Thanh, Tri n khai ng d ng Java Bài 9 Tri n khai ng d ng 2 Lê ðình Thanh, Tri n khai ng d ng Java
- N i dung • T p jar • Java Network Launch Protocol (JNLP) • Java Web Start • Applet 3 Lê ðình Thanh, Tri n khai ng d ng Java T p jar 4 Lê ðình Thanh, Tri n khai ng d ng Java
- ðóng gói chương trình v i t p jar ð tri n khai ng d ng ñư c vi t b ng java, ngư i ta • thư ng ñóng gói các t p chương trình (.class) cùng các t p tài nguyên c n cho chương trình dư i d ng t p JAR (Java Archive) Chương trình jar.exe trong jdk/bin cung c p các ch c • năng t o l p t p jar • T o t p jar: jar cf jar-file input-file(s) • Xem n i dung t p jar: jar tf jar-file • Gi i nén t p jar: jar xf jar-file • Gi i nén m t vài t p trong t p jar: jar xf jar-file archived-file(s) 5 Lê ðình Thanh, Tri n khai ng d ng Java Ch y chương trình v i t p jar • Dòng l nh (c n Main-class manifest) java -jar app.jar • S d ng Java Web Start • Ch y applet 6 Lê ðình Thanh, Tri n khai ng d ng Java
- jar manifest T p manifest là m t t p văn b n mô t v các t p ñư c • ñóng gói trong t p jar Khi t p t p jar, t p manifest ñư c t o t ñ ng và gói • vào jar v i n i dung Manifest-Version: 1.0 Created-By: 1.6.0 (Sun Microsystems Inc.) • S a n i dung t p manifest jar cfm jar-file manifest-addition-file input-file(s) trong ñó manifest-addition-file là t p văn b n ch a n i dung ñư c ñưa thêm vào manifest 7 Lê ðình Thanh, Tri n khai ng d ng Java Thi t l p Main-class manifest • S a n i dung t p manifest jar cfm jar-file manifest-addition-file input-file(s) trong ñó manifest-addition-file là t p văn b n ch a n i dung Main-Class: MyPackage.MyClass 8 Lê ðình Thanh, Tri n khai ng d ng Java
- Thi t l p thông tin phiên b n • S a n i dung t p manifest jar cfm jar-file manifest-addition-file input-file(s) trong ñó manifest-addition-file là t p văn b n ch a n i dung v Name: Specification-Title: Specification-Version: Specification-Vendor: Implementation-Title: Implementation-Version: Implementation-Vendor: 9 Lê ðình Thanh, Tri n khai ng d ng Java Java Network Launch Protocol (JNLP) 10 Lê ðình Thanh, Tri n khai ng d ng Java
- JNLP ð tri n khai ng d ng qua m ng, java s d ng JNLP • Các bư c tri n khai • • T o t p.jnlp (d ng XML) mô t v t p .jar ch a mã chương trình và các tài nguyên c n thi t • T o liên k t trên trên trang web tr t i t p .jnlp, Java Web Start s download và ch y chương trình ñư c mô t trong t p .jnlp • S d ng applet v i mô t .jnlp 11 Lê ðình Thanh, Tri n khai ng d ng Java N i dung t p jnlp cho ng d ng 12 Lê ðình Thanh, Tri n khai ng d ng Java
- N i dung t p jnlp cho applet Dynamic Tree Demo Dynamic Team 13 Lê ðình Thanh, Tri n khai ng d ng Java Java Web Start 14 Lê ðình Thanh, Tri n khai ng d ng Java
- Java Web Start Java Web Start cung c p kh năng tri n khai ng d ng java • m t cách ñơn gi n, hi u qu b ng cách download và ch y • Client: C n cài J2SE • Server: C n cho application/x-java-jnlp-file JNLP trong MIME type. 15 Lê ðình Thanh, Tri n khai ng d ng Java Ch y ng d ng Java Web Start • S d ng ti n ích tri n khai ng d ng var dir = location.href.substring(0, location.href.lastIndexOf('/')+1); var url = dir + "webstart-desc.jnlp"; deployJava.launchButtonPNG = “button.gif”; deployJava.createWebStartLaunchButton(url, '1.6.0'); Ho c t o link ñ n t p jnlp • Launch Notepad Application Có th download deployJava.js ñ tri n khai t i máy ch c a mình 16 Lê ðình Thanh, Tri n khai ng d ng Java
- Applet 17 Lê ðình Thanh, Tri n khai ng d ng Java Applet • Applet là ng d ng java có th nhúng vào trang web và hi n th trên trình duy t M t applet ch ch a m t l p ñư c k th a t • java.applet.Applet ho c javax.swing.JApplet v i các phương th c init() – ñư c g i khi applet ñư c load lên trang web start() – b t ñ u ch y stop() – không ch y n a destroy() – ñư c g i trư c khi applet ñư c unload 18 Lê ðình Thanh, Tri n khai ng d ng Java
- T o applet import javax.swing.JApplet; import javax.swing.SwingUtilities; import javax.swing.JLabel; public class HelloWorld extends JApplet { public void init() { try { SwingUtilities.invokeAndWait( new Runnable() { public void run() { JLabel lbl = new JLabel("Hello World"); add(lbl); } } ); } catch (Exception e) { System.err.println("createGUI didn't complete 19 Lê ðình Thanh, Tri n khai ng d ng} } } successfully"); Java Nhúng applet vào trang web Applets có th ñư c chúng vào • trang web và tương tác v i các ñ i tư ng tài li u c a trang web thông qua javascript ð applet ch y ñư c, trình • duy t ph i ñư c cài Java Plug- in • Browser g i ño n mã nhúng applet cho Java Plug-in. Java Plug-in ch u trách nhi m g i và th c thi applet 20 Lê ðình Thanh, Tri n khai ng d ng Java
- Nhúng applet vào trang web • S d ng th ho c
- S d ng tham s v i applet • Truy n tham s • Tri n khai b ng th applet • Tri n khai b ng jnlp < PARAM NAME = parameter VALUE = value > và var parameters = {jnlp_href: 'applettakesparams.jnlp', paramOutsideJNLPFile: 'fooOutsideJNLP'} ; deployJava.runApplet(attributes, parameters, 1.4); • Nh n và x lý tham s trong applet paramValue = getParameter("paramName"); 23 Lê ðình Thanh, Tri n khai ng d ng Java Hi n th tr ng thái và m trang web • Hi n th tr ng thái showStatus(“N i dung hi n th trên thanh tr ng thái”); • M trang web AppletContext appletContext = getAppletContext() ; appletContext.showDocument(java.net.URL url); appletContext.showDocument(java.net.URL url, String targetWindow); 24 Lê ðình Thanh, Tri n khai ng d ng Java
- Truy c p mã javascript t applet L y ñ i tư ng window • JSObject window = JSObject.getWindow(this); • Truy c p bi n javascript userName = window.getMember("userName"); • C p nh t bi n javascript window.setMember("userName", userName); • G i hàm javascript Number age = (Number) window.eval("getAge()"); window.call("writeSummary", new Object[] {summary}) ; 25 Lê ðình Thanh, Tri n khai ng d ng Java Truy c p thành viên c a applet b ng javascript Quy t c: ñ nh danh c a applet ñư c dùng như m t tham • chi u ñ n ñ i tư ng applet • var attributes = { id:'mathApplet', code:'jstojava.MathApplet', width:1, height:1} ; var parameters = {jnlp_href: 'math-applet.jnlp'} ; deployJava.runApplet(attributes, parameters, '1.6'); • mathApplet.userName = "John Doe"; mathApplet.getGreeting(); 26 Lê ðình Thanh, Tri n khai ng d ng Java
- Duy t DOM public void start() { try { Class c = Class.forName("com.sun.java.browser.plugin2.DOM"); Method m = c.getMethod("getDocument", new Class[] { java.applet.Applet.class }); HTMLDocument doc = (HTMLDocument) m.invoke(null, new Object[] { this }); HTMLBodyElement body = (HTMLBodyElement) doc.getBody(); dump(body, INDENT); } catch (Exception e) { System.out.println("New Java Plug-In not available");} } 27 Lê ðình Thanh, Tri n khai ng d ng Java Duy t DOM private void dump(Node root, String prefix) { if (root instanceof Element) { System.out.println(prefix + ((Element) root).getTagName() + " / " + root.getClass().getName()); } else if (root instanceof CharacterData) { String data = ((CharacterData) root).getData().trim(); if (!data.equals("")) { System.out.println(prefix + "CharacterData: " + data); } } else { System.out.println(prefix + root.getClass().getName()); } NamedNodeMap attrs = root.getAttributes(); if (attrs != null) { int len = attrs.getLength(); for (int i = 0; i < len; i++) { Node attr = attrs.item(i); System.out.print(prefix + HALF_INDENT + "attribute " + i + ": " + attr.getNodeName()); if (attr instanceof Attr) { System.out.print(" = " + ((Attr) attr).getValue()); } System.out.println(); } } if (root.hasChildNodes()) { NodeList children = root.getChildNodes(); if (children != null) { int len = children.getLength(); for (int i = 0; i < len; i++) { dump(children.item(i), prefix + INDENT); } } } } 28 Lê ðình Thanh, Tri n khai ng d ng Java
- Giao ti p gi a các applets • Các applets có th giao ti p v i nhau thông qua javascript • Applet1 javascript Applet2 29 Lê ðình Thanh, Tri n khai ng d ng Java
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình java cơ bản: Chương 2 - Lê Tân
39 p | 532 | 166
-
Bài giảng Lập trình Java cơ bản: Chương 1 - Lê Tân
25 p | 481 | 116
-
Bài giảng Lập trình java cơ bản: Chương 4 - Lê Tân
23 p | 252 | 87
-
Bài giảng Lập trình java cơ bản: Chương 3 - Lê Tân
20 p | 282 | 84
-
Bài giảng Lập trình java cơ bản: Chương 5 - Lê Tân
26 p | 279 | 77
-
Bài giảng Lập trình java cơ bản: Chương 8 - Lê Tân
30 p | 220 | 75
-
Bài giảng Lập trình java cơ bản: Chương 9 - Lê Tân
39 p | 218 | 71
-
Bài giảng Lập trình Java cơ bản: Chương 10 - Lê Tân
20 p | 236 | 71
-
Bài giảng Lập trình java cơ bản: Chương 7 - Lê Tân
26 p | 261 | 67
-
Bài giảng Lập trình Java cơ bản: Chương 11 - Lê Tân
29 p | 230 | 63
-
Bài giảng Lập trình Java - ThS. Huỳnh Công Pháp
239 p | 165 | 21
-
Bài giảng Lập trình Java cơ bản: Chương 1 - GV. Võ Hoàng Phương Dung
62 p | 148 | 20
-
Tập bài giảng Lập trình Java
265 p | 45 | 11
-
Bài giảng Lập trình Java: Chương 1 - Huỳnh Ngọc Tín
64 p | 83 | 8
-
Bài giảng Lập trình Java: Bài 8 - Bùi Trọng Tùng
69 p | 81 | 7
-
Bài giảng Lập trình Java cơ bản - Cao Đức Thông
34 p | 78 | 5
-
Bài giảng Lập trình Java: Chương 1 - Tổng quan về công nghệ Java
33 p | 133 | 5
-
Bài giảng Lập trình Java - Chương 1: Tổng quan về Java
20 p | 29 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn