Przeczytałem odpowiedź od Tomasza Nurkiewicza, która została przegłosowana przez 22 osoby do tej pory. Pamiętaj, że odpowiedział 4 lata temu.
Zastanawiam się, dlaczego potrzebuję prawie pustego pliku xml?
Próbowałem ze świata powitania z 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>");
}
}
I jestem w stanie uruchomić ten mały internetową aplikację pomyślnie.
Ważna uwaga:
proszę pamiętać, że nie istnieje web.xml istnieje w tej próbce.
Więc my NIE potrzebę tego rodzaju niemal pustym web.xml.
ale web.xml jest obowiązkowe, jeśli trzeba uwierzytelniania opartego na formularzu (ale bez bezpieczeństwa wiosna) .because istnieje ma odpowiednika adnotacja dostępny dla <login-config
>.
Zgodnie z tym stanowiskiem w 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>
... jedyny sposób konfigurowania uwierzytelniania opartego na formularzu jest za pomocą deskryptora wdrażania web.xml (lub web-fragment.xml).
Według JSR-315 Servlet 3.0 Specyfikacja :: Ch13.6.3 (pg132):
„Wstęga aplikacja deskryptor rozmieszczenia zawiera wpisy dla postaci logowania i strony błędu ..."
Specyfikacja tylko dotyczy deskryptorze internetowej o konfiguracji formy, logowania oraz nie do żadnego adnotacją -na konfiguracja
UPDATE.
Powyższy strike informacja o wyjściu jest związana z językiem Java EE6.
W Javie EE7, możemy zrobić forma uwierzytelniania opartego programowy sposób ..
Z Java EE7 official tutorial,
48.3.1 uwierzytelniania użytkowników programowo
Poniższe metody interfejsu HttpServletRequest umożliwiają użytkownikowi uwierzytelnienie użytkowników aplikacji internetowej. tically.
uwierzytelnienia umożliwia zastosowanie rozpoczęta uwierzytelnienia żądanie wywołującego przez pojemnik z wnętrza na nieograniczony żądanie kontekście. Okno dialogowe logowania wyświetla i zbiera nazwę użytkownika i hasło do uwierzytelniania.
logowanie umożliwia aplikację do zbierania nazwę użytkownika i hasło informacje jako alternatywnego do określania formy uwierzytelniania opartego w deskryptorze wdrażania aplikacji .
Wylogowanie umożliwia aplikacji zresetowanie tożsamości dzwoniącego żądania .
Nie potrzebujesz żadnego web.xml w ogóle. Proszę spojrzeć [tutaj] [1]. Wyjaśnione. [1]: http://stackoverflow.com/questions/9967062/servlet-3-0-import-package-of-annotation –