Làm cách nào để kết nối javascript với java?

Như tôi đã đề cập trong Chương 1, không có nhiều mối quan hệ giữa Java và JavaScript - ngoại trừ cái tên. Tuy nhiên, cả hai đều có thể hữu ích trên các trang Web của bạn-đôi khi cùng một lúc. Chương này bắt đầu với phần giới thiệu về ngôn ngữ Java và các khả năng của nó

JavaScript cũng bao gồm các chức năng để kiểm soát các ứng dụng Java và các ứng dụng Java có thể truy cập các chức năng JavaScript. Bằng cách tích hợp hai ngôn ngữ Web này, bạn có thể tận dụng tốt nhất cả hai thế giới, cho phép thực hiện nhiều ứng dụng phức tạp

Hãy bắt đầu với chuyến tham quan ngôn ngữ Java, quy trình phát triển cho các tiểu dụng Java và cách Java và HTML tương tác. Nếu bạn không quen với Java, điều này sẽ giúp bạn bắt đầu nhanh và giúp bạn hiểu cách Java và JavaScript có thể hoạt động cùng nhau

Ghi chú
Java là một ngôn ngữ phức tạp hơn nhiều so với JavaScript. Chương này giới thiệu về Java, nhưng không thể giải thích chi tiết. Nếu bạn muốn tìm hiểu thêm về Java, hãy tham khảo các tài nguyên trực tuyến được liệt kê trong phụ lục C hoặc chọn một bản sao của cuốn sách bán chạy nhất Dạy cho bạn Java trong 21 ngày của Laura Lemay, cũng từ Sams. xuất bản mạng

Một số ngôn ngữ, chẳng hạn như C, được biên dịch thành các chương trình thực thi trước khi chúng có thể chạy được. Những thứ khác, chẳng hạn như JavaScript, được diễn giải trực tiếp từ mã nguồn. Java là một cái gì đó ở giữa

Một chương trình Java bắt đầu dưới dạng mã nguồn và sau đó được chạy qua trình biên dịch Java. Tuy nhiên, trình biên dịch không tạo mã máy thực sự - thay vào đó, nó tạo mã cho máy ảo. Mã máy ảo này sau đó có thể được giải thích bằng cách triển khai máy ảo, chẳng hạn như Netscape

Ghi chú
Để làm mọi thứ phức tạp hơn nữa, các phiên bản mới nhất của Netscape và MSIE bao gồm các trình biên dịch Java. Được gọi là trình biên dịch tức thời, những trình biên dịch này biên dịch mã máy ảo Java thành mã thực thi trước khi chạy applet. Điều này làm tăng đáng kể tốc độ của các applet

Thực tế có hai loại chương trình Java

  • Ứng dụng Java là một chương trình hoàn chỉnh, chẳng hạn như trình duyệt Web
  • Java applet là một chương trình được thiết kế để chạy trong trình duyệt Web. Tất cả các chương trình Java mà bạn có thể chạy từ Web đều là các applet. Các phần tiếp theo tập trung vào applet

Ngôn ngữ Java tương tự như C++. Bạn cũng có thể nhận thấy sự tương đồng với JavaScript;

Giống như JavaScript, Java bao gồm các câu lệnh và hàm. Nó cũng bao gồm các đối tượng, thuộc tính và phương thức. Bạn sẽ xem một ví dụ đơn giản về Java applet trong phần có tiêu đề Tạo Java Applet của riêng bạn ở phần sau của chương này

Java là một ngôn ngữ hướng đối tượng - hơn nhiều so với JavaScript. Một applet Java thực sự là một lớp; . Về mặt kỹ thuật, applet là lớp con của đối tượng Applet

Ngoài ra còn có một số lớp đối tượng bạn có thể nhập vào chương trình Java. Chúng cung cấp các chức năng như đồ họa, phông chữ, làm việc với chuỗi, v.v. Sau này bạn sẽ xem xét một lớp cho phép Java truy cập các đối tượng JavaScript

Không giống như JavaScript, mã Java không bao giờ được bao gồm trong chính tệp HTML. Thay vào đó, một thẻ HTML đặc biệt, , được sử dụng để nhúng applet vào trang Web. Đây là một ví dụ đơn giản về một applet

