2012-04-01 10 views
12

Chcę poznać strukturę katalogów do korzystania z serwletu 3.0 z Tomcat 7. Użyłem adnotacji @WebServlet bez parametrów inicjalizacji.servlet 3.0 @WebServlet use .. co będzie w web.xml?

Chcę wiedzieć, co ma być napisane w pliku web.xml, a następnie? Czy i nadal należy napisać ...?

Plik jest przechowywany w folderze classes tomcat.

+3

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 –

Odpowiedz

23

To wszystko, czego potrzebujesz w web.xml:

<web-app 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" 
    version="3.0"> 

3,0-kompatybilny kontener serwletów (jak Tomcat 7) znajdzie @WebServlet automatycznie.

+0

ok thanks..so domyślny web.xml będzie dobrze .. – user460920

+0

Czy jakikolwiek atrybut jest obowiązkowy dla tych adnotacji @WebServlet ?? – user460920

+0

import javax.servlet.annotation.WebServlet; Co to jest aplet, adnotacja i WebServlet klasy lub interfejsu w pakiecie javax? – user460920

2

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.

enter image description here

Ważna uwaga:

proszę pamiętać, że nie istnieje web.xml istnieje w tej próbce.

enter image description here

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 .

+0

dlaczego w dół? proszę, proszę. –

+0

Pytanie brzmi ... co będzie w web.xml? Odpowiedziałem, że "nic" będzie w tym. Czy jest coś złego w komentowaniu drugiej odpowiedzi? Jestem zdziwiony. –

Powiązane problemy