Tôi đọc câu trả lời từ Tomasz Nurkiewicz đã được upvoted bởi 22 người cho đến bây giờ. Xin lưu ý, ông đã trả lời 4 năm trước.
Tôi tự hỏi tại sao tôi cần một tệp xml gần như trống rỗng?
Và tôi đã cố gắng với một thế giới hello với Servlet 3.
package com.servlet3;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/helloServlet3")
public class HelloServlet3 extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.print("<html><body>");
out.print("<h3>Hello Servlet</h3>");
out.print("</body></html>");
}
}
Và tôi có thể chạy ứng dụng web nhỏ này thành công.
Lưu ý quan trọng:
xin lưu ý, có không web.xml tồn tại trong mẫu này.
Vì vậy, chúng tôi không cần loại gần như rỗng web.xml.
nhưng, web.xml là bắt buộc, nếu bạn cần xác thực form-based (nhưng, mà không mùa xuân an ninh) .Bởi, có không chú thích tương đương sẵn cho <login-config
>.
Theo bài đăng này trong SO
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login</form-login-page>
<form-error-page>/login?event=Retry</form-error-page>
</form-login-config>
</login-config>
... cách duy nhất để cấu hình xác thực dựa trên hình thức là sử dụng bộ mô tả triển khai (web.xml hoặc web-fragment.xml).
Theo JSR-315 Servlet 3.0 Đặc điểm kỹ thuật :: Ch13.6.3 (pg132):
"Việc áp dụng mô tả triển khai web chứa mục cho một hình thức đăng nhập và trang lỗi ..."
Specification chỉ đề cập đến mô tả triển khai web cho cấu hình hình thức đăng nhập, và không để bất kỳ chú thích cấu hình dựa trên
UPDATE:.
Trên đây strike thông tin liên quan đến Java EE6.
Trong Java EE7, Chúng tôi có thể làm form-based authentication cách chương trình ..
Từ Java EE7 official tutorial,
48.3.1 Người dùng xác thực lập trình
Các phương thức sau của giao diện HttpServletRequest cho phép bạn xác thực người dùng cho một chương trình ứng dụng web tically.
xác thực cho phép một ứng dụng để kích động xác thực của người gọi yêu cầu bởi các container từ bên trong một yêu cầu không bị giới hạn ngữ cảnh. Hộp thoại đăng nhập hiển thị và thu thập tên người dùng và mật khẩu cho mục đích xác thực.
đăng nhập cho phép một ứng dụng để thu thập tên người dùng và mật khẩu thông tin như một thay thế việc xác định hình thức thẩm định dựa trên trong một ứng dụng triển khai mô tả.
logout cho phép một ứng dụng để thiết lập lại bản sắc người gọi được yêu cầu .
Bạn không cần bất kỳ tệp web.xml nào cả. Vui lòng xem [tại đây] [1]. Giải thích. [1]: http://stackoverflow.com/questions/9967062/servlet-3-0-import-package-of-annotation –