logo

Passos per crear un exemple de servlet

  1. Passos per crear el servlet amb el servidor Tomcat
    1. Creeu una estructura de directoris
    2. Creeu un servlet
    3. Compileu el servlet
    4. Creeu un descriptor de desplegament
    5. Inicieu el servidor i implementeu l'aplicació

Es donen 6 passos per crear un exemple de servlet . Aquests passos són necessaris per a tots els servidors.

L'exemple de servlet es pot crear de tres maneres:

  1. Amb la implementació de la interfície Servlet,
  2. En heretant la classe GenericServlet, (o)
  3. En heretant la classe HttpServlet

L'enfocament més utilitzat és estenent HttpServlet perquè proporciona un mètode específic de sol·licitud http com ara doGet(), doPost(), doHead() etc.

Aquí, anem a utilitzar servidor apache tomcat en aquest exemple. Els passos són els següents:

  1. Creeu una estructura de directoris
  2. Creeu un servlet
  3. Compileu el servlet
  4. Creeu un descriptor de desplegament
  5. Inicieu el servidor i implementeu el projecte
  6. Accediu al servlet

descarregueu aquest exemple de servlet
descarregar exemple de servlet estenent GenericServlet
descarregar exemple de servlet mitjançant la implementació de la interfície Servlet

1) Creeu estructures de directoris

El estructura de directoris defineix on posar els diferents tipus de fitxers perquè el contenidor web pugui obtenir la informació i respondre al client.

El Sun Microsystem defineix un estàndard únic que han de seguir tots els proveïdors de servidors. Vegem l'estructura de directoris que s'ha de seguir per crear el servlet.

Com podeu veure, el fitxer de classe servlet ha d'estar a la carpeta classes. El fitxer web.xml ha d'estar a la carpeta WEB-INF.


2) Creeu un servlet

Hi ha tres maneres de crear el servlet.
  1. Amb la implementació de la interfície Servlet
  2. En heretar la classe GenericServlet
  3. En heretar la classe HttpServlet
La classe HttpServlet s'utilitza àmpliament per crear el servlet perquè proporciona mètodes per gestionar les sol·licituds http com ara doGet(), doPost, doHead() etc.
En aquest exemple, crearem un servlet que amplia la classe HttpServlet. En aquest exemple, estem heretant la classe HttpServlet i proporcionant la implementació del mètode doGet(). Tingueu en compte que la sol·licitud d'obtenció és la sol·licitud predeterminada.

DemoServlet.java
 import javax.servlet.http.*; import javax.servlet.*; import java.io.*; public class DemoServlet extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException { res.setContentType('text/html');//setting the content type PrintWriter pw=res.getWriter();//get the stream to write the data //writing html in the stream pw.println(''); pw.println('Welcome to servlet'); pw.println(''); pw.close();//closing the stream }} 

3) Compileu el servlet

Per compilar el servlet, cal carregar el fitxer jar. Els diferents servidors proporcionen diferents fitxers jar:

Fitxer jarServidor
1) servlet-api.jarApache Tomcat
2) weblogic.jarWeblogic
3) javaee.jarPeix vidre
4) javaee.jarJBoss

Dues maneres de carregar el fitxer jar

  1. establir classpath
  2. enganxeu el fitxer jar a la carpeta JRE/lib/ext

Col·loqueu el fitxer java a qualsevol carpeta. Després de compilar el fitxer java, enganxeu el fitxer de classe del servlet WEB-INF/classes directori.


4)Creeu el descriptor de desplegament (fitxer web.xml)

El descriptor de desplegament és un fitxer xml, del qual Web Container obté la informació sobre el servidor que s'ha d'invocar.

El contenidor web utilitza l'analitzador per obtenir la informació del fitxer web.xml. Hi ha molts analitzadors xml com SAX, DOM i Pull.

Hi ha molts elements al fitxer web.xml. Aquí es donen alguns elements necessaris per executar el programa servlet simple.


fitxer web.xml
 sonoojaiswal DemoServlet sonoojaiswal /welcome 

Descripció dels elements del fitxer web.xml

Hi ha massa elements al fitxer web.xml. Aquí teniu la il·lustració d'alguns elements que s'utilitzen al fitxer web.xml anterior. Els elements són els següents:


