Các ứng dụng console thường ghi kết xuất ra màn hình văn bản ở chế độ kí tự. Ứng dụng Java mà chúng ta tìm hiểu trong ví dụ trên thuộc loại ứng dụng console. Các ứng dụng console thường bắt đầu bằng lời gọi đến phương thức main () . Ví dụ :
Public class ConsoleApp {
public static void main ( String [] args) {
System . out . println ( “ This is console application ”) ; }
}
Biên dịch và chạy chương trình
C :\ SAMPLE > java ConsoleApp This is console application
b)Ứng dụng đồ họa.
Bạn có thể dùng Java để viết các chương trình đồ họa tương tự các ứng dụng Windows. Một chương trình đồ họa thường cần một khung cửa sổ cùng với các thành phần giao diện như nút nhấn, checkbox, menu, listbox. Chương trình đồ hạo còn cho phép bạn vẽ ra cửa sổ bằng các đối tượng như Graphics. Dưới đây là chương trình tạo và mở cửa sổ tương tự các chương trình Windows chuẩn viết trên C hay VB.
c)Applet.
Applet là một trong những ứng dụng mạng nổi tiếng trong Java. Applet là một cửa sổ chương trình thu nhỏ có khả năng nhúng trong trong Web và chạy bên trong trình duyệt. Trang Web HTML sử dụng thẻ < APPLET> để nhúng mã java . class vào tài liệu. Tuy nhiên để viết ra Applet bạn cần dùng trình biên dịch java và tuân theo một số quy định : Applet không được truy xuất tài nguyên của máy khách như mở hay đọc file. Applet chỉ có thể chạy bên trong trình duyệt và không thể tồn tại như một ứng dụng độc lập ( mặc dù vậy bạn vẫn có thể thiết kế Applet vừa chạy với tư cách ứng dụng vừa chạy với tư cách nhúng trong trình duyệt). Để viết Applet lớp đối tượng của bạn cần kế thừa và xây dựng trên lớp cơ sở java .awt.Applet.
d) Servlet.
Trái với Applet thường được các trình duyệt tải về chạy trên máy khách. Servlet là các thành phần đối tượng nhúng trên trình chủ Web server thực hiện xử lí yêu cầu và sinh ra các trang Web động trả về máy khách. Để sử dụng được Servlet bạn cần có các trình chủ hiểu Java và hỗ trợ triệu gọi Servlet như Apache, Jrun... Mặc dù vậy biên dịch và tạo Servlet chúng ta chỉ cần đến trình biên dịch JDK mà không cần đến các trình chủ. Dưới đây là mã Servlet viết bằng Java.
import javax.servlet.http.*;
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, Java.io.IOException
{
//chỉ định nội dung kiểu tài nguyên trả về cho trình khách resp.setContentType(“text/html”);
//tạo luồng suất PrintWriter để chuyển kết quả từ máy chủ về cho trình khách java.io.printWriter out=new java.io.printWriter(resp.getOutPutStream()); //định dạng trang web Html trả về
out.println(“<html>”);
out.println(“<h1>Welcome to Java Servlet</h1>”); out.println(“</html>”);
} }
Bạn biên dịch myServlet.java thành tập tin myServlet.class như sau. C:\Sample>javac myServlet.java
Tiếp đến đăng kí myServlet.class với trình chủ hiểu java. Bạn có thể gọi myServlet từ trình duyệt URL.
e)Jsp.
Jsp là cách đơn giản hóa hơn cho servlet. Nếu như đối với servlet bạn phải viết mã java và biên dịch bằng tay trước khi đưa vàosử dụng với trình chủ Web servlet thì jsp không cần điều này. Jsp viết mã java tương tự servlet nhưng có phép trộn lẫn java với các thẻ định dạng html. Trình diễn dịch jsp sẽ chịu trách nhiệm kết hợp mã java với thẻ html để tạo ra servlet xử lí các yêu cầu mà trình khác gửi đến. Jsp đơn giản và dễ sử dụng hơn servlet mặc dù sau khi biên dịch và thực thi chúng chỉ là một. Dưới đây là trang Jsp viết bằng java.
<html> <h1>Welcome to jsp page</h1> <% int x,y;result; x=3; y=x+10; result=x+y; out.println(“x+y result:”+result”); %> </html>
Bạn lưu nội dung vào file mang tên myPage.jsp và đặt vào thư mục thích hợp trên trình chủ java có khả năng thông dịch trang jsp.
e)Ứng dụng EJB, RMI, JMS.
Đây là các lớp đối tượng hoạt động trong mô hình phân tầng( multi-tier) và triệu gọi đối tượng phân tán trong môi trường J2EE (Java 2 Enterprise Edition). Các đối tượng EJB hoạt động trong những trình chứa( container) kiểm soát các giao tác( transaction) truy cập cơ sở dữ liệu đầu cuối, thực hiện tính năng bảo mật và an toàn cao. Giao thức RMI cho phép thực hiện triệu gọi phương thức của đối tượng hoạt động t rên một máy ở xa. JMS hỗ trợ cơ chế giao tiếp thông qua hàng đợi thông điệp (message queue) xuyên suốt trên mạng. Kết hợp được những công nghệ Java này vào ứng dụng Web bao gồm JSP, JavaBean và Servlet khiến việc triển khai ứng dụng trở nên nhanh chóng hiệu quả và hệ thống ổn định đáng tin cậy hơn.
3.1.2.Servlet.
3.1.2.1.Định nghĩa Servlet.
Servlet có thể được xem như một applet phía server (server side). Các servlet được nạp và được thực thi tại trình chủ Web (Web Server). Hình sau chỉ ra một
WEB BROWSER WEB SERVER SERVLET HTTP Request HTTP Response
servlet chấp nhận các yêu cầu từ trình khách (thông qua trình chủ Web sẽ được giới thiệu ở phần sau), thi hành tác vụ và trả về các kết quả
Các bước cơ bản khi sử dụng servlet:
Client (hầu hết là các trình duyệt Web) tạo ra một yêu cầu (request) dựa trên giao thức HTTP.
Trình chủ Web nhận các yêu cầu này và chuyển cho servlet xử lí. Nếu servlet chưa được nạp, trình chủ Web sẽ nạp nó vào trong máy ảo Java và thực thi nó.
Servlet sẽ nhận yêu cầu này dựa trên giao thức HTTP và thi hành.
Servlet sẽ trả ngược về cho trình chủ Web một phản hồi (response).
Trình chủ Web sẽ chuyển phản hồi này cho trình khách.
Vì servlet được thực thi trên máy chủ, vấn đề bảo mật với các applets thường không được áp dụng. Trình duyệt Web không truyền thông trực tiếp được với servlet; servlet được nạp và được thực thi bởi trình chủ Web. Điều này có nghĩa rằng nếu trình chủ Web được bảo mật đằng sau bức tường lửa (firewall), thì servlet cũng được bảo mật theo.