Bài viết này sẽ hướng dẫn ngắn gọn cách bạn tạo ứng dụng Web JSP Servlet với JSTL, Tomcat 10 trên IntelliJ. Chi tiết về JSTL sẽ được đề cập trong bài viết khác. Bây giờ chúng ta bắt đầu tạo dự án nhé. Chúng ta tạo dự án JSP Servlet trên Tomcat 10 với IntelliJ.
Trên Tomcat 10, để chạy Servlet không bị lỗi 404 thì bạn chọn Version Jakarta EE 9 thay vì chọn Java EE 8
Bạn có thể gặp lỗi 404 với Tomcat 10 IntelliJ JSP Servlet Jakarta
HTTP Status 404 – Not Found
Type Status Report
Message The requested resource [/demo1_war_exploded/hello-servlet] is not available
Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
Apache Tomcat/10.0.5
1. Tạo project Java Web Application với Tomcat10 trên IntelliJ
2. Chọn version Jakarta EE 9
3. Chạy thử ứng dụng JSP Servlet
4. Configure trong pop.xml để thêm dependency cho JSTL
<dependency>
<groupId>jakarta.servlet.jsp.jstl</groupId>
<artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
<version>2.0.0</version>
</dependency>
5. Đăng ký thư viện ở file JSP
Trong phần đầu của trang JSP bạn khai báo sử dụng tablib JSTL
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
6. Sử dụng thử JSTL để test Bạn viết code, thử sử dụng JSTL xem có chạy được không
<body>
<c:set var="stuff" value="<%= new java.util.Date() %>" />
Time on the server is ${stuff}
</body>
7. Run và chạy thử ứng dụng
Code toàn bộ sẽ như sau
Sẽ hiển thị time như hình :) (chi tiết về các thẻ, tôi sẽ giải thích trong loạt bài viết khác)
LỖI 500: Tuy nhiên, bạn có thể gặp lỗi 500 do Web Server không load được JSTL
Bạn có thể gặp lỗi 500 Tomcat 10 IntelliJ JSP Servlet Jarkata
HTTP Status 500 – Internal Server Error
Type Exception Report
Message org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
hoặc lỗi
Error when testing JSTL using IDEA: Unable to parse absolute uri in web.xml or jar file deployed with this application: [http://java.sun.com/jsp/jstl/core]
Trong trường hợp đó, bạn có thể làm theo cách sau
1. Download trực tiếp file .jar về
Link download
2. Tạo folder lib trong WEB-INF, copy file .jar vào đó
4. Test lại, bạn có thể đã fix được bug. Nếu chưa đc mời bạn làm tiếp bước 5 :)
5. Vào phần File --> Project Structure rồi add thêm thư viện từ lib folder
Thêm thư viện jakarta.servlet.jsp.jstl-2.0.0.jar và jakarta.servlet.jsp.jstl-api-2.0.0.jar
từ trong folder lib của WEB-INF
vào phần Libraries
Add xong thì thư viện sẽ có trong danh sách như hình:
Trong phần Modules --> Dependencies thêm thư viện jakarta.servlet.jsp.jstl-2.0.0.jar và jakarta.servlet.jsp.jstl-api-2.0.0.jar
4. Kiểm tra và Chạy lại ứng dụng ;) mọi lỗi lầm sẽ qua <3
Yeahh ... và đây là kết quả <3
Chúc mừng bạn đã dùng được JSTL với Tomcat10 trên IntelliJ
إرسال تعليق