.

Lưu ý rằng cả thẻ mở và thẻ đóng đều được yêu cầu. Giữa chúng, bạn có thể sử dụng các thẻ tùy chọn để đưa ra các tham số cho applet. Các tham số cần thiết phụ thuộc vào applet. Mỗi thẻ bao gồm một tên biến và giá trị

Mẹo
Bạn cũng có thể sử dụng JavaScript để chọn giữa phiên bản Java hoặc không phải Java của trang. Sử dụng Bộ điều hướng. javaEnabled, được mô tả trong Chương 4 "Sử dụng Đối tượng Tích hợp và Đối tượng Tùy chỉnh. "

Phần tiếp theo trình bày một tệp HTML hoàn chỉnh với một applet được nhúng. Để biết các ví dụ về cách nhúng các tiểu dụng Java miền công cộng vào các trang của bạn, hãy xem Chương 19, "Các ví dụ thực tế IV. "

Ghi chú
Hiện tại, hầu hết các Java applet phức tạp đều hơi chậm. Nếu bạn đưa một trang web vào trang Web của mình, hãy chắc chắn rằng bạn đã kiểm tra nó cẩn thận;

Để tạo các ứng dụng Java của riêng bạn, bạn sử dụng Bộ công cụ phát triển Java [JDK]. Điều này bao gồm trình biên dịch Java, các applet ví dụ và trình xem applet. JDK có sẵn miễn phí từ Sun

Mẹo
JDK cũng được bao gồm trong đĩa CD-ROM đi kèm với cuốn sách này, cùng với nhiều ứng dụng mẫu

JDK có sẵn cho các nền tảng sau

  • cửa sổ 95
  • Windows NT
  • UNIX [chỉ SPARC hoặc x86 Solaris]
  • Macintosh [chỉ Power Mac]
Ghi chú
Hiện tại chưa có phiên bản JDK cho Windows 3. Macintosh dòng 1 hoặc 68000. Bạn sẽ cần sử dụng một nền tảng khác để biên dịch các applet Java, mặc dù bạn vẫn có thể xem các applet trong Netscape. Nếu bạn có tài khoản shell với nhà cung cấp Internet của mình, bạn có thể sử dụng JDK từ đó

Các tác vụ sau đây giải thích cách tải xuống và cài đặt JDK, sử dụng nó để tạo một ứng dụng Java đơn giản, biên dịch và xem ứng dụng mới

Để tải xuống JDK, hãy truy cập trang web Java của Sun tại địa chỉ sau

//java.sun.com/

và làm theo các liên kết thích hợp. Tại thời điểm viết bài này, phiên bản mới nhất của JDK là 1. 02. Khi bạn đã tải xuống, quá trình cài đặt tùy thuộc vào nền tảng của bạn

  • Đối với Windows 95 hoặc NT, hãy bắt đầu phiên DOS. Sao chép tệp lưu trữ tự giải nén vào thư mục hoặc ổ đĩa bạn muốn cài đặt JDK vào và thực thi nó. Nó sẽ được giải nén vào một thư mục java với một số thư mục con. JDK cần khoảng 5M dung lượng để giải nén
  • Đối với Solaris, JDK có trong tệp tar được nén. Bạn có thể mở rộng nó vào thư mục bạn chọn bằng lệnh này.
    /usr/bin/zcat JDK-1_0_2-solaris2-sparc. hắc ín. z. tar xf -
  • Đối với Macintosh, JDK có sẵn ở định dạng MacBinary hoặc hqx. Mở rộng tệp bằng một tiện ích như StuffIt, DeHQX hoặc BinHex4. Chạy chương trình cài đặt, chương trình này sẽ tạo một thư mục trên màn hình của bạn cho JDK

Bây giờ hãy thử tạo một Java applet đơn giản. Liệt kê 16. 1 hiển thị một tiểu dụng Java hiển thị thông báo bằng phông chữ lớn

Liệt kê 16. 1. [JavaTest. java] Một tiểu dụng Java đơn giản hiển thị thông báo
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Font;

