Serwlety - przykłady

Serwlety to klasy Java obsługujące żądania HTTP i implementujące javax.servlet.Servletberło. Twórcy aplikacji internetowych zazwyczaj piszą serwlety, które rozszerzają javax.servlet.http.HttpServlet, klasę abstrakcyjną implementującą interfejs Servlet i specjalnie zaprojektowaną do obsługi żądań HTTP.

Przykładowy kod

Poniżej przedstawiono przykładową strukturę kodu źródłowego przykładowego serwletu, aby pokazać Hello World -

// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// Extend HttpServlet class
public class HelloWorld extends HttpServlet {
 
   private String message;

   public void init() throws ServletException {
      // Do required initialization
      message = "Hello World";
   }

   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      // Set response content type
      response.setContentType("text/html");

      // Actual logic goes here.
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
   }

   public void destroy() {
      // do nothing.
   }
}

Kompilowanie serwletu

Utwórzmy plik o nazwie HelloWorld.java z kodem pokazanym powyżej. Umieść ten plik w C: \ ServletDevel (w systemie Windows) lub w / usr / ServletDevel (w systemie Unix). Ta lokalizacja ścieżki musi zostać dodana do CLASSPATH przed kontynuowaniem.

Zakładając, że twoje środowisko jest poprawnie skonfigurowane, wejdź ServletDevel katalog i skompiluj HelloWorld.java w następujący sposób -

$ javac HelloWorld.java

Jeśli serwlet jest zależny od innych bibliotek, musisz również dołączyć te pliki JAR do swojej CLASSPATH. Załączam tylko plik JAR servlet-api.jar, ponieważ nie używam żadnej innej biblioteki w programie Hello World.

Ten wiersz poleceń używa wbudowanego kompilatora javac, który jest dostarczany z zestawem Sun Microsystems Java Software Development Kit (JDK). Aby to polecenie działało poprawnie, należy uwzględnić lokalizację używanego zestawu Java SDK w zmiennej środowiskowej PATH.

Jeśli wszystko pójdzie dobrze, powyższa kompilacja da HelloWorld.classplik w tym samym katalogu. W następnej sekcji wyjaśniono, jak skompilowany serwlet zostanie wdrożony w środowisku produkcyjnym.

Wdrażanie serwletów

Domyślnie aplikacja serwletu znajduje się w ścieżce <Tomcat-installationdirectory> / webapps / ROOT, a plik klasy znajdowałby się w <Tomcat-installationdirectory> / webapps / ROOT / WEB-INF / classes.

Jeśli masz w pełni kwalifikowaną nazwę klasy com.myorg.MyServlet, to ta klasa serwletu musi znajdować się w WEB-INF / classes / com / myorg / MyServlet.class.

Na razie skopiujmy HelloWorld.class do <Tomcat-installationdirectory> / webapps / ROOT / WEB-INF / classes i utwórzmy następujące wpisy w web.xml plik znajdujący się w <Tomcat-installation-directory> / webapps / ROOT / WEB-INF /

<servlet>
   <servlet-name>HelloWorld</servlet-name>
   <servlet-class>HelloWorld</servlet-class>
</servlet>

<servlet-mapping>
   <servlet-name>HelloWorld</servlet-name>
   <url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>

Powyższe wpisy do utworzenia wewnątrz tagów <web-app> ... </web-app> dostępnych w pliku web.xml. W tej tabeli mogą być już dostępne różne wpisy, ale nieważne.

Prawie gotowe, teraz uruchommy serwer Tomcat za pomocą katalogu <Tomcat-installationdirectory> \ bin \ startup.bat (w systemie Windows) lub <Tomcat-installationdirectory> /bin/startup.sh (w systemie Linux / Solaris itp.) I na koniec wpisz http://localhost:8080/HelloWorldw polu adresu przeglądarki. Jeśli wszystko pójdzie dobrze, otrzymasz następujący wynik