2012-01-03 40 views
32

Mọi thứ đều tốt và tôi đã có thể chạy dự án JSP này, đột nhiên một số điều đã xảy ra và chủ yếu là tất cả servlet của tôi nhận được lỗi chưa được giải quyết.HttpServlet không thể được giải quyết thành một loại .... đây có phải là lỗi trong nhật thực không?

Tôi biết nó vì cụ thể tập tin JAR không thể được tìm thấy cho biên soạn .. nhưng tôi "buildpath" là tốt và tôi đã không thực hiện bất kỳ thay đổi ..

Tôi đang mắc kẹt trong tình huống này ...

Cố gắng

  1. dự án làm sạch nhiều lần
  2. loại bỏ và thêm vào thư viện JRE
  3. loại bỏ và thêm máy chủ (Tomcat 7.0.23)
+0

trùng lặp: [Làm thế nào để nhập khẩu các API javax.servlet trong Eclipse của tôi dự án?] (http: // stackoverflow.com/questions/4076601/how-do-i-import-the-javax-servlet-api-in-my-eclipse-project) – BalusC

Trả lời

97

Bạn phải thiết lập thời gian chạy cho dự án web của bạn để cài đặt Tomcat bạn đang sử dụng; bạn có thể làm điều đó trong phần "Thời gian chạy được nhắm mục tiêu" của cấu hình dự án.

Bằng cách này, bạn sẽ cho phép Eclipse thêm các jars Java EE Web Profile của Tomcat vào đường dẫn xây dựng.

Hãy nhớ rằng lớp HttpServlet không có trong JRE, nhưng ít nhất là trong Hồ sơ web doanh nghiệp (ví dụ: thư mục thùng chứa/thư mục runtime servlet).

+0

Cảm ơn bạn rất nhiều nó đã sửa nó, nhưng tôi không biết tại sao nó chỉ bỏ chọn "Nhắm mục tiêu runtimes "ngày của riêng mình, khi tôi đã thực sự chạy dự án –

+0

bây giờ tôi nhận được một lỗi mới trong consol từ Tomcat " com.swiftant.jsp.LoginFilter không thể được đúc thành javax.servlet.Filter " –

+1

Kiểm tra này: là com .swiftant.jsp.LoginFilter thực sự triển khai đúng phiên bản của javax.servlet.Filter? –

-2

Tôi phải đối mặt với cùng một vấn đề trong nhật thực với tomcat7 với lỗi javax.servlet không thể được giải quyết. Nếu tôi chọn máy chủ trong chế độ thời gian chạy được nhắm mục tiêu và xây dựng lại dự án, thì lỗi của bạn sẽ được giải quyết.

1

Điều đó có nghĩa là bình servlet bị thiếu.

kiểm tra thư viện cho dự án của bạn. Cấu hình tải buildpath của bạn **

servlet-api.jar

** và nhập nó vào dự án của bạn.

1

Một giải pháp đơn giản cho tôi là đi đến Properties -> Java Build Path -> Order and Export, sau đó kiểm tra thư viện Apache Tomcat. Đây là giả định bạn đã đặt Tomcat làm đích triển khai của bạn và vẫn nhận được lỗi.

+0

Đây là những gì làm việc cho tôi. Apache Tomcat đã không được kiểm tra và ngay sau khi tôi kiểm tra nó, tôi đã ngừng nhận được lỗi. Trước khi thực hiện việc này, tôi phải tải xuống và giải nén Tomcat, sau đó thêm nó làm máy chủ trên Eclipse. – MicSokoli

0

Điều đó cũng xảy ra với tôi và lý do đã chọn sự kết hợp không phù hợp của phiên bản mô-đun web động và tomcat khi tạo dự án trong nhật thực. Tôi đã chọn Tomcat v9.0 cùng với mô-đun web động phiên bản 3.1 và nhật thực không thể giải quyết loại HttpServlet. Khi sử dụng Tomcat 7.0 cùng với Dynamic web module phiên bản 7.0, nhật thực tự động có thể giải quyết loại HttpServlet.

câu hỏi liên quan Dynamic Web Module option in Eclipse

Để kiểm tra phiên bản của tomcat nên được sử dụng cùng với các phiên bản khác nhau của Servlet và thông số kỹ thuật JSP tham khảo http://tomcat.apache.org/whichversion.html

Các vấn đề liên quan