public class JavaTest extends Applet {
Font f = new Font["TimesRoman", Font.BOLD, 60];
public void paint[Graphics g] {
  g.setFont[f];
  g.drawString["Text from Java", 15, 50];
  }
}

Dưới đây là một lời giải thích ngắn gọn về chương trình. Ba dòng đầu tiên là câu lệnh nhập Java. Chúng chỉ định ba lớp [thư viện] được sử dụng bởi applet

  • java. tiểu dụng. Applet là một lớp tiêu chuẩn phải được nhập cho bất kỳ applet nào
  • java. awt. Đồ họa là một phần của API awt, xử lý GUI cho Java. Thư viện này bao gồm các chức năng cho đồ họa
  • java. awt. Font bao gồm các chức năng xử lý văn bản với phông chữ

Tiếp theo, định nghĩa lớp bắt đầu bằng câu lệnh JavaTest lớp công khai. Bạn đang định nghĩa một lớp gọi là JavaTest, là một lớp con của lớp Applet [giống như tất cả các applet]

Câu lệnh tiếp theo, Font f = new Font, định nghĩa một thể hiện của đối tượng Font, một đối tượng được sử dụng để lưu trữ thông tin về phông chữ và kích thước. Đối tượng Font mới được gọi là f. [Lưu ý sự tương đồng với từ khóa new để xác định đối tượng trong JavaScript. ]

Câu lệnh tiếp theo bắt đầu hàm paint, đây là chương trình chính. Điều này cũng xác định một đối tượng Đồ họa mới được gọi là g. Hai câu lệnh tiếp theo là các phương thức của đối tượng Graphics;

các g. phương thức setFont[] đặt phông chữ sẽ được sử dụng khi vẽ văn bản và g. Phương thức drawString[] vẽ văn bản trên màn hình trong khu vực của applet

Bây giờ bạn đã có một Java applet đơn giản, bạn cần biên dịch nó và sử dụng nó trong một trang HTML. Hãy chắc chắn rằng bạn đã đặt mã nguồn của applet trong một tệp có tên JavaTest. java

Đầu tiên, biên dịch applet rất đơn giản. Nhập lệnh sau từ thư mục mà bạn đã cài đặt JDK

bin\javac JavaTest.java

Quá trình biên dịch sẽ chỉ mất vài giây. Nếu không tìm thấy lỗi, trình biên dịch sẽ không hiển thị bất kỳ thông báo nào. Sau khi biên dịch, bạn sẽ có một tệp trong cùng thư mục có tên là JavaTest. lớp. Đây là tệp lớp Java mà bạn có thể sử dụng trên trang Web

Ghi chú
Gần như mọi thứ trong Java là tệp nguồn phân biệt chữ hoa chữ thường, tệp lớp và thẻ. Hãy chắc chắn rằng bạn sử dụng tên chính xác

Để kiểm tra applet mới, bạn cần nhúng nó vào một trang HTML. Liệt kê 16. 2 hiển thị một trang HTML đơn giản bao gồm applet đã tạo trước đó. Tạo tệp HTML này trong cùng thư mục với tệp lớp hoặc sao chép tệp lớp vào thư mục của nó

Liệt kê 16. 2. [JAVA1. htm] Một tệp HTML để kiểm tra tiểu dụng Java mới

Simple Java Test


test

An applet is included below to display some text.




applet finished.. here's the rest of the page.


Thẻ trong tệp này bao gồm tên tệp của lớp JavaTest và chiều rộng và chiều cao. Đảm bảo bao gồm thẻ đóng, mặc dù có thể không có gì giữa hai thẻ

Bây giờ bạn đã có tệp HTML, bạn cần kiểm tra nó. Một cách đơn giản để làm điều này là với trình xem applet, được bao gồm trong JDK. Bạn có thể khởi động trình xem applet bằng cách gõ lệnh sau vào thư mục JDK

bin\appletviewer file:\Java\JavaTest.html
Mẹo
Bạn có thể cần sửa đổi lệnh này để hoạt động trên hệ thống của mình. Bạn cũng có thể thêm thư mục java\bin vào đường dẫn của mình để tránh gõ bin\ trước mỗi lệnh

