Trong hướng dẫn này, chúng tôi sẽ phát triển các chương trình mẫu với JSP và sử dụng kiến trúc MVC.
Các Ví dụ về Chương trình sau đây, sẽ được phát triển:
- Mẫu đăng ký
- Đăng nhập và đăng xuất biểu mẫu
Sử dụng biểu mẫu đăng ký thông qua JSP
Trong biểu mẫu Đăng ký, chúng tôi sẽ có một biểu mẫu để điền tất cả các chi tiết bao gồm tên, tên người dùng, mật khẩu, địa chỉ, số liên lạc, v.v.
Biểu mẫu này sẽ giúp chúng tôi đăng ký với ứng dụng. Họ lấy tất cả thông tin chi tiết của chúng tôi và lưu trữ trong cơ sở dữ liệu hoặc bộ nhớ cache.
Trong ví dụ này, chúng ta sẽ lấy "Biểu mẫu đăng ký Guru" có các trường sau:
- Tên đầu tiên
- Họ
- tên tài khoản
- Mật khẩu
- Địa chỉ
- Số liên lạc
Sau khi điền tất cả các chi tiết này, chúng tôi có nút gửi, khi nhấp vào nút đó, tất cả các chi tiết sẽ được lưu trữ.
Đăng ký_1.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Biểu mẫu đăng ký Guru Biểu mẫu đăng ký Guru
Giải thích mã:
Dòng mã 11: Ở đây chúng ta đang lấy một tên biểu mẫu có hành động tức là servlet mà yêu cầu sẽ được xử lý và tên servlet là guru_register.java. Yêu cầu sẽ được xử lý thông qua phương thức POST.
Dòng mã 14-16: Ở đây chúng tôi đang sử dụng kiểu đầu vào là văn bản và tên là tên
Dòng mã 18-20: Ở đây chúng tôi đang sử dụng kiểu đầu vào là văn bản và tên là họ
Dòng mã 22-24: Ở đây chúng tôi đang sử dụng kiểu đầu vào là văn bản và tên là tên người dùng
Dòng mã 26-28: Ở đây chúng tôi đang sử dụng loại đầu vào làm mật khẩu (điều này sẽ ẩn mật khẩu khi nhập) và đặt tên làm mật khẩu
Dòng mã 30-32: Ở đây chúng tôi đang sử dụng loại đầu vào là văn bản và tên là địa chỉ
Dòng mã 34-36: Ở đây chúng tôi đang sử dụng loại đầu vào là văn bản và tên là liên hệ
Dòng mã 37: Ở đây chúng tôi đang thực hiện một nút loại gửi và giá trị cũng được gửi. Khi nhấp vào nút này, hành động sẽ chuyển đến guru_register servlet tương ứng, nơi tất cả các giá trị tham số sẽ được chuyển trong yêu cầu.
Guru_register.java
gói demo;nhập java.io.IOException;nhập javax.servlet.RequestDispatcher;nhập javax.servlet.ServletException;nhập javax.servlet.http.HttpServlet;nhập javax.servlet.http.HttpServletRequest;nhập javax.servlet.http.HttpServletResponse;/ *** Lớp triển khai Servlet guru_register* /public class guru_register mở rộng HttpServlet {tư tĩnh cuối cùng dài serialVersionUID = 1L;được bảo vệ void doPost (yêu cầu HttpServletRequest, phản hồi HttpServletResponse) ném ServletException, IOException {// VIỆC CẦN LÀM Sơ khai phương thức được tạo tự độngString first_name = request.getParameter ("first_name");String last_name = request.getParameter ("last_name");Tên người dùng String = request.getParameter ("tên người dùng");Chuỗi mật khẩu = request.getParameter ("mật khẩu");Địa chỉ chuỗi = request.getParameter ("địa chỉ");String contact = request.getParameter ("contact");if (first_name.isEmpty () || last_name.isEmpty () || username.isEmpty () ||password.isEmpty () || address.isEmpty () || contact.isEmpty ()){RequestDispatcher req = request.getRequestDispatcher ("register_1.jsp");req.include (yêu cầu, phản hồi);}khác{RequestDispatcher req = request.getRequestDispatcher ("register_2.jsp");req.ntic (yêu cầu, phản hồi);}}}
Giải thích mã:
Dòng mã 14: Ở đây chúng tôi định nghĩa guru_servlet mở rộng HttpServlet.
Dòng mã 18: Phương thức action doPost () này sẽ được gọi khi chúng ta đề cập đến thuộc tính POST trong action trong biểu mẫu JSP ở trên.
Dòng mã 20-25: Ở đây chúng tôi đang tìm nạp các giá trị từ request, tức là tên_bạn, tên_bạn, tên người dùng, mật khẩu, địa chỉ và địa chỉ liên hệ bằng cách sử dụng request.getParameter.
Dòng mã 27-32: Ở đây chúng tôi đang sử dụng điều kiện if trong đó chúng tôi kiểm tra bất kỳ tham số nào được tìm nạp từ yêu cầu xem chúng có trống hay không. Nếu bất kỳ tham số nào trống thì nó sẽ nhập điều kiện này (first_name.isEmpty () || last_name.isEmpty || username.isEmpty || password.isEmpty || address.isEmpty || contact.isEmpty ()) và chúng ta có để tìm nạp đối tượng RequestDispatcher bằng đối tượng request sẽ chuyển tiếp yêu cầu tới register_1.jsp. Ở đây chúng tôi cũng bao gồm các đối tượng yêu cầu và phản hồi.
Dòng mã 33-37: Trường hợp này sẽ thực thi khi bất kỳ tham số nào không trống. Chúng ta sẽ phải tìm nạp đối tượng requestDispatcher bằng cách sử dụng đối tượng request sẽ chuyển tiếp yêu cầu tới register_2.jsp. Ở đây chúng ta đang chuyển tiếp các đối tượng yêu cầu và phản hồi.
Đăng ký_2.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Trang thành công của Guru Chào mừng người dùng !!!!
Giải thích mã:
Dòng mã 10: Ở đây chúng tôi đang nói rằng chào mừng người dùng. JSP này sẽ được gọi khi tất cả các tham số được điền đầy đủ.
Khi bạn thực thi đoạn mã trên, bạn nhận được kết quả sau:
Đầu ra:
Khi chúng ta nhấp vào register_1.jsp, chúng ta sẽ nhận được một biểu mẫu có các chi tiết như tên, họ, tên người dùng, mật khẩu, địa chỉ, liên hệ. Tất cả các chi tiết đã được điền. Khi chúng tôi nhấp vào nút gửi thì chúng tôi nhận được thông báo là "Chào mừng người dùng"
Đăng nhập và đăng xuất biểu mẫu
Giống như biểu mẫu đăng ký chúng ta sẽ có biểu mẫu đăng nhập và đăng xuất.
Trong ví dụ này, chúng tôi đã sử dụng biểu mẫu Đăng nhập trong đó chúng tôi có hai trường "tên người dùng" và "mật khẩu" với nút gửi.
Khi chúng tôi nhấp vào nút gửi thì chúng tôi sẽ nhận được thông báo chào mừng với nút đăng xuất.
Khi chúng ta nhấp vào nút đăng xuất sau đó chúng ta quay lại biểu mẫu đăng nhập.
Register_3.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Biểu mẫu đăng nhập Guru
Giải thích mã:
Dòng mã 10: Ở đây chúng ta đang lấy một tên biểu mẫu có hành động tức là servlet mà nó đã truyền vào đó là guru_login.java. Phương thức mà nó sẽ chuyển qua POST của nó.
Dòng mã 13-16: Ở đây chúng tôi đang lấy một trường đầu vào "tên người dùng" thuộc loại văn bản.
Dòng mã 17-20: Ở đây chúng tôi đang lấy một trường nhập "mật khẩu" thuộc loại mật khẩu.
Dòng mã 22: Ở đây chúng ta đang sử dụng nút "gửi" với giá trị "Đăng nhập" mà chúng ta nhấp vào, sau đó nó sẽ chuyển đến servlet guru_login nơi cả hai trường đều được sử dụng đối tượng request.
Guru_login.java (servlet)
gói demo;nhập java.io.IOException;nhập javax.servlet.RequestDispatcher;nhập javax.servlet.ServletException;nhập javax.servlet.http.HttpServlet;nhập javax.servlet.http.HttpServletRequest;nhập javax.servlet.http.HttpServletResponse;/ *** Lớp triển khai Servlet guru_login* /public class guru_login mở rộng HttpServlet {public guru_login () {siêu();// VIỆC CẦN LÀM Sơ khai của hàm tạo được tạo tự động}được bảo vệ void doPost (yêu cầu HttpServletRequest, phản hồi HttpServletResponse) ném ServletException, IOException {// VIỆC CẦN LÀM Sơ khai phương thức được tạo tự độngTên người dùng String = request.getParameter ("tên người dùng");Chuỗi mật khẩu = request.getParameter ("mật khẩu");if (username.isEmpty () || password.isEmpty ()){RequestDispatcher req = request.getRequestDispatcher ("register_3.jsp");req.include (yêu cầu, phản hồi);}khác{RequestDispatcher req = request.getRequestDispatcher ("register_4.jsp");req.ntic (yêu cầu, phản hồi);}}}
Giải thích mã:
Dòng mã 5-9: Ở đây chúng tôi đang nhập các nhập khẩu cần thiết trong mã.
Dòng mã 14: Ở đây chúng tôi đang sử dụng guru_login servlet mở rộng HttpServlet.
Dòng mã 21: Ở đây chúng ta đang sử dụng phương thức doPost () như trong biểu mẫu chúng ta đang sử dụng phương thức POST.
Dòng mã 23-24: Ở đây chúng tôi lấy các tham số sử dụng đối tượng yêu cầu tức là tên người dùng và mật khẩu.
Dòng mã 25-29: Theo cách này, chúng tôi đang sử dụng điều kiện "nếu" trong đó chúng tôi đang kiểm tra tên người dùng và mật khẩu xem chúng có trống hay không. Trong trường hợp này nếu nó trống thì chúng tôi nhận được đối tượng requestdispatcher chuyển tiếp đến register_3.jsp với các đối tượng yêu cầu và phản hồi.
Dòng mã 30-34: Điều này sẽ được thực thi nếu cả hai đều không trống thì nó sẽ chuyển tiếp yêu cầu tới register_4.jsp với các đối tượng request và response.
Register_4.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Guru đã đăng nhập
<% String tên người dùng = request.getParameter ("tên người dùng"); %> Chào mừng <% out.println (tên người dùng); %> Người dùng !!!! Bạn đã đăng nhập. | ||
Đăng xuất < / td> |
Giải thích mã:
Dòng mã 12: Ở đây chúng ta đang nhận tham số "tên người dùng" từ đối tượng yêu cầu trong tên người dùng đối tượng chuỗi.
Dòng mã 13: Ở đây chúng tôi có một thông báo chào mừng với tên người dùng.
Dòng mã 14: Tại đây chúng tôi liên kết để đăng xuất biểu mẫu chuyển hướng đến register_3.jsp.
Khi bạn thực thi đoạn mã trên, bạn sẽ nhận được kết quả sau:
Đầu ra:
Ở đây khi chúng ta nhấp vào register_3.jsp, chúng ta sẽ nhận được hai trường "tên người dùng" và "mật khẩu" với một nút đăng nhập.
Sau khi nhấp vào nút Đăng nhập, bạn sẽ nhận được thông báo bên dưới với nút Đăng xuất.
Khi bạn nhấp vào nút đăng xuất, bạn sẽ quay lại trang đăng nhập