Sau đây là một số lỗi cơ bản có thể bạn có thể gặp trong quá trình xây dựng một ứng dụng JSP – Servlet, điều này là thường tình vì không phải ai cũng quá giỏi để làm mà không lỗi, và không phải lỗi nào bạn cũng có thể tự biết cách sửa, sau đây là cách sửa một số lỗi bạn hãy đọc tham khảo:
1. Lỗi hiển thị tiếng Việt trong JSP – Servlet:
Đây là lỗi chắc bạn sẽ dễ bắt gặp nhất, tiếng Việt của chúng ta thật phong phú nhưng cũng kéo theo đó là quá rắc rối khi hiển thị các kí tự dấu… trong khi một số ngôn ngữ như tiếng Anh bạn sẽ không hề bị lỗi như thế này.
Cách khắc phục lỗi hiển thị tiếng Việt trong JSP – Servlet cũng đơn giản không kém, bạn chỉ cần cấu hình lại font UTF-8 là xong, hãy làm như sau:
Ở trang HTML bạn sẽ chèn 2 đoạn mã sau vào, một cái chèn trên thẻ <html> và còn lại bạn sẽ chèn sau thẻ <head> là được:
1
2
3
4
5
6
7
8
9
10
11
|
<%@page contentType=“text/html” pageEncoding=“UTF-8”%>
<!DOCTYPE html>
<html>
<head>
<meta http–equiv=“Content-Type” content=“text/html; charset=UTF-8”>
<title>Kênh Lập Trình</title>
</head>
<body>
<p>Chào mừng bạn đến với Kênh Lập Trình!</p>
</body>
</html>
|
Còn ở controller xử lý, ở đây là Servlet thì bạn chèn thêm đoạn mã sau vào trong thẻ POST hoặc GET:
1
2
3
4
5
6
7
|
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding(“utf-8”);
response.setCharacterEncoding(“utf-8”);
System.out.println(“Chào mừng bạn đến với Blog Kênh Lập Trình!”);
}
|
2. Lỗi chuyển trang trong JSP – Servlet:
Vỡi lỗi chuyển trang trong JSP – Servlet thì bạn nên hiểu rõ sự khác nhau giữa RequestDispatcher và sendRedirect là có thể khắc phục lỗi này:
3. Làm gì khi website bị lỗi 400, 404, 500…
Khi thiết kế web bạn cố gắng hạn chế những lỗi có thể xảy ra nhưng mọi cố gắng của bạn cũng chỉ có giới hạn, sẽ có đôi lúc website bạn hiển thị thông báo lỗi 400, 404, 500… khiến người dùng cảm thấy phiền toái và không biêt phải làm sao. Vậy trong trường hợp này sửa lỗi 400, 500… trong JSP – Servlet phải làm sao đây?
1xx: yêu cầu được xử lý
2xx: xử lý yêu cầu thành công
3xx: chuyển hướng
4xx: yêu cầu sai cú pháp
5xx: máy chủ lỗi
Vỡi lỗi này mình nghĩ bạn nên tạo ra một trang ví dụ error.jsp dùng để hiển thị thông báo lỗi cho người dùng biết là cách hiện quả và gây thiện cảm tốt cho người dùng. Bạn chỉ cần cấu hình lại file web.xml để nếu trong trường hợp xảy ra bất kì lỗi nào ở trên thì hệ thống tự chuyển ra trang thông báo lỗi cho người dùng, hãy làm như sau:
1
2
3
4
|
<error–page>
<error–code>404</error–code>
<location>/error4.jsp</location>
</error–page>
|
4. Lỗi kết nối đến cơ sở dữ liệu
Khi bạn xây dựng ứng dụng web thì thường sử dụng các hệ quản trị cở sở dữ liệu như MySQL, SQL Server… để quản lý dữ liệu cho hệ thống, tuy nhiên một lỗi cũng hay xuất hiện là bạn không thể kết nối được đến cơ sở dữ liệu này để lấy được dữ liệu. Vậy đâu là nguyên nhân gây ra tình trạng như trên?
– Kiểm tra xem bạn đã import thư viện kết nối chưa, và import có đúng thư viện tương ứng với mỗi loại hệ thống cơ sở dữ liệu hay không vì lỗi hệ quản trị cơ sở dữ liệu có một thư viện hỗ trợ riêng để kết nối đến các ứng dụng Java.
– Kiểm tra thông tin ở file kết nối có đúng không, ví dụ host, user, pass…
– Hoặc phần kết nối bạn không hề sai, nhưng chắc gì câu lệnh truy vấn lấy dữ liệu của bạn viết là chính xác, hãy test một vài hàm để xem thử kết quả như thế nào.
5. Lỗi không chạy được ứng dụng web trong JSP – Servlet:
Lỗi không chạy được ứng dụng web trong JSP – Servlet thường liên quan đến Server của bạn, đôi lúc bạn đã chạy Server rổi nên khi chạy tiếp nó bão lỗi đã bị trùng port. Cách khắc phục là bạn có thể tắt Server cũ đi và chạy mới, cách này chắc hiệu quả nhất. Hoặc cũng có thể port Server bạn không phải là 8080 như mặc định nên khi chạy báo lỗi, bạn nên chạy đúng như cấu hình Server.
Để hiểu thêm, bạn có thể theo dõi video dưới đây để hiểu rõ hơn cách khắc phục một vài lỗi mà mình vừa nhắc đến. Theo bạn, trong quá trình làm ứng dụng web bằng JSP – Servlet bạn còn gặp những trường hợp lỗi nào khác không, hãy chia sẻ đến mọi người sẽ giúp bạn khắc phục. Hay bạn đã từng gặp một vài lỗi nào đó mà mất vài tuần mới sửa được thì cũng nên chia sẻ để ai gặp lỗi này có thể sửa lỗi dễ dàng hơn.