Mặc dù bạn đã khởi động trình xem applet từ một dòng lệnh, đầu ra thực tế được hiển thị trong cửa sổ đồ họa. Hình 16. 2 hiển thị hoạt động của trình xem applet, sử dụng ví dụ về applet

Hình 16. 1. Trình xem applet Java đang hoạt động

Lưu ý rằng trình xem applet hiển thị đầu ra của applet Java, nhưng không bao gồm văn bản từ chính tệp HTML. Điều này có thể hữu ích khi bạn đang gỡ lỗi một Java applet. Để xem toàn bộ tệp HTML bao gồm cả applet, bạn cần sử dụng trình duyệt, chẳng hạn như Netscape

Để kiểm tra applet trong Netscape, chỉ cần sử dụng lệnh Open để tải tệp HTML đã tạo trước đó. Hình 16. 2 hiển thị ví dụ về applet được xem bởi Netscape

Hình 16. 2. Ứng dụng Java đang hoạt động, như được xem bởi Netscape

Ghi chú
Khi bạn đã tạo và sửa lỗi một ứng dụng Java, có thể bạn sẽ muốn xuất bản nó trên Web. Để thực hiện việc này, chỉ cần đặt tệp lớp cho applet trong cùng thư mục với tệp HTML trên máy chủ Web

Trong Bộ điều hướng 3. 0b4 Netscape đã giới thiệu một tính năng mới gọi là LiveConnect, cung cấp các khả năng sau

  • Các chương trình JavaScript có thể giao tiếp và kiểm soát các tiểu dụng Java
  • Java applet có thể truy cập các đối tượng, thuộc tính và phương thức JavaScript
  • Các chương trình JavaScript có thể kiểm soát các plug-in Netscape

Bạn sẽ xem xét khả năng đầu tiên trong phần này. truy cập các lớp Java [các applet] từ bên trong JavaScript. Bạn sẽ xem xét phương pháp ngược lại trong phần có tiêu đề Gọi các hàm JavaScript từ Java, ở phần sau của chương này

Bạn có thể gọi các phương thức Java trực tiếp từ JavaScript. Điều này có nghĩa là bạn có thể coi các phương thức như thể chúng là các câu lệnh JavaScript. Ví dụ: câu lệnh này in một thông báo tới bảng điều khiển Java

java.lang.System.err.println["This is a test."];

Điều này sẽ hữu ích nhất nếu bạn là một lập trình viên Java có kinh nghiệm. Nếu không, bạn có thể sử dụng JavaScript để tận dụng các tính năng của Java applet hiện có, như được mô tả trong phần tiếp theo

Mỗi tiểu dụng Java mà bạn nhúng vào một trang Web được cung cấp cho JavaScript dưới dạng một đối tượng tiểu dụng, có cùng tên với tên lớp của tiểu dụng. Đối tượng applet nằm trong hệ thống phân cấp đối tượng bên dưới đối tượng tài liệu. Ví dụ: một ứng dụng Java có tên là Scroll sẽ được truy cập thông qua một đối tượng có tên là tài liệu. cuộn

Các đối tượng, thuộc tính và phương thức của applet sau đó có sẵn cho JavaScript, miễn là lập trình viên Java đã công khai chúng. Bạn sẽ sử dụng kỹ thuật này để điều khiển một tiểu dụng Java trong tác vụ ở phần sau của phần này

Ghi chú
Có một ngoại lệ đối với quy tắc. không thể gọi bất kỳ phương thức Java nào giao tiếp qua mạng từ JavaScript. Hạn chế này tồn tại vì lý do bảo mật

Từ quan điểm của lập trình viên Java, có một vài điều cần phải được thực hiện để làm cho một applet có thể truy cập được vào JavaScript

  • Xác định các phương thức bạn muốn có thể truy cập dưới dạng các phương thức công khai
  • Đảm bảo rằng gói Netscape được bao gồm trong biến môi trường CLASSPATH của bạn khi tiểu dụng được biên dịch

Khi bạn đã chắc chắn về những điều này, bạn sẽ có thể truy cập vào applet từ bên trong JavaScript. Phần tiếp theo đưa ra ví dụ về một applet có thể điều khiển bằng JavaScript

Hãy tạo một applet Java có thể được thao tác từ bên trong JavaScript. Liệt kê 16. 3 hiển thị mã nguồn Java. Đây là phiên bản mở rộng của ví dụ trong Liệt kê 16. 1

Liệt kê 16. 3. [Điều khiểnJava. java] Một tiểu dụng Java có thể được điều khiển thông qua JavaScript
________số 8

Applet này hiện bao gồm một phương thức SetMessage[] để thay đổi văn bản trong màn hình. Liệt kê 16. 4 hiển thị tài liệu HTML và JavaScript được sử dụng để điều khiển applet

Liệt kê 16. 4. [Java. htm] Chương trình JavaScript để điều khiển tiểu dụng Java

Control a Java Applet


Control a Java Applet

The Java applet below displays text in a large font. You can enter
new text to display in the form below, and JavaScript will call the
Java applet to change the text.









End of page.


Điều này sử dụng một trình xử lý sự kiện đơn giản để gọi phương thức SetMessage[] của applet Java. Chuỗi bạn nhập vào trường văn bản được chuyển đến applet và hiển thị ở vị trí của chuỗi ban đầu. Hình 16. 3 hiển thị ứng dụng này đang hoạt động sau khi văn bản đã được thay đổi

Hình 16. 3. JavaScript đã thay đổi văn bản bằng cách truy cập ứng dụng Java

Cũng có thể gọi các hàm JavaScript và truy cập các đối tượng và thuộc tính JavaScript từ bên trong Java. Điều này cho phép bạn sử dụng các khả năng độc đáo của JavaScript, chẳng hạn như đọc các giá trị của các phần tử biểu mẫu, trong các ứng dụng Java mạnh mẽ

Để làm cho các chức năng JavaScript có thể truy cập được từ Java, bạn cần định cấu hình mọi thứ bằng cả JavaScript và Java. Bạn sẽ xem xét các bước cần thiết trong các phần tiếp theo

Một applet Java có thể làm những việc bạn không muốn, vì vậy bạn phải cấp quyền cho nó truy cập vào chương trình và các đối tượng JavaScript của bạn. Để thực hiện việc này, hãy thêm thuộc tính MAYSCRIPT vào thẻ nhúng applet

0

Đối với lập trình viên Java, cũng có một số bước quan trọng trước khi bạn có thể truy cập JavaScript. Trước tiên, bạn cần bao gồm netscape. gói javascript, cung cấp các chức năng này, trong các lớp đã nhập của bạn

1

Tiếp theo, bạn cần tạo tay cầm cho cửa sổ JavaScript. Để làm điều này, hãy xác định một biến kiểu JSObject và sử dụng phương thức getWindow để gán nó

2

Truy cập đối tượng JavaScript

Khi bạn đã xử lý cửa sổ JavaScript, bạn có thể lấy các đối tượng bạn cần truy cập. Để làm điều này, bạn cần gọi phương thức getMember cho từng thuộc tính. Ví dụ: để làm cho trường text1 trên biểu mẫu form1 có thể truy cập được

3

Bạn đang tạo một đối tượng kiểu JSObject cho tài liệu, sau đó cho từng đối tượng bên dưới nó

Gọi hàm JavaScript

Bạn cũng có thể gọi các hàm và phương thức JavaScript từ bên trong Java, sử dụng kỹ thuật tương tự. Hai phương thức bạn sử dụng cho mục đích này là call và eval. Ví dụ: câu lệnh này gọi một phương thức JavaScript để hiển thị thông báo cảnh báo

Làm cách nào để chạy mã JavaScript trong Java?

Java cung cấp công cụ dòng lệnh jjs được sử dụng để thực thi mã JavaScript. Bạn có thể thực thi mã JavaScript bằng cách sử dụng công cụ dòng lệnh jjs và bằng cách nhúng vào mã nguồn Java. .
tin nhắn var =

Chủ Đề