19 October 2016

Struts Framework: Login Đăng Nhập với Database MYSQL JDBC [P1]

Database

Tên project: StrutsBasicDemo
-Nhấn Finish, cấu trúc project trên Netbeans cập nhật với các tập tin cấu hình struts-config.xml, taglib tlds và các library như sau
-Tập tin web.xml được tự động cập nhật mapping với Action Servlet và các taglib hỗ trợ như sau
-Chúng ta xóa các trang jsp sẵn có trong project và tạo trang JSP mới với tên index.jsp để tạo form Login
-Cập nhật trang index để đón nhận username và password nhưng action name chúng ta đặt tên phải có đuôi .do vì action được mapping phải có do để phân biệt giữa thành phần struts với nhau (ở đây sẽ là login.do). Ngoài ra, tên control của 02 thành phần đặt sẽ là properties của chúng ta tương ứng trong Action Form để khi kích hoạt action thì các hàm get/set được kích hoạt tương ứng
-Tạo thành phần Action Form để lưu trữ dữ liệu và thực hiện chức năng Login cho form tương ứng ở trên.

-Chọn menu File, new File, chọn Struts trong Categories và Struts ActionForm Bean trong File Types.
-Nhấn Next, đặt tên trong Class Name và chọn package tương ứng

-Nhấn Finish, Java Class được phát sinh và tập tin struts-config.xml được cập nhật như sau
-Chúng ta thực hiện chỉnh sửa trong Action Form như sau
-Xóa hết tất cả các phần định nghĩa sẵn ngoại trừ constructor
-Định nghĩa 02 thuộc tính username, password giống y tên control đặt trong html form và phát sinh get/set cho nó
-Phát sinh constructor đón nhận 02 tham số username và password
-Tạo Package mới tên connection
-Nhấn finish
-Add library connect mysql (add thư viện sqljdbc)
-Sau khi add library xong
-Phát sinh hàm checkLogin để thực hiện cung cấp chức năng login cho object LoginActionForm

-Bổ sung thêm hàm reset, bằng cách gõ reset, nhấn phím ctrl + space và bổ sung code
-Tạo Action Class để đón nhận xử lý từ Action Servlet và kết xuất kết quả

-Chọn menu File, chọn new File, chọn Struts trong Categories, chọn Struts Action trong File Types
-Nhấn Next, nhập tên, chọn package, đặc biệt nhập tên action sau dấu / trong Action Path. Lưu ý, action lấy trong html form nhưng không có .do
-Nhấn Next, chọn form tương ứng trong Action Form Bean Name, chọn trang làm form nhập thông qua nút Browse ở Input Resource (ở đây sẽ là index.jsp), chọn Scope tương ứng của form bean (ở đây chúng ta chọn là session để chúng ta có thể trình bày username ở trang khác), chúng ta chưa validate trong bài này nên gỡ bỏ check Validate ActionForm Bean
-Nhấn nút Finish, Action Class được phát sinh với hàm execute và struts-config.xml được cập nhật
-Cấu trúc project được cập nhật như sau
-Chúng ta thực hiện thao tác xử lý bằng cách đón nhận tham số ActionForm ép về kiểu form của chúng ta là LoginActionForm, và gọi hành vi checkLogin, tùy theo kết quả chúng ta sẽ trả về là nhãn fail hay success để mapping đến trang home page  hay trang invalid
-Chúng ta tạo trang invalid.jsp để trình bày message invalid username and password

-Tạo trang menu.jsp với session để trình bày tên user đăng nhập và hiển thị form search
-Lưu ý: với việc lấy username chúng ta phải truy cập tầm vực của nó là session, tên attribute chính là tên bean được khai báo ở phần name trong form-bean và thuộc tính tương ứng chúng ta cần lấy thông qua các hàm get trong bean
-Chúng ta phải thực hiện định nghĩa Action Forward để kết quả xử lý phải chuyển đến trang tương ứng
-Chúng ta mở tập tin struts-config.xml
-Để trỏ chuột nhấp nháy tại ngay action chúng ta muốn tạo Action Forward (ở dây là action login)
-Click phải chuột ngày trên hàng trỏ chuột nhấp nháy, chọn Add Forward
-Nhập lable tương ứng vào Forward Name (ở đây chúng ta làm với success trước), chọn Browse tại Resource File để định hướng xuất (ở đây chúng ta chọn menu.jsp)
 -Nhấn nút Add, struts-config.xml được cập nhật forward trong phần action login như sau
-Nhấn save file và phát sinh tương ứng dùng các bước trên với forward tên fail và di chuyển đến trang invalid
-Hoàn tất cấu hình.
-Start Server , Build Project, Deploy và Test.


http://localhost:8080/StrutsBasicDemo/

Đăng nhập thành công >>
 http://localhost:8080/StrutsBasicDemo/login.do

Đăng nhập thất bại >>

Lưu ý: chúng ta thấy trên Address bar không có tên file vì đang áp dụng struts mà chỉ thấy action, qua đó, chúng ta muốn mapping đổi thành phần mới cái nào cũng được thông qua forward và action dưới struts-config.xml mà người dùng không biết, tạo nên sự uyển chuyển trong xây dựng ứng dụng. Ngoài ra, việc mapping trên tập tin xml tạo sự thuận lợi hơn mapping trong Servlet vì phải biên dịch lại, còn xml thì không
Database command line

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang