Thứ Ba, 16 tháng 9, 2014

Initialize Parameter



Bước 1 : Tạo ứng dụng web có tên là Demo.


Bước 2 : Trong mục Server, chọn Apache Tomcat or TomEE





Bước 3 : Mở file index.html, tạo một thẻ <a> có thuộc tính href là LoadDB.


Bước 4: Tạo servlet có tên LoadDB. 




Bước 5: Ấn tích vào "Add information to deployment descriptor (web.xml)", sau đó chọn "New" rồi add các init parameters.



Bước 6: Mở file web.xml trong thư mục WEB-INF, các thông tin được lưu trong các <init- param>.



Bước 7: Mở file servlet LoadDB, kích chuột phải chọn Insert Code.


Bước 8: Trong bảng Generate chọn Override Method.


Bước 9: Chọn int(ServletConfig config) trong Generate Override Methods.



Bước 10: Khai báo biến và gán giá trị cho biến .



Bước 11: Code như sau để hiển thị username password và url.


Kết quả ta được.





Tổng quan về Web Application

* Cách để tạo 1 web application :

Sau khi mở Netbean chúng ta bắt đầu thực hiện theo những bước sau :

   - Bước 1 : Chọn File > New Project > Java Web > Java Web
Application


- Bước 2 : Điền Project name và chọn nơi chứa cho project, sau đó bấm Next.



- Bước 3 : Chọn Server và Java EE version. Bấm finish sau khi bạn đã chọn xong.


- Và đây là kết quả thu được trên màn hình sau khi chúng ta tạo thành công 1 web application


  - Bước 4 : Tạo 1 Servlet , đầu tiên click phải vào Source Packages của Project chọn New > Other

- Bước 5 : Chọn Web > Servlet và bấm Next

- Bước 6 : Điền tên cho Servlet, điền tên Package và Bấm Next


  - Bước 7 : Tick vào ô add (web.xml) sau đó bấm finish :

- Sau đó bạn sẽ thu được kết quả như sau:


* Bạn hãy thay dòng code :
            out.println("<h1>Servlet TestServlet at " + request.getContextPath() + "</h1>");
       bằng dòng code :
            out.println("<h1>Hi, welcome to the world of servlets !</h1>");

        sau đó hãy chạy chương trình bạn sẽ thu được kết quả như sau:

Thứ Hai, 8 tháng 9, 2014

Filter

*  Filter là đối tượng nằm giữa request của Client và Web Container. Filter có nhiều công dụng như : đọc request của client, chuyển đổi request thành dạng dữ liệu khác trước khi chuyển xuống Web container, chuyển đổi response thành dữ liệu khác trước khi truyền về client, gửi thông báo error về cho client, tạo ra response của chính filter gửi về client.

* Filter bản chất là một Java class kế thừa từ interface javax.servlet.Filter. Interface này bao gồm các phương thức sau:
-         void init(FilterConfig config) throws ServletException: Hàm khởi tạo các thông số cho Filter, được thi hành khi khởi tạo Filter

-         void destroy(): hàm hủy Filter

-         void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException: hàm thực thi, được thi hành khi có resquest hay response dùng filter.

Tạo 1 filer:

Bước 1: Tạo ứng dụng web DemoFilter gồm 3 file là: home.jsp, index.jsp và login.jsp


Bước 2 : Vào trang index.jsp và viết đoạn code trong thẻ body như sau :






Bước 3: Tạo Filter: Chọn Source Packages nhấn chuột phải chọn New => Other… . Bạn chọn Filter như hình dưới nhấn Next đặt tên Filter là HomeProtector


Bước 4: Tiếp theo bạn vào file HomeProtected tìm phương thức doFilter xóa hết trong doFilter và thêm đoạn code sau :



Filter nay sẽ chuyển đến trang login.jsp khi người dùng click vào link đến trang home.jsp hay login.jsp


Sau khi bạn click vào trang home nó vẫn chuyển đến trang login.



Thứ Năm, 28 tháng 8, 2014

Java Web Technologies

Java Servlet : là một lớp java, được biên dịch thành file class và chạy vs file class đó vì thế nó được bảo mật hơn so vs jsp

JSP : cho phép tạo ra các trang web động nhờ có chứa html và java code, code jsp dễ bị người khác đọc vì nó nhúng chung với html nên kém bảo mật.

JSF : vì jsp và servlet không cung cấp thành phần giao diện người dùng  nên jsf được tạo ra để nhằm đáp ứng những yêu cầu của người dùng một cách tốt hơn.

Vòng đời Servlet

Servlet là các đối tượng java, mở rộng chức năng của 1 HTTP server, được quản lý bởi container tương ứng. Chạy được trên tất cả các web servers và  các app servers chuẩn.


Vòng đời Servlet có 5 bước :
  1. Tải servlet class vào bộ nhớ.
  2. Tạo đối tượng servlet.
  3. Gọi method servlet inti() .
  4. Gọi method servlet service().
  5. Gọi method servlet destroy().
- Bước 1,2,3 được thực thi một lần duy nhất khi servlet được nạp vào lần đầu tiên.
- Bước 4 được thực thi nhiều lần, mỗi khi có đòi hỏi từ phía người dùng tới servlet.
- Bước 5 được thực thi khi bộ chứa servlet (servlet container) trút bỏ (unloaded) servlet .

Giao thức HTTP

Hypertext Transfer Protocol (HTTP) là một giao thức nằm ở tầng ứng dụng, đảm nhiệm việc giao tiếp giữa các hệ thống phân tán với nhau, và nó là nền tảng của web.



HTTP cho phép giao tiếp giữa rất nhiều server/client với nhau, chủ yếu thông qua TCP/IP. Cổng giao tiếp chuẩn là 80, tuy nhiên có thể dùng bất kỳ cổng khác. Giao thức giữa client vs server dựa vào một cặp request/response. Client khởi tạo HTTP request và nhận HTTP response từ server gửi về.
HTTP request bao gồm 2 thành phần quan trọng là URL và Verb (phương thức), được gửi từ client. Ở phía ngược lại, server trả về HTTP response trong đó chứa Status code.
HTTP là giao thức phi trạng thái, các lệnh thực hiện độc lập vì các lệnh được thực thi một cách độc lập.

Mô hình Server-Client

Mô hình Client-Server là mô hình phổ biến trong mạng internet , có thể được phân thành 2 loại là: Client và Server.Trong đó, Client là một đối tượng cần phục vụ, thông thường là các ứng dụng hoặc các dịch vụ từ chương trình khác còn Server là đối tượng phục vụ những yêu cầu đó do client gửi tới.


Việc giao tiếp giữa các client và server được thực hiện dưới hình thức trao đổi các thông điệp (Message). Để được phục vụ, client sẽ gửi một thông điệp yêu cầu (Request Message) mô tả về công việc muốn server thực hiện. Khi nhận được thông điệp yêu cầu , server tiến hành phân tích để xác định công việc cần phải thực hiện. Nếu việc thực hiện yêu cầu có sinh ra kết quả trả về, server sẽ gửi nó cho client trong một thông điệp trả lời (Reply Message). Dạng thức và ý nghĩa của các thông điệp trao đổi giữa client và server được quy định rõ bởi giao thức của ứng dụng.
Việc ứng dụng mô hình Client-Server sẽ làm giảm chi phí, đồng thời làm tăng tốc độ, điều này rất cần thiết trong việc truy cập dữ liệu.