English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La struttura delle applicazioni web che coinvolgono la sottodirectory WEB-INF è lo standard di tutti gli applicativi web Java e è specificata dalla normativa Servlet API. Data una nomea di directory principale myapp, la struttura della directory è come segue:
/myapp /images /WEB-INF /classes /lib
La sottodirectory WEB-INF contiene la descrizione di distribuzione dell'applicazione, denominata web.xml. Tutti i file HTML si trovano nel percorso di livello superiore myapp di seguito. Per l'utente admin, troverai che la directory ROOT è il percorso padre di myApp.
La directory WEB-INF/classes contiene tutte le classi Servlet e altri file di classe, la struttura della directory delle classi corrisponde ai loro nomi di pacchetto. Ad esempio, se hai un nome di classe qualificato com.myorg.MyServletAllora questa classe Servlet deve essere situata nella directory seguente:
/myapp/WEB-INF/classes/com/myorg/MyServlet.class
Di seguito è riportato un esempio di creazione di un pacchetto denominato com.myorg La classe MyServlet.
// Dare un nome al pacchetto package com.myorg; // Importare le librerie java necessarie import java.io.*; import javax.servlet.*; import javax.servlet.http.*; @WebServlet("/MyServlet") public class MyServlet 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;charset=UTF-8"); // La logica effettiva è qui PrintWriter out = response.getWriter(); out.println("<h1>" + message + "</h1>"); } public void destroy()} { // Non fare nulla } }
La compilazione delle classi nel pacchetto non è molto diversa dalla compilazione di altre classi. Il metodo più semplice è mantenere il percorso completo del file java, come il file di classe menzionato sopra, che sarà conservato in com.myorg. È necessario anche aggiungere questa directory al CLASSPATH.
Supponendo che l'ambiente sia stato configurato correttamente, entra <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes La directory, e compilare MyServlet.java come segue:
$ javac MyServlet.java
Se il Servlet dipende da altre librerie, è necessario anche menzionare quei file JAR nel CLASSPATH. In questo esempio, ho menzionato solo il file JAR servlet-api.jar, poiché non utilizzo altre librerie nel mio programma Hello World.
Questo comando di riga di comando utilizza il compilatore javac integrato, che è incluso nel Java Software Development Kit (JDK, acronimo di Java Software Development Kit) di Sun Microsystems. Il JDK di Sun Microsystems. Per far funzionare correttamente questo comando, è necessario includere la posizione del Java SDK che si utilizza nell'ambiente PATH.
Se tutto va bene, la compilazione menzionata sopra genererà MyServlet.class Il file. La sezione successiva spiegherà come distribuire un Servlet compilato in produzione.
Per impostazione predefinita, l'applicazione Servlet è posizionata nella directory <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 com.myorg.MyServletQuindi, questa classe Servlet deve essere posizionata in WEB-INF/classes/com/myorg/MyServlet.class, è necessario creare la seguente voce nel file web.xml situato in <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/
<servlet> <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>
Le voci di sopra devono essere create all'interno del tag <web-app>...</web-app> del file web.xml. Potrebbero già esserci vari elementi disponibili in questo file, ma non preoccupatevi.
Arrivati a questo punto, avete praticamente finito. Ora, utilizzate <Tomcat-installation-directory>\bin\startup.bat (su Windows) o <Tomcat-installation-directory>/bin/startup.sh (su Linux/Solaris ecc.) per avviare il server Tomcat, infine inserite nell'indirizzo del browser http://localhost:8080/MyServletSe tutto va bene, vedrete i risultati di seguito:
Ciao Mondo |