representa tota l'aplicació.
és un subelement de i representa el servlet.
és el subelement de representa el nom del servlet.
és el subelement de representa la classe del servlet.
és subelement de . S'utilitza per mapejar el servlet.
és subelement de . Aquest patró s'utilitza al costat del client per invocar el servlet.

5) Inicieu el servidor i implementeu el projecte

Per iniciar el servidor Apache Tomcat, feu doble clic al fitxer startup.bat al directori apache-tomcat/bin.


Configuració única per al servidor Apache Tomcat

Heu de realitzar 2 tasques:

  1. establiu JAVA_HOME o JRE_HOME a la variable d'entorn (és necessari per iniciar el servidor).
  2. Canvieu el número de port del tomcat (opcional). És necessari si un altre servidor s'està executant al mateix port (8080).

1) Com configurar JAVA_HOME a la variable d'entorn?

Per iniciar el servidor Apache Tomcat s'han d'establir JAVA_HOME i JRE_HOME a les variables d'entorn.

Aneu a Propietats del meu ordinador -> Feu clic a la pestanya avançada i després a variables d'entorn -> Feu clic a la nova pestanya de la variable d'usuari -> Escriviu JAVA_HOME al nom de la variable i enganxeu el camí de la carpeta jdk al valor de la variable -> ok -> ok -> ok .

arquitectura d'arrencada de primavera

Aneu a les propietats del meu ordinador:

Configuració d'apache tomcat 1

Feu clic a la pestanya de configuració avançada del sistema i després a les variables d'entorn:

Configuració d'apache tomcat 2

Configuració d'apache tomcat 3

Feu clic a la nova pestanya de variable d'usuari o variable del sistema:

Configuració d'apache tomcat 4

Escriviu JAVA_HOME al nom de la variable i enganxeu el camí de la carpeta jdk al valor de la variable:

la sessió ha caducat

Configuració d'apache tomcat 2

No hi ha d'haver punt i coma (;) al final del camí.


Després de configurar JAVA_HOME, feu doble clic al fitxer startup.bat a l'apache tomcat/bin.
Nota: hi ha dos tipus de tomcat disponibles:
  1. Apache Tomcat que només cal extreure (no cal instal·lar-lo)
  2. Apache Tomcat que cal instal·lar
És l'exemple d'apache tomcat que només necessita extreure.

com iniciar el servidor Tomcat per al programa servlet

com iniciar el servidor Tomcat per al programa servlet


Ara el servidor s'ha iniciat correctament.

2) Com canviar el número de port d'apache tomcat

Cal canviar el número de port si hi ha un altre servidor que s'executa al mateix sistema amb el mateix número de port. Suposem que heu instal·lat l'oracle, haureu de canviar el número de port de l'apache tomcat perquè tots dos tenen el número de port predeterminat 8080.

Obert fitxer server.xml al bloc de notes. Es troba dins del apache-tomcat/conf directori. Canvieu el port del connector = 8080 i substituïu 8080 per qualsevol número de quatre dígits en lloc de 8080. Substituïm-lo per 9999 i desem aquest fitxer.


5) Com desplegar el projecte servlet

Copieu el projecte i enganxeu-lo a la carpeta webapps sota apache tomcat.

com implementar servlet al servidor apache tomcat

Però hi ha diverses maneres de desplegar el projecte. Són els següents:

  • En copiar la carpeta context (projecte) al directori webapps
  • En copiar la carpeta de guerra al directori webapps
  • Seleccionant la ruta de la carpeta des del servidor
  • Seleccionant el fitxer de guerra del servidor

Aquí, estem utilitzant el primer enfocament.

També podeu crear un fitxer de guerra i enganxar-lo dins del directori d'aplicacions web. Per fer-ho, heu d'utilitzar l'eina jar per crear el fitxer de guerra. Aneu dins del directori del projecte (abans del WEB-INF), després escriviu:

 projectfolder> jar cvf myproject.war * 

La creació d'un fitxer de guerra té l'avantatge que moure el projecte d'una ubicació a una altra requereix menys temps.


6) Com accedir al servlet

Obriu el broser i escriviu http://hostname:portno/contextroot/urlpatternofservlet. Per exemple:

 http://localhost:9999/demo/welcome 

sortida de l'exemple de servlet


descarregueu aquest exemple de servlet (utilitzant el bloc de notes)
descarregar exemple de servlet estenent GenericServlet
descarregar exemple de servlet mitjançant la implementació de la interfície Servlet