Quản lý công việc trên Web với JSP và My SQL

MỤC LỤC

Khai báo trong JSP

Khai báo sẽ được chèn vào trong lớp của servlet (bên ngoài phương thức _jspService được gọi bởi service để xử lý một yêu cầu). Các khai báo trong JSP thì không phát sinh ra bất kỳ thông xuất nào, chúng thường được dùng để liên kết với các biểu thức hoặc scriptlets.

JSP directives

The page directive

Giá trị “false” có nghĩa rằng chẳng có session nào được sử dụng tự động và nếu cố truy cập vào biến session sẽ trả lỗi vào lúc trang được dịch thành servlet. Xác định liệu luồng xuất có vùng đệm được tự động flush (giá trị “true” mật định) khi vùng đệm đầy hay sẽ tung ra một ngoại lệ khi vùng đệm tràn (“false”).

Các action chuẩn

Action chèn vào files ở thời gian request

Với include directive cho phép chúng ta thêm vào các tài liệu chứa mã JSP vào nhiều trang khác nhau nhưng lại có vấn đề là đòi hỏi chúng ta phải cập nhật lại ngày sữa đổi của trang khi file được include thay đổi. <b>Larry Ellison acts conciliatory.</b> Catching his competitors off guard yesterday, Oracle prez Larry Ellison referred to his rivals in friendly and respectful terms.

Action chèn vào Applets cho Java Plug-In

Hơn nữa vì chúng ta không biết loại trình duyệt nào sẽ truy cập vào trang chúng ta nên chúng ta phải hoặc là include cả OBJECT lẫn EMBED (đặt EMBED trong phần COMMENT của OBJECT) hoặc là xác định loại trình duyệt vào thời gian yêu cầu để dùng tag đúng cho loại trình duyệt đó. Ngoài bốn thuộc tính này jsp:plugin còn có các thuộc tính sau và hầu hết giống (nhưng không phải là tất cả) như các thuộc tính của APPLET tag. codebase, align, archive, hspace, name, vspace, title Gioỏng nhử APPLET tag. URL cho Netscape mà có thể download Plug-In. Giá trị mật định sẽ hướng người dùng đến web site của Sun, nhưng với intranet chúng ta có thể muốn chỉ dẫn người dùng đến một bản sao cục bộ. URL cho Internet Explorer mà có thể download Plug-In. b) jsp:param và jsp:params action.

Actions dùng để forward và sử dụng Components

<jsp:plugin type=“applet” code=“MyApplet.class”. <jsp:params>. jsp:fallback cung cấp văn bản thay thế đối với các trình duyệt không hổ trợ OBJECT hay EMDEB. Chúng ta sử dụng action này giống như là dùng văn bản thay thế được đặt trong APPLET tag. Ví dụ chúng ta có thể thay thế. Code 13: Sử dụng jspfallback. <APPLET CODE=“MyApplet.class”. <B> Error: this example requires Java. <jsp:plugin type=“applet”. <jsp:fallback>. <b> Error: this example requires Java. </jsp:fallback>. Đồ án tốt nghiệp Gvhd: Ts.Nguyễn Thúc Hải. việc nhúng mã RequestDispatcher trong một scriptlet chúng ta có thể sử dụng jsp:forward action. Code 14: Sử dụng jspforward. Action này cho phép điều phối một request hiện hành vào lúc runtime đến một tài nguyên tĩnh, trang JSP hay lớp servlet trong cùng một ứng dụng. b) Sử dụng component trong JSP. Chúng ta có thể sử dụng các actions sau để sử dụng lại các component (Beans) trong JSP: jsp:useBean, jsp:setProperty, jsp:getProperty.

JSP JAVABEANS

    JSP sử dụng Beans

      Các thuộc tính của một thành phần JSP thì không giới hạn giá trị chuổi (string) nhưng rất quan trọng để hiểu rằng tất cả giá trị của thuộc tính được truy cập qua <jsp:getProperty> tag sẽ được chuyển thành kiểu chuổi. Introspector là bộ phân tích mà qua đó Java xem xét các đoạn mã của chương trình để tìm ra những phương thức dùng để xây dựng và áp dụng cho từng thuộc tính cũng như tình huống cụ thể.

      Các giao tiếp bổ trợ cho Bean

      Việc cài đặt giao tiếp HttpSessionBindingListener của Servlet API trong Beans chúng ta sẽ cho phép các thể hiện nhận được thông báo của các sự kiện session. Khi JSP container dự định chấm dứt một session của người dùng vì hoạt động kém, trước tiên JSP container xoá từng mục dữ liệu trong session, rồi kích hoạt valueUnBound().

      TAG LIBRARIES

      Tag library là gì ?

      - Chúng có thể được lồng với nhau và cho phép các tương tác phức tạp trong một trang. Chúng ta có thể tạo và khởi tạo một thành phần JavaBean, tạo một biến tham chiếu đến Bean đó trong một tag và sau đó sử dụng Bean này trong tag khác.

      Cách dùng các tags trong JSP

        Kiểu thuộc tính Phương thức valueOf chuyển chuổiPhương thức valueOf chuyển chuổi boolean or Boolean java.lang.Boolean.valueOf(String) byte or Byte java.lang.Byte.valueOf(String) char or Character java.lang.Character.valueOf(String) double or Double java.lang.Double.valueOf(String) int or Integer java.lang.Integer.valueOf(String) float or Float java.lang.Float.valueOf(String) long or Long java.lang.Long.valueOf(String). Giá trị của biểu thức tuỳ thuộc vào kiểu thuộc tính được xác định trong đối tượng cài đặt tag còn gọi là tag handler (tag handler trong phần định nghĩa các tag). <tlt:helloWorld name=’DHBK Ha Noi’/>. c) Các tag có nội dung. Tag có thể bao hàm các custom tag, scripting element, HTML, và nội dung nằm giữa start tag và end tag. Trong ví dụ sau sẽ đưa ra thông tin “lời chào” được cung cấp trong thân tag thay vì trong thuộc tính của nó. <tlt:helloWorld>. DHBK Ha Noi. </tlt:helloWorld>. d) Các tag định nghĩa các biến kịch bản. Một tag có thể định nghĩa ra một biến mà biến này được dùng trong cùng một trang. Ví dụ sau đây minh hoạ cách thức định nghĩa và sử dụng một. e) Kết hợp các tag.

        Định nghĩa các tag

          Tag library descriptor (TLD) là một tài liệu XML dùng để mô tả thư viện tag. Một TLD chứa toàn bộ thông tin về thư viện và mỗi tag chứa trong thư viện. JSP container và các công cụ phát triển JSP sử dụng TLD để xác định các tag. Các element của TLD sau dùng để định nghĩa thư viện tag:. Code 21: HelloWorldTag.java. <!DOCTYPE taglib. <taglib>. <jspversion>. <!--Tên mặt định đơn giản có thể dùng bởi công cụ tạo trang JSP để tạo tên với giá trị gợi nhớ; chẳng hạn shortname có thể được dùng như giá trị tiếp đầu ngữ thích hợp trong taglib directive và/hoặc tạo ra các tiếp đầu ngữ cho các id -->. <shortname>. Tag element yêu cầu đối với mọi tag để xác định một lớp có trong thư vieọn tag. <tagclass>classname</tagclass>. Để tạo các custom tag chúng ta cần hai import gói cơ bản:. import javax.servlet.jsp.*;. import javax.servlet.jsp.tagext.*; // tag extension a) Các tag đơn giản. Lớp này cung cấp thông tin cho JSP container về đặt tính của của biến kịch bản, phải cài đặt phương thức getVariableInfo để trả về một mảng các đối tượng VariableInfo chứa các thông tin sau: tên biến, lớp của biến, liệu biến này có tham khảo tới một giá trị đối tượng mới hay đã có, tính sẳn dùng của biến này.

          Bảng sau mô tả tính sẳn dùng của biến kịch bản và các phương  thức để xác lập và xác lập lại giá trị của biến.
          Bảng sau mô tả tính sẳn dùng của biến kịch bản và các phương thức để xác lập và xác lập lại giá trị của biến.

          PHAÂN TÍCH – THIEÁT KEÁ

          Phaân Tích

            Đồ án tốt nghiệp Gvhd: Ts. Nguyễn Thúc Hải - Lập bảng đánh giá nhân viên bằng biểu đồ. - Tổng hợp báo cáo. - Thiết lập chế độ làm việc trực tiếp giữa hai nhân viên. - Xem các công việc được giao. - Báo cáo tiến độ thực hiện theo ngày. - Đề xuất cách giải quyết công việc theo ngày. - Báo cáo công việc thực hiện xong. - Xem các đánh giá của bên quản lý. - Gán quyền cho user. Phạm vi đề tài. Cho phép lưu trữ trong một năm phát sinh dữ liệu Dữ liệu cập nhật trực tuyến. Hệ thống hoạt động trên môi trường Web. Hoạt động trong môi trường mạng Intranet.  Về xử lý Thoáng keâ. Thiết lập chế độ làm việc giữa hai nhân viên. Lập báo cáo. Làm tươi/ Phục hồi CSDL 4. Mô hình xử lý quan niệm. a) Sơ đồ ngữ cảnh. Đồ án tốt nghiệp Gvhd: Ts. Nguyễn Thúc Hải. b) Sơ đồ phân rã chức năng. c) Sơ đồ hệ thống.

            Sơ đồ thực thể kết hợp (ERD):
            Sơ đồ thực thể kết hợp (ERD):

            Thieát Keá

              Nhập: Tên CSDL cần phục hồi (đã có từ làm tươi CSDL). Xuất: Thông báo đã phục hồi hoàn toàn / thông báo lỗi. Đồ án tốt nghiệp Gvhd: Ts. Nguyễn Thúc Hải. c) Một số giải thuật được thể hiện bàng lưu đồ. Thông báo CSDL đã có - Tạo CSDL mới (Backup). - Xoá các mẩu tin trong các bảng phát sinh. Làm Tươi CSDL. Thiết kế cơ sở dữ liệu d) Mô hình dữ liệu vật lý. Đồ án tốt nghiệp Gvhd: Ts. Nguyễn Thúc Hải. e) Bảng mô tả chi tiết.

              Sơ đồ thực thể kết hợp (ERD):
              Sơ đồ thực thể kết hợp (ERD):

              TRIỂN KHAI ỨNG DỤNG

                Ứng dụng sử dụng cả hai mô hình web trên nền Java là Kiến Trúc Mô Hình Một và Mô Hình Hai mà đã và đang còn tranh luận trên các sites nỗi tieỏng nhử javaworld.com, developer.com, weblogic.com. Ở đây, Servlets hoạt động như một trạm điều khiển (controller) chịu trách nhiệm xử lý các yêu cầu và khởi tạo các components (Beans, Custom Tag) cho JSP sử dụng.