English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Servlet 实例

Servlet è il servizio HTTP e implementare javax.servlet.Servlet La classe Java dell'interfaccia. Gli sviluppatori di applicazioni web scrivono di solito Servlet per estendere javax.servlet.http.HttpServlet e implementare l'astratto classe dell'interfaccia Servlet specificamente utilizzata per gestire le richieste HTTP.

Esempio di codice Hello World

Di seguito è riportato un esempio di codice sorgente Servlet che esce Hello World:

// Importare le librerie java necessarie
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
// Estendere la classe HttpServlet
public class HelloWorld extends HttpServlet {
 
  private String message;
  public void init() throws ServletException
  {
      // Eseguire l'inizializzazione necessaria
      message = "Hello World";
  }
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // Impostare il tipo di contenuto della risposta
      response.setContentType("text/html");
      // La logica reale è qui
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>
  }
  
  public void destroy()
  {
      // Non fa nulla
  }
}

Compilazione Servlet

Scriviamo il codice sopra nel file HelloWorld.java, mettiamo questo file nella directory C:\ServletDevel (sul Windows) o /usr/ServletDevel (sul UNIX), e dovete anche aggiungere queste directory al CLASSPATH.

Supponiamo che l'ambiente sia stato configurato correttamente, entrate ServletDevel directory, e compilate HelloWorld.java come segue:

$ javac HelloWorld.java

Se il Servlet dipende da altre librerie, dovete includere quei file JAR nel CLASSPATH. In questo caso, ho incluso solo il file JAR servlet-api.jar, poiché non ho utilizzato altre librerie nel programma Hello World.

Questo comando di riga di comando utilizza il compilatore javac integrato nel software di sviluppo Java di Sun Microsystems (JDK). Per far funzionare questo comando, la variabile di ambiente PATH deve essere impostata con il percorso del SDK Java.

Se tutto va bene, il compilato sopra genererà il file HelloWorld.class nella stessa directory. La prossima sezione spiegherà come deployare il Servlet già compilato in produzione.

Deploimento Servlet

Per impostazione predefinita, l'applicazione Servlet è situata nel percorso <Tomcat-installation-directory>/webapps/ROOT e i file di classe sono posizionati in <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes.

Se avete un nome di classe qualificato completo com.myorg.MyServletquindi la classe Servlet deve essere situata in <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes/com/myorg/MyServlet.class.

Ora, copiamo HelloWorld.class nella directory <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes e nel percorso <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/ web.xml 在文件中创建以下条目:

<web-app>      
    <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>
</web-app>

上面的条目要被创建在 web.xml 文件中的 <web-app>...</web-app> 标签内。在该文件中可能已经有各种可用的条目,但不要在意。

到这里,您基本上已经完成了,现在让我们使用 <Tomcat-installation-directory>\bin\startup.bat(在 Windows 上)或 <Tomcat-installation-directory>/bin/startup.sh(在 Linux/Solaris 等上)启动 tomcat 服务器,最后在浏览器的地址栏中输入 http://localhost:8080/HelloWorld。如果一切顺利,您会看到下面的结果: