intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng lập trình java - Bài 10

Chia sẻ: Nguyen Van Nam | Ngày: | Loại File: PDF | Số trang:15

121
lượt xem
28
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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...

Chủ đề:
Lưu

Nội dung Text: Bài giảng lập trình java - Bài 10

  1. 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
  2. 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
  3. ðó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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. Nhúng applet vào trang web • S d ng th ho c
  12. 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
  13. 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
  14. 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
  15. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2