2012-08-27 16 views
23

Tôi đang sử dụng Eclipse EE Juno và ứng dụng web hiện tại của tôi đang sử dụng Dynamic web modules 2.4. Tôi đang cố gắng để bump phiên bản lên đến 3,0 nhưng đối với một số lý do tôi không thể. khi tôi cố gắng thay đổi phiên bản trong các khía cạnh dự án, tôi nhận được Cannot change version of project facet Dynamic Web Module to 3.0. Có thể có một số dòng bunk trong tệp web.xml của tôi xác định điều này không? Làm cách nào để tôi thay đổi phiên bản Mô-đun web động nếu không phải từ cài đặt khía cạnh dự án Eclipse một mình?Ứng dụng web Java - Điều gì xác định phiên bản API Servlet của tôi? Nó có được chỉ định trong web.xml không?

Trả lời

38

Servlet 2.4 trong web.xml:

<web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation=" 
    http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 

Servlet 3,0 trong web.xml:

<web-app version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation=" 
    http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 

Đó là sự khác biệt duy. Phần còn lại là cấu hình IDE của bạn. Để sử dụng Servlet 3.0, bạn phải có 3.0 JAR trên CLASSPATH để các chú thích mới và các lớp khác có sẵn. Nhưng không bao gồm servlet JAR trong WAR của bạn, việc triển khai sẽ đến từ thùng chứa servlet.

+1

[Servlet 3.1] (https://jcp.org/en/jsr/detail?id=340) hiện có hiệu lực từ 2013-05. Xem [Wikipedia] (https://en.wikipedia.org/wiki/Java_servlet#History) cho lịch sử. –

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