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:
- Amb la implementació de la interfície Servlet,
- En heretant la classe GenericServlet, (o)
- 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:
- Creeu una estructura de directoris
- Creeu un servlet
- Compileu el servlet
- Creeu un descriptor de desplegament
- Inicieu el servidor i implementeu el projecte
- 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.
|
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 jar | Servidor |
---|---|
1) servlet-api.jar | Apache Tomcat |
2) weblogic.jar | Weblogic |
3) javaee.jar | Peix vidre |
4) javaee.jar | JBoss |
Dues maneres de carregar el fitxer jar
- establir classpath
- 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:
- establiu JAVA_HOME o JRE_HOME a la variable d'entorn (és necessari per iniciar el servidor).
- 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:
Feu clic a la pestanya de configuració avançada del sistema i després a les variables d'entorn:
Feu clic a la nova pestanya de variable d'usuari o variable del sistema:
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
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:
|
És l'exemple d'apache tomcat que només necessita extreure. |
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.
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
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