Latest web development tutorials

pakiet Servlet

Odnosi się do struktury podkatalogu WEB-INF Aplikacja internetowa jest standardem dla wszystkich aplikacji internetowych Java, określonych w specyfikacji Servlet API. Biorąc pod uwagę najwyższego poziomu nazwa katalogu myapp, struktura katalogów jest następująca:

/ MojaAplikacja
    / Images
    / WEB-INF
        / Klasy
        / lib

podkatalogu WEB-INF zawiera deskryptora wdrażania aplikacji o nazwie web.xml. Wszystkie pliki HTML znajdują się wmyappkatalogu najwyższegopoziomu.Dla użytkownika administratora, znajdziesz w katalogu głównym jest myApp katalogu nadrzędnego.

Tworzenie pakietu Servlet

WEB-INF / classes zawiera wszystkie klasy Servlet i innych rodzajów dokumentów, plik klasy meczu struktura katalogów z ich nazwą pakietu. Na przykład, jeśli masz pełną nazwę klasycom.myorg.MyServlet, to klasa Servlet musi znajdować się w następujących katalogach:

/myapp/WEB-INF/classes/com/myorg/MyServlet.class

Poniższy przykład tworzy MyServlet klasy pakiet o nazwiecom.myorgr.

// Dla pakietu o nazwie pakietu com.myorg;  

// Importu konieczne java biblioteki import java.io. *;
import javax.servlet * .;
import javax.servlet.http * .;
 
public class MyServlet rozszerza HttpServlet {
 
  prywatną wiadomość String;
 
  public void init () wyrzuca ServletException
  {
      // Wykonaj żądaną wiadomość inicjalizacji = "Hello World";
  }
 
  public void doGet (HttpServletRequest request,
                    HttpServletResponse odpowiedź)
            rzuca ServletException, IOException
  {
      // Ustaw typ zawartości odpowiedzi response.setContentType ( "text / html; charset = UTF-8");
 
      // Rzeczywista logika jest tu PrintWriter out = response.getWriter ();
      out.println ( "<h1>" + + message "</ h1>");
  }
  
  public void destroy ()
  {
      // Nic nie rób}
}

Skompilowany pakiet Servlet

Skompilowane klasy pakietowe i inne zajęcia skompilowany nie wielka różnica. Najłatwiej jest dostać pliki java pozostają pełną ścieżkę do klasy, jak wspomniano powyżej, zostaną zachowane w com.myorg. Należy również dodać katalog w CLASSPATH.

Załóżmy, że środowisko jest prawidłowo skonfigurowane, należy wprowadzić<Tomcat-instalacja-directory> / webapps / ROOT / WEB-INF / classes katalogu i skompilować MyServlet.java, co następuje:

$ Javac MyServlet.java

Jeśli Servlet polegać na innych bibliotek, należy również przytoczyć te plik JAR w ścieżce klasy. Ja tylko cytuje plik JAR servlet-api.jar, bo nie używać innej biblioteki w programie Hello World.

Linia poleceń używa wbudowanego kompilatora javac, który jest Sun Microsystems Java Software Development Kit (JDK, pełna nazwa Java Software Development Kit), który pochodzi. Zestaw Microsystems Java rozwoju oprogramowania (JDK). Aby polecenie działał prawidłowo, musi ona zawierać lokalizację Java SDK używasz zmiennej środowiskowej PATH.

Jeśli wszystko pójdzie dobrze, to kompilator wygeneruje plikMyServlet.class w tym samym katalogu.Następna sekcja wyjaśni, jak to skompilowane Servlet wdrożony do produkcji.

Wdrożenie pakietu Servlet

Domyślnie aplikacja serwletów w ścieżce <Tomcat pod-instalacji-directory> / webapps / ROOT, a pliki klasa w <Tomcat-instalacji-directory> / webapps / ROOT / WEB-INF / classes in.

Jeśli masz pełną nazwę klasycom.myorg.MyServlet, to klasa serwletu musi być w WEB-INF / classes / com / myorg / MyServlet.class , czego potrzebujesz znajduje się w <Tomcat-instalacji-directory> / webapps / Utwórz plik / web.xml następujący wpis ROOT / WEB-INF:

    <Serwletu>
        <Servlet-name> MyServlet </ servlet-name>
        <Servlet-class> com.myorg.MyServlet </ servlet-class>
    </ Servlet>
 
    <Servlet-mapping>
        <Servlet-name> MyServlet </ servlet-name>
        <Url-pattern> / MyServlet </ url-pattern>
    </ Servlet-mapping>

Powyższe zapisy mają być utworzone w pliku web.xml <web-app> wewnątrz ... </ web-app> tag. W tym pliku można mieć wiele elementów dostępnych, ale nie obchodzi.

Tutaj są prawie gotowe, teraz użyjmy <Tomcat-Montaż-directory> \ bin \ startup.bat (w systemie Windows) lub <Tomcat-Montaż-directory> /bin/startup.sh (w systemie Linux / Solaris i tak dalej), aby uruchomić serwer tomcat, i wreszcie wprowadzićhttp w paskuadresuprzeglądarki: // localhost: 8080 / MyServlet.Jeśli wszystko pójdzie dobrze, będzie można zobaczyć następujące wyniki:

Hello World