Thông tin tài liệu:
Có nhiều phương pháp để xây dựng một
ứng dụng web động như: sử dụng công
nghệ Php, Asp.Net, Java(servlet/jsp),… Để xây dựng web bằng công nghệ Java
thì phải có hiểu biết về Jsp, Servlet và mô
hình MVC. Bài viết này giới thiệu tổng quát về Jsp,
Servlet, và mô hình MVC.
Nội dung trích xuất từ tài liệu:
Sơ lược về lập trình web với Servlet và Jsp
Sơ lược về
lập trình web với
Servlet và Jsp
Nguyễn Hoàng Hùng 5/2010
Nội dung
Giới thiệu chung
Giới thiệu về Servlet
Giới thiệu về Jsp
Mô hình MVC 1
Mô hình MVC 2
Tổng kết.
Giới thiệu chung
Có nhiều phương pháp để xây dựng một
ứng dụng web động như: sử dụng công
nghệ Php, Asp.Net, Java(servlet/jsp),…
Để xây dựng web bằng công nghệ Java
thì phải có hiểu biết về Jsp, Servlet và mô
hình MVC.
Bài viết này giới thiệu tổng quát về Jsp,
Servlet, và mô hình MVC.
Giới thiệu về Servlet
Servlet là gì ?
Servlet là một lớp Java ở phía server được thiết
kế để xử lý những yêu cầu HTTP từ phía client
và sinh ra nội dung động trả về cho client.
Ví dụ về Servlet
Ví dụ: HelloWorld.java
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,
IOException
{
PrintWriter out = response.getWriter();
out.println(\n +
Hello World\n +
\n +
Hello World\n +
);
}}
Giới thiệu về Jsp
Jsp là gì ?
Jsp là kịch bản phía server, là sự mở rộng của
servlet để đơn giản hóa việc thiết kế giao diện,
trang jsp có thể chứa html, xlm và các thẻ jsp
riêng biệt.
Quá trình yêu cầu một trang jsp
1. Client yêu cầu một trang Jsp Web server
2. Bộ máy Jsp dịch trang Jsp thành một servlet
Trang Jsp
(*.jsp)
1
2
Trình Servlet
duyệt được dịch từ trang Jsp
web (*.java)
4
3
Servlet
đã được biên dịch
. Servlet được biên dịch và được nạp vào bộ nhớ (*.class)
. Servlet phục vụ yêu cầu và gửi đáp ứng về client
Vídụ: HelloWorld.jsp
Hello
World
Lập trình theo mô hình MVC
Nếu xây dựng ứng dụng web mà chỉ sử
dụng servlet thì rất khó khăn để nhúng
mã html vào mã java.
Nếu chỉ dùng jsp thì lại lộn xộn trong việc
nhúng mã java vào mã html.
Vì vậy phải kết hợp servlet và jsp.
Sử dụng mô hình MVC để kết hợp servlet
và jsp được sử dụng phổ biến.
Mô hình MVC 1
Mô hình MVC 1 còn được gọi là mô hình
lập trình cổ điển.
Người thiết kế giao diện cũng là người lập
trình.
Khó tìm lỗi và bảo trì vì mã Java lẫn lộn
mã Html.
Sơ đồ biểu diễn mô hình MVC 1
Mô hình MVC 2
Khắc phục những khuyết điểm của mô
hình 1.
Chia ứng dụng thành 3 phần rõ ràng:
Model – View – Controller.
Người thiết kế giao diện không phụ thuộc
vào người viết mã.
Sơ đồ biểu diễn mô hình MVC 2
Ví dụ MVC2
Tạo một ứng dụng đăng nhập theo mô
hình MVC2:
View: Login.jsp, LoginFail.jsp, LoginSuccess.jsp
Model: DataConnect.java, UserInfo.java
Controller: LoginServlet.java
Ví dụ MVC2 – view – Login.jsp
Ví dụ MVC2 – view – LoginSuccess.jsp
Ví dụ MVC2 – view – LoginFail.jsp
Login Fail
Login fail
Return to Login page
Ví dụ MVC2 – controller – LoginServlet.java
package controller;
import ….
public class LoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
RequestDispatcher myRD = null;
String myUsername = request.getParameter(username);
String myPassword = request.getParameter(password);
DataConnect myDC = new DataConnect();
if (myUsername == null || myUsername.trim().length() == 0) {
• myRD = request.getRequestDispatcher(LoginFail.jsp);
} else {
• UserInfo myUserInfo = myDC.connectDatabase(myUsername,
myPassword);
• request.setAttribute(userinfo, myUserInfo);
• if (myUserInfo == null) {
myRD = request.getRequestDispatcher(LoginFail.jsp);
• } else {
myRD = request.getRequestDispatcher(LoginSuccess.jsp);
• }}myRD.forward(request, response);}}
Ví dụ MVC2 – model – UserInfo.java
package model;
public class UserInfo {
private String gUsername;
private String gFullname;
private String gAddress;
private String gPassword;
public String getgUsername() {
return gUsername;
}
public void setgUsername(String gUsername) {
this.gUsername = gUsername;
}
…………
}