Đề tài Thiết kế website môn lập trình mạng 1 với servlet và jsp

PHẦN A : PHÂN TÍCH THIẾT KẾ VÀ THỰC THI ĐỀ TÀI

 

CHƯƠNG I : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

 

I. PHÂN TÍCH YÊU CẦU ĐỀ TÀI 1

1. Phạm vi đề tài 1

2. Yêu cầu đề tài 1

3. Quản lý 1

4. Công nghệ sử dụng 2

 

II. PHÂN TÍCH HOẠT ĐỘNG CỦA WEB SITE 2

1. Giao diện với người sử dụng 2

2. Quản trị hệ thống 3

 

III. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG VỚI RATIONAL ROSE

1. Xây dựng mô hình use case 3

a) Nhận diện các actor 3

b) Xây dựng mô hình use case 4

2. Xây dựng sơ đồ lớp (class diagram) 5

a) Nhận diện các lớp 5

b) Xây dựng class diagram 6

3. Lược đồ tuần tự (sequence diagram ) và

 lược đồ hoạt động ( activity model) 7

a) Lược đồ tuần tự (sequence diagram) . 7

b) Sơ đồ hoạt động (activity model) . 19

4. Sơ đồ Entity Relationship . 20

 

IV. THIẾT KẾ DỮ LIỆU . 21

 

doc70 trang | Chia sẻ: NguyễnHương | Lượt xem: 1207 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế website môn lập trình mạng 1 với servlet và jsp, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ố nhận từ request như : Tenhocvien=request. getParameter(“txtTenhocvien”) Tương tự cho email, tên đăng nhập(Usernames) , mật khẩu (Password) ., đồng thời cấp quyền cho học viên bằng 0 ( Int quyen=0) Bước 3 : Khai báo các đối tượng cần thiết để tạo kết nối Class. forName(Drivername). newInstace(); Connection Cn=null Cn = DriverManage. getConnection(URL,”Usernames”,”Password”) Statement st=null ResultSet Rs=null Bước 4 : Thực thi câu lệnh SQL xem học viên đã đăng ký chưa String SQL=” Select Usernames From Hocvien where Usernames=’”+tendangnhap+”’ String SQL1=” Select Usernames From Hocvien where Usernames=’”+tendangnhap+”’ Rs=st. executeQuery(SQL) Rs=st. executeQuery(SQL1) Kiểm tra nếu nếu tên đăng nhập (Usernames) này đã có rồi thì chuyển hướng nhảy đến trang báo lỗi If( rs.next()) { response. SendRedirect(“Loi.html”) } Và mời học viên đăng ký lại Kiểm tra nếu chưa tồn tại thì ta thực hiện thêm học viên này vào cơ sở dữ liệu Else { sql=Insert into Hocvien(Tenhocvien,Email ,Usernames) Value (‘”+tenhocvien+”’, ‘”+email+”’,’”+tendangnhap+”’) Sql1=Insert into Users(Usernames, Password, quyen) Value(’”+tendangnhap+”’, ‘”+matkhau+”’,”+quyen+”) Sau khi cập nhập học viên mới thành công sẽ chuyển đấn trang thành công Bước 5 : Cuối cùng đóng các kết nối lại Rs. close Cn . close Sau khi đã đăng nhập vào hệ thống với Usernames và Password của mình là họ đã có đầy đủ quyền tương ứng(hình 1.4). Đoạn Chương trình sau đây minh họa xử lý việc login của học viên khi đăng nhập vào hệ thống. Xử lý Login vào hệ thống của học viên Tương tự như đọan xử lý trên Bước 1 : Khai báo kết nối cơ sở dữ liệu Bước 2 : Khai báo các tham số nhận từ request User=requesr. getParameter(“txtTendangnhap”) Pass=requesr. getParameter(“txtPassword”) Bước 3 : Khai báo các đối tượng cần thiết để kết nối Bước 4 : Thực thi câu lệnh SQL so sánh xem có học viên này không nếu có thì chấp nhận và cho học viên này vào hệ thống Select Mahocvien Form Hocvien Where Usernames=’”+User+”’ Nếu không có học viên này thì báo lỗi và mời học viên này đăng nhập lại hoặc đăng ký làm học viên thì mới được vào học Bước 5 : Đóng các kết nối Khi vào hệ thống với quyền tương ứng của mình học viên có quyền học và thi chương trình học(hình 1.5 ) để minh họa cho chức năng này ta có đọan xử lý Xử lý chức năng học Bước 1: Kết nối cơ sở dữ liệu Bước 2 : Thực thi câu lệnh truy vấn cho việc chọn học phần cuả học viên sql="SELECT Machuong,Tenchuong FROM Chuong" Trong khi đã chọn được chương ta lấymã chương và tên chương hiển thị cho học viên chọn while (rs.next()){ } Bước 3 :Sau khi chọn học phần ,đối tượng request sẽ nhận tham số từ trang chuong1.jsp gởi đến bằng câu lệnh String machuong=request.getParameter("Machuong") và gởi trả về trang kqdemuc.jsp với các đề mục thuộc về chương mà học viên đã chọn . String sql="SELECT Mademuc,Tendemuc FROM Demuc WHERE Machuong=" +machuong Bước 4 : Tương tự như học viên chọn tiểu mục và nội dung tiểu mục Bước 5 : Đóngkết nối Xử lý chức năng Thi Bước 1: kết nối cơ sở dữ liệu Bước 2 : Thực thi câu lệnh sql và xử lý các giải thuật Tạo đề thi với số thứ tự đề thi là ngẫu nhiên int t=(int)Math.random()*10+1; out.println("De thi so "+t) Truy xuất câu hoỉ từ câu lệnh truy vấn sql: String sql="Select Macauhoi,Noidungcauhoi From CauHoi "; Khai báo 2 biến và 2 mảng chứa mã câu hoỉ và nội dung câu hoỉ : String ma,noidung int a[]=new int[100] //Mảng chứa mã câu hỏi String b[]=new String[100] //Mảng chứa mã nội dung Tạo recordset để lấy về mã câu hỏi và nội dung câu hỏi chưá vào 2 mảng while( rs.next() ) { ma=rs.getString("Macauhoi"); a[i]=Integer.parseInt(ma); //phân tích mã câu hỏi thành số và đưa vào mảng b[i]=rs.getString("Noidungcauhoi") //phân tích nội dung câu hỏi và đưa vào mảng 2 i++; } Bước 4 : So sánh đáp án Ứng với mỗi câu hỏi , cần hiển thị Ghichu , Macauluachon , Noidungcauluachon bằng câu lệnh truy vấn sql1="SELECT Chonlua.Ghichu AS Ghichu, Cautraloi.Macauluachon, Cautraloi.Noidungcauluachon FROM Chonlua INNER JOIN Cautraloi ON Chonlua.Macauluachon = Cautraloi.Macauluachon Where Chonlua.Macauhoi="+a[r]+" And Chonlua.Macauluachon=Cautraloi.Macauluachon" Bước 5 : Hiển thị kết quả Bước 6 : Đóng kết nối Ứng với đường đi từ sơ đồ học viên còn có thể login vào hệ thống để thay đổi thông tin và thay đổi Password của mình(hình 1.6 & hình 1.7) , đọan chương trình sau sẽ làm rõ chức năng này Xử lý chức năng thay đổi Password Bước 1:kết nối cơ sở dữ liệu Bước 2 : xử lý câu lệnh sql Lấy tên đăng nhập và mật khẩu cũ và mật khẩu mới do học viên nhập vào String username=request.getParameter("txtUsername") String oldPass=request.getParameter("txtOldPass") String newPass=request.getParameter("txtNewPass") Cập nhật lại mật khẩu mới dựa trên mật khẩu cũ và tên đăng nhập thông qua câu lệnh SQL2="UPDATE Users SET Passwords='" + newPass + "'"; SQL2=SQL2 +" WHERE Passwords='" + oldPass + "'"; Nếu thay đồi thành công trả về trang thành công , nếu Usernames và Password cũ sai hệ thống sẻ trả về trang lỗi Bước 3 : Đóng kết nối Xử lý chức năng thay đổi thông tin Bước 1: Kết nối cơ sở dữ liệu Statement stmt = null ResultSet rs=null Connection con = null Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") con = DriverManager.getConnection("jdbc:odbc:HOCQUAMANG","sa","") stmt = con.createStatement() Bước 2 : Khai báo các tham số nhận từ request String Ma=request.getParameter("txtMa") String Ten=request.getParameter("txtTen") String EM=request.getParameter("txtEmail") String SQL="" Bước 3 : Thực thi câu lệnh SQL SQL="UPDATE Hocvien SET Tenhocvien='"+Ten+"',Email='"+EM+"'"; SQL=SQL+ " WHERE Mahocvien="+Ma; Nếu có học viên này thì hệ thống sẽ cập nhật lại thông tin cho học viên đó Ngược lại hệ thống sẽ trảvề trang thông báo lỗi cho học viên để họ đăng nhập lai Bước 4 : Đóng kết nối Phần giáo viên : Để minh họa các chức năng của giáo viên từ sơ đồ tuần tự ở chương 1 ta sẽ vào phần cài đặt cho mỗi một chức năng riêng ứng với quyền của giáo viên. Một giáo viên khi muốn vào hệ thống thì họ đăng nhập vào hệ thống (hình 1.8) với quyền tương ứng của mình thì họ mới vào được , để làm rõ hơn chức năng đăng nhập vào hệ thống với quyền tương ứng ta có đoạn xử lý sau Xử lý đăng nhập vào quản trị hệ thống Bước 1: Kết nối cơ sở dữ liệu Bước 2: Khai báo các tham số nhận từ request user=request.getParameter("txtuser") pass= request.getParameter("txtpass") quyen=request.getParameter("txtquyen") Bước 3: Xử lý câu lệnh sql String strSQL="select * from Users where Usernames='" +user+ "' and Passwords='" +pass+ "' and Quyen='"+quyen+"'" rs=stmt.executeQuery(strSQL) Bước 4 : So sánh quyền tương ứng với mỗi User Nếu quyền = Admin hệ thống sẽ trả về trang quản trị cuả Admin với các chức năng tương ứng cuả Admin Nếu qyuền = Giáo vien hệ thống sẽ trả về trang quản trị của Gíaovien Nếu quyền = Hocvien hệ thống sẽ trả về trang ứng các chức năng cuả học viên Ngược lại hệ thống trả về trang báo lỗi và mời bạn đăng nhập lại Bước 4: Đóng kết nối Sau khi đăng nhập vào hệ thống thành công thì giáo viên có quyền cập nhật mới câu hỏi vào ngân hàng câu hỏi để sinh ra đề thi mới cho học viên thi (hình 1.9), để làm rõ hơn điều này ta có đoạn chương trình sau Xử lý cập nhật câu hỏi thi vào ngân hàng câu hỏi Bước 1: kết nối cơ sở dữ liệu Bước 2 : khai báo các tham số nhận từ request String mch,nd,md,mc,mgv,sqlStr=""; mch=""+request.getParameter("txtMch") nd=""+request.getParameter("txtNdung") md=""+request.getParameter("txtmucdo") mc=""+request.getParameter("txtCh") mgv=""+request.getParameter("txtgv") Bước 3: Thực thi câu lệnh sql sqlStr="INSERT INTO Cauhoi(Noidungcauhoi,Mucdo,Machuong,Magiaovien)" +"VALUES('"+nd+"','"+md+"',"+mc+","+mgv+")" khi cập nhật nếu câu hỏi này đã có sẽ trả về trang lỗi còn nếu chưa có thì cập nhật câu hỏi mới vào ngân hàng câu hỏi Sau cùng hệ thống sẽ trả về trang thành công khi ta cập nhật xong Bước 4: Đóng kết nối Tương tự như Học viên Giáo viên cũng có quyền thay đổi Password của mình (hình 1.10) khi cần thiết. Phần Admin : Tương tự đối với Admin là người có chức vụ cao nhất trong hệ thống ,sau khi đăng nhập vào hệ thống với quyền tương ứng , thì họ có quyền cập nhật vào chương trình học mới vào hệ thống ( hình 1.12) làm rõ chức năng này ta có đoạn xử lý sau Xử lý cập nhật chương trình học mới vào hệ thống Bước 1: kết nối cơ sở dữ liệu Bước 2 : khai báo các tham số nhận từ request String mc,tc,nd,hi,ct,cs,sqlStr=""; mc=""+request.getParameter("txtMchuong") tc=""+request.getParameter("txtTchuong") nd=""+request.getParameter("txtNdung") ct=""+request.getParameter("txtCtruoc") cs=""+request.getParameter("txtCsau") hi=""+request.getParameter("txtHinh") Bước 3: Thực thi câu lệnh sql rsKiemtra=stmt.executeQuery("SELECT * FROM Chuong WHERE Machuong="+mc) // neu chua ton tai thi chen chuong moi vao if(!rsKiemtra.next()){ sqlStr="INSERT INTO Chuong(Tenchuong,Noidungtomtat,Chuongtruoc,Chuongsau,Hinh)”+"VALUES('"+tc+"','"+nd+"',"+ct+","+cs+",'"+hi+"')"; stmt.executeQuery(sqlStr) khi cập nhật nếu chương này đã có sẽ trả về trang lỗi còn nếu chưa có thì cập nhật chương mới vào hệ thống Sau cùng hệ thống sẽ trả về trang thành công khi ta cập nhật xong Bước 4: Đóng kết nối Ngoài chức năng cập nhật chương trình học mới Admin còn có thể cập nhật giáo viên mới vào hệ thống (hình 1.13) khi có một giáo viên mới vào. Điều này được thể hiện thông qua đoạn mã xử lý sau Xử lý cập nhật giáo viên mới vào hệ thống Bước 1: kết nối cơ sở dữ liệu Bước 2 : khai báo các tham số nhận từ request String tengiaovien=request.getParameter("tengiaovien") String email=request.getParameter("email") String tendangnhap=request.getParameter("usernames") String matkhau=request.getParameter("passwords") String quyen ="1" String sql="" Bước 3: Thực thi câu lệnh sql String sql2="Select Usernames From Giaovien Where Usernames='"+tendangnhap+"'" String sql3="Select Usernames From Users Where Usernames='"+tendangnhap+"'" rs=stmt.executeQuery(sql3) if(!rs.next()){ String sql1 = "INSERT INTO Users(Usernames,Passwords,Quyen) values('"+tendangnhap+"','"+matkhau+"',"+quyen+")"; stmt.executeUpdate(sql1) rs=stmt.executeQuery(sql2) if(!rs.next()){ sql="INSERT INTO Giaovien(Tengiaovien,Email,usernames)values('"+tengiaovien+"','"+email+"','"+tendangnhap+"')" stmt.executeUpdate(sql) } Ngược lại khi cập nhật nếu giáo viên này đã có hệ thống sẽ trả về trang lỗi còn nếu chưa có thì cập nhật giáo viên mới vào hệ thống Sau cùng hệ thống sẽ trả về trang thành công khi ta cập nhật xong Bước 4: Đóng kết nối Đồng thời Admin cũng có quyền thay đổi Password của mình (hình 1. 14) khi cần , phần xử lý này tương tự như phần xử lý password cuả học viên. CHƯƠNG III : DEMO WEB SITE DẠY HỌC TRỰC TUYẾN Đến với Web Site Dạy học qua mạng , phía trình duyệt cần khởi động Internet Explorer gõ điạ chỉ Web Site học qua mạng môn Lập Trình Mạng được bắt đầu . Tại trang chủ ,nếu chỉ dạo xem thông tin học phần , học viên chọn chức năng sang trang khaiquathocphan.html. chọn tại trang khaiquathocphan.html để vào trang xemhocphan.html.Trang này tóm tắt các học phần sẽ được giảng dạy phục vụ cho môn Lập Trình Mạng Cơ Sở . Khi chọn học phần (trang hocphan.jsp), các đề mục thuộc học phần đó được liệt kê tại trang (kqdemuc.jsp) hiển thị 4 phần học (Client Side Networking ,Server Side Networking, URL ,UDP), tương tự khi chọn đề mục thuộc học phần đã chọn ,tất cả tiểu mục được hiển thị (ở trang kqtieumuc..jsp ). Vì học viên không đăng kí học nên tại trang kqtieumuc.jsp không hiển thị nội dung tiểu mục ,và hiện thông báo sẽ được xem chi tiết nếu học viên đăng kí học Nếu muốn đăng kí học ,học viên có thể chọn hoặc đăng kí tại trangchu.html . Tại trang chủ ,nếu muốn đăng kí học ,học viên có thể chọn để vào trang đăng kí và nhập thông tin về học viên đăng kí sau cùng chọn để được lưu trữ thông tin đã nhập. Trang Dangkythanhcong.html hiển thị thông báo về việc lưu trữ thông tin đăng kí thành công .Ngược lại sẽ trả về trang Loidangky.html. Học viên có thể chọn chức năng để được hứớng dẫn đăng kí học qua mạng Khi đăng kí thành công ,học viên có thể vào trang dayhoc.html bằng việc chọn Next hoặc trở về trang đăng kí để tiếp tục đăng kí học viên tiếp theo bằng nút Back Vào trang dayhoc.html , bạn chọn học phần cần theo học Sau khi chọn học phần , học viên có thể xem đề mục cuả từng học phần và tiểu mục cuả từng đề mục thuộc học phần đó . Phần hiển thị nội dung tiểu mục ,nếu học viên cần xem SourceCode cuả mỗi chương có thể chọn , trang SouceCode.html sẽ minh hoạ : Sau từng học phần ,học viên có thể kiểm tra kiến thức sau từng chương bằng chức năng , trang kiemtrachuong.jsp hiển thị câu hỏi dành cho học viên muốn kiểm tra kiến thức . Sau khoá học , học viên có thể kiểm tra lại tất cả kiến thức đã học bằng chức năng ,trang kiemtra1.jsp thực thi tác vụ này . Nếu đăng ký không thành công ,học viên chọn để đăng ký lại Khi học viên chọn chức năng , danh sách các giáo viên được hiển thị ,học viên có thể xem thêm thông tin về giáo viên như : tên ,email , Tương tự khi học viên chọn chức năng ,học viên xem được danh sách học viên đã đăng ký học . Khi chọn giao diện trang web hiển th ị như sau: Có 3 quyền khi đăng nhập vào hệ thống : Nếu là Admin (người quản trị hệ thống ) , chọn chế độ quyền ưu tiên là Admin ,nhập đầy đủ thông tin về Admin và nhấn nút Submit để có quyền đăng nhập . Nếu đăng nhập thành công , giao diện trang web indexAdmin như sau: Tại đây , người quản trị hệ thống có quyền xem danh sách giáo viên ,cập nhật giáo viên mới ,cập nhật học phần ,cập nhật đề mục ,cập nhật tiểu mục . Trang hiển thị giáo viên hienthigvt.jsp sẽ liệt kê danh sách các giáo viên sẵn có. Giáo viên mới có thể được cập nhật ,trang AddGV.jsp xử lý tác vụ này, giao diện trang AddGV.html như sau : Nếu thành công sẽ trả về trang thanhcongAddGV.html ngược lại trả về trang loiAddGV.html (Nếu tên đăng nhập cuả giáo viên đã có sẵn,) Giáo viên được phân quyền ưu tiên là 1 , khi thêm giáo viên mới ,hệ thống tự động phân quyền là 1 và cập nhật giáo viên mới Thêm một học phần mới ,Admin có thể chọn chức năng thêm học phần tại trang indexAdmin.jsp Để lưu trữ thông tin cập nhật học phần , trang AddChapter.jsp sẽ xử lý việc lưu trữ thông tin học phần. Trang AddChapter.jsp sau khi xử lý thành công sẽ trả về trang AddChapterthanhcong.html thông báo đến người sử dụng về việc thêm học phần mới thành công. Nếu học phần thêm vào đã có trong hệ thống a(trang loiAddChapter.html sẽ được hiển thị . Trang AddHeading.jsp cập nhật đề mục thuộc học phần cần chọn Nếu đề mục đã có sẽ trả về trang Loiaddheading.html ngược lại sẽ trả về trang Addheadingthanhcong.html đề mục được cập nhật Tác vụ cập nhật tiểu mục tương tự như cập nhật đề mục ,chọn đề mục có tiểu mục cần cập nhật . Nếu thành công trang AddTMthanhcong.html sẽ được trả về và tiểu mục được cập nhật thành công ngược lại trang LoiAddTM.html hiển thị lỗi cập nhật tiểu mục Nếu là giáo viên , nhập thông tin đăng nhập giáo viên và quyền ưu tiên khi đăng nhập là Quyền Giáo viên . Sau khi chọn nút Submit , thông tin đăng nhập cuả giáo viên sẽ được xử lý . Nếu đăng nhập không thành công , trang web FaiLogin.html trả lại thông báo Nếu đăng nhập thành công , trang đăng nhập thành công(indexGV.jsp) cuả giáo viên được hiển thị như sau : Trang indexGV.jsp thực thi các công việc cuả giáo viên : Xem danh sách các câu hỏi . Cập nhật câu hỏi . Cập nhật đề thi . Giáo viên được quyền xem danh sách câu hỏi có trong ngân hàng câu hỏi , giáo viên chỉ được quyền chỉnh sửa , cập nhật câu hỏi do chính giáo viên đó soạn . Nếu là học viên , nhập thông tin đăng nhập học viên và quyền ưu tiên khi đăng nhập là Quyền Học viên . Nếu lỗi đăng nhập trang FaiLogin.html sẽ được trả về ,học viên có thể trở về trang trước để ngược lại trang indexHV.jsp hiển thị các chức năng cuả học viên . Tại đây ,học viên có thể xem danh sách học viên ,thay đổi thông tin học viên ,thay đổi mật khẩu . Học viên vào trang thaydoithongtinhv.jsp để nhập thông tin mới. Nếu việc thay đổi thành công trang thaydoithanhcong.html được trả về ,nếu lỗi xảy ra trang loithaydoitt.html . Trang ThaydoiPW.jsp học viên thay đổi mật khẩu Nếu thay đổi thành công trang thaydoithanhcong.html hiển thị ,ngược lại trang loithaydoi.html được trả về ,học viên có thể trở về trang trước để thay đổi mật khẩu . CHƯƠNG IV : GIỚI THIỆU CÔNG NGHỆ JSP (JAVA SERVER PAGES) VÀ RATIONAL ROSE PHẦN 1 : CÔNG NGHỆ JSP JSP VÀ LẬP TRÌNH ỨNG DỤNG Java Server Page (JSP ) là một kỹ thuật kết hợp ngôn ngữ HTML và ngôn ngữ Java. JSP là cách đơn giản hơn Servlet để có thể tiếp cận hướng lập trình Web phía Server . Kỹ thuật JSP có thể kết nối với các hệ quản trị cơ sở dữ liệu như MS Access, SQl Server, Oracle,... Công nghệ JavaServer Pages (viết tắt là JSP) là công nghệ Java dựa trên nền J2EE để xây dựng những ứng dụng chứa nội dung trang Web động như: HTML, DHTML, XHTML và XML. Công nghệ JSP có khả năng tạo ra những trang Web với nội dung linh hoạt, có vai trò quan trọng trong việc phát triển các ứng dụng Web. Một trang JSP (.jsp) là một trang HTML hay XML trong đó có chứa mã Java, phần HTML chịu trách nhiệm về việc định dạng văn bản, mã chương trình xen lẫn trong văn bản dùng để diễn đạt các thao tác xử lý dữ liệu hoặc nối kết với CSDL (Database). Trang Web truyền thống (dùng HTML) được trình chủ Web gửi ngay đến cho máy khách (Client) khi có yêu cầu, còn các trang JSP phải chạy qua một guồng máy (Engine) riêng biệt, ở đó phần mã chương trình được tách ra khỏi trang JSP, được thi hành và kết quả xử lý được ghi trở vào trang Web đang xét, tạo thành trang HTML thuần tuý. Trang JSP khi chạy, mã Java sẽ được biên dịch thành JavaServlet và Servlet này chạy trên máy ảo Java (JVM) ở phía máy chủ (Web Server). Mã Java được biên dịch khi máy khách truy xuất trang JSP lần đầu tiên. Tập tin .jsp có cấu trúc giống như tập tin .html truyền thống, nhưng khác ở chỗ là tập tin .jsp có xen lẫn mã Java. Mã Java được tách biệt với phần HTML thông thường bằng cặp dấu . CƠ CHẾ HOẠT ĐỘNG CỦA JSP Công nghệ JSP gắn liền với Servlet. Mã Java trong trang JSP được biên dịch thành Servlet khi trình duyệt phía khách (Client) truy xuất trang JSP lần đầu tiên. Quá trình diễn ra như sau : Mã Java được tách ra khỏi nội dung bình thường của trang JSP, tạo thành mã nguồn của Servlet. Kết quả xử lý của Servlet được thay vào chỗ biểu thức JSP trong trang Web ban đầu (trang Web mà trình duyệt nhận được là trang HTML thuần túy). Trình diễn dịch JSP Servlet tạm WEB BROWSER HttpServlet Trang JSP NHỮNG ĐIỂM NỔI BẬT CỦA CÔNG NGHỆ JAVASERVER PAGES (JSP) Tận dụng được sức mạnh của ngôn ngữ lập trình Java Từ trước đến nay chúng ta đều biết đến Java như là một công cụ hỗ trợ đắc lực trong việc xây dựng các ứng dụng Web Client - side. Nhưng Java cũng còn là một môi trường lý tưởng để tạo thành phần server cho ứng dụng Web. Do nền tảng của JSP dựa trên Java nên JSP cũng tận dụng được các ưu điểm trên. JSP cung cấp một phương pháp rất mạnh để xử lý yêu cầu từ Client, cũng như những ưu việt trong chế độ an toàn, chống rò rỉ bộ nhớ (memory leak) và hỗ trợ chế độ xử lý đa tuyến đoạn (multithreading). Ngoài ra, môi trường Java đã đưa ra rất nhiều sự mở rộng cho việc phát triển các ứng dụng enterprise. JSP ngày nay đã là một thành phần cốt lõi trong môi trường J2EE. Vì vậy, với công nghệ JSP, người ta hoàn toàn có thể tạo ra được những ứng dụng có quy mô lớn với chất lượng cao. Tách biệt nội dung với giao diện Với công nghệ JSP, người phát triển sử dụng các thẻ HTML hay XML để thiết kế giao tiếp trang Web, các thẻ JSP hay các đoạn scriptlet để phát sinh nội dung động của trang (nội dung này phụ thuộc vào yêu cầu của user). Các xử lý phát sinh nội dung được đóng gói trong các thẻ hay thành phần JavaBeans và được liên kết lại trong scriptlet, sau đó được thực hiện ở server. Do những xử lý cốt lõi đã được đóng gói trong các thẻ và Beans, Web master và page designer có thể hiệu chỉnh và làm việc trên trang JSP mà không ảnh hưởng đến xử lý nghiệp vụ của trang. Các điều trên giúp bảo vệ các đoạn code sở hữu độc quyền và vẫn đảm bảo cho mọi HTML - based web Browser có thể truy xuất đến các trang JSP theo yêu cầu. Đơn giản hoá quá trình phát triển với các thẻ Web page developer không phải lúc nào cũng là một lập trình viên thông thạo với ngôn ngữ Script. Công nghệ JSP đóng gói nhiều chức năng cần thiết trong việc phát sinh nội dung động ở dạng dễ sử dụng, các JSP - specific XML tag. Các thẻ JSP chuẩn có thể truy xuất và khởi tạo những thành phần JavaBeans, thiết lập hay nhận về giá trị của thuộc tính, download applet, và thực hiện những xử lý mà nếu viết code sẽ khó khăn và mất nhiều thời gian. Công nghệ JSP có thể mở rộng thông qua sự phát triển của các customized tag library. Hiện nay đã có khá nhiều các thư viện loại này, từ đó giúp người phát triển trang Web có thể làm việc với những công cụ quen thuộc khi thự hiện những xử lý phức tạp. MÔ HÌNH ỨNG DỤNG DÙNG CÔNG NGHỆ JAVASERVER PAGES (JSP) Một trang JSP sẽ được xử lý bởi một JSP Engine (được cài đặt trên Web Server hay Application Server hỗ trợ công nghệ JSP). JSP Engine nhận yêu cầu từ Client đến trang JSP và phát sinh những phản hồi từ trang JSP nhận về Client. Những trang JSP được biên dịch thành JavaServlets. JavaServlets là một sự mở rộng của Java chuẩn, do đó các nhà phát triển có thể truy xuất đến môi trường ứng dụng Java đầy đủ với tất cả các sức mạnh và sự linh động vốn có của họ Java. Khi một trang JSP được gọi lần đầu tiên nếu chưa tồn tại sẽ được biên dịch thành một Servlet class và được lưu trữ trong bộ nhớ của Server. Điều này cho phép sự hồi đáp nhanh chóng đối với những yêu cầu tiếp theo đến trang này. Trang JSP có thể được sử dụng trong nhiều kiến trúc khác nhau và cũng có thể kết hợp với các Protocol, Components khác nhau. Một vài mô hình có thể có. Mô hình ứng dụng đơn giản Trong một ứng dụng đơn giản Browser sẽ trực tiếp gọi trang JSP. Đến lượt trang này lại phát sinh một yêu cầu (có thể thông qua JDBC để nhận thông tin từ Database) nhằm tạo ra kết quả đáp ứng yêu cầu của Browser. Sau đó tạo ra trang HTML chuẩn và gửi trả trang này về cho Browser. Database HTTP/HTML/XML Browser JDBC JSP Ưu điểm : Giúp việc lập trình đơn giản và nh

Các file đính kèm theo tài liệu này:

  • docTONGHOPMOI.doc
  • docCONGNGHE.doc
  • docLoicamon&gioit.doc
  • docmucluc.doc
  • docBia.doc
  • docBiatrong.doc
  • docYEUCAUDT1.doc
Tài liệu liên quan