Der er givet 6 trin til at oprette en servlet eksempel . Disse trin er nødvendige for alle servere.
Servlet-eksemplet kan oprettes på tre måder:
- Ved at implementere Servlet-grænsefladen,
- Ved at arve GenericServlet-klassen, (eller)
- Ved at arve HttpServlet-klassen
Den mest brugte tilgang er at udvide HttpServlet, fordi den giver http-anmodningsspecifik metode såsom doGet(), doPost(), doHead() osv.
Her skal vi bruge apache tomcat server i dette eksempel. Trinene er som følger:
- Opret en mappestruktur
- Opret en Servlet
- Kompiler Servlet
- Opret en implementeringsbeskrivelse
- Start serveren og implementer projektet
- Få adgang til servlet
download dette eksempel på servlet
download eksempel på servlet ved at udvide GenericServlet
download eksempel på servlet ved at implementere Servlet-grænseflade
1) Opret en mappestruktur
Det mappestruktur definerer, hvor de forskellige typer filer skal placeres, så webcontaineren kan få oplysningerne og svare klienten.
Sun Microsystem definerer en unik standard, der skal følges af alle serverleverandører. Lad os se den mappestruktur, der skal følges for at oprette servlet'en.
Som du kan se, skal servlet-klassefilen være i classes-mappen. Web.xml-filen skal være under WEB-INF-mappen.
2) Opret en Servlet
Der er tre måder at oprette servlet på.
|
I dette eksempel skal vi lave en servlet, der udvider HttpServlet-klassen. I dette eksempel arver vi HttpServlet-klassen og leverer implementeringen af doGet()-metoden. Bemærk, at få anmodning er standardanmodningen. |
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) Kompiler servlet'en
For at kompilere Servlet'en skal jar-filen indlæses. Forskellige servere giver forskellige jar-filer:
Krukke fil | Server |
---|---|
1) servlet-api.jar | Apache Tomcat |
2) weblogic.jar | Weblogik |
3) javaee.jar | Glasfisk |
4) javaee.jar | JBoss |
To måder at indlæse jar-filen på
- sæt klassesti
- indsæt jar-filen i mappen JRE/lib/ext
Læg java-filen i en hvilken som helst mappe. Efter kompilering af java-filen, indsæt klassefilen for servlet i WEB-INF/klasser vejviser.
4)Opret implementeringsbeskrivelsen (web.xml-fil)
Det implementeringsbeskrivelse er en xml-fil, hvorfra Web Container henter informationen om den server, der skal startes.
Webcontaineren bruger parseren til at hente oplysningerne fra web.xml-filen. Der er mange xml-parsere såsom SAX, DOM og Pull.
Der er mange elementer i web.xml-filen. Her er givet nogle nødvendige elementer for at køre det simple servlet-program.
web.xml-fil
sonoojaiswal DemoServlet sonoojaiswal /welcome
Beskrivelse af elementerne i web.xml-filen
Der er for mange elementer i web.xml-filen. Her er illustrationen af nogle elementer, der bruges i ovenstående web.xml-fil. Elementerne er som følger:
repræsenterer hele applikationen. |
er underelement af og repræsenterer servlet. |
er underelement af repræsenterer navnet på servlet. |
er underelement af repræsenterer servletens klasse. |
er underelement af . Det bruges til at kortlægge servlet'en. |
er underelement af . Dette mønster bruges på klientsiden til at kalde servlet'en. |
5) Start serveren og implementer projektet
For at starte Apache Tomcat-serveren skal du dobbeltklikke på filen startup.bat under mappen apache-tomcat/bin.
Engangskonfiguration til Apache Tomcat Server
Du skal udføre 2 opgaver:
- sæt JAVA_HOME eller JRE_HOME i miljøvariablen (det er nødvendigt for at starte serveren).
- Skift portnummeret på tomcat (valgfrit). Det er påkrævet, hvis en anden server kører på samme port (8080).
1) Hvordan indstilles JAVA_HOME i miljøvariabel?
For at starte Apache Tomcat-serveren skal JAVA_HOME og JRE_HOME indstilles i miljøvariabler.
Gå til Egenskaber for denne computer -> Klik på avanceret fane og derefter miljøvariable -> Klik på den nye fane for brugervariabel -> Skriv JAVA_HOME i variabelnavn og indsæt stien til jdk-mappen i variabelværdi -> ok -> ok -> ok .
eksempler på java-kode
Gå til Egenskaber for min computer:
Klik på fanen avancerede systemindstillinger og derefter på miljøvariabler:
Klik på den nye fane for brugervariabel eller systemvariabel:
Skriv JAVA_HOME i variabelnavn og indsæt stien til jdk-mappen i variabelværdi:
Der må ikke være semikolon (;) for enden af stien.
bash søvn
Efter at have indstillet JAVA_HOME dobbeltklik på startup.bat filen i apache tomcat/bin. |
Bemærk: Der er to typer tomcat tilgængelige:
|
Det er eksemplet med apache tomcat, der kun skal udtrækkes. |
Nu er serveren startet med succes.
2) Sådan ændres portnummeret for apache tomcat
Ændring af portnummeret er påkrævet, hvis der er en anden server, der kører på det samme system med samme portnummer. Antag at du har installeret Oracle, skal du ændre portnummeret på apache tomcat, fordi begge har standardportnummeret 8080.
Åben server.xml-fil i notesblok. Den er placeret inde i apache-tomcat/conf bibliotek. Skift Connector-porten = 8080 og erstat 8080 med et hvilket som helst firecifret tal i stedet for 8080. Lad os erstatte det med 9999 og gemme denne fil.
5) Sådan implementeres servlet-projektet
Kopier projektet og indsæt det i webapps-mappen under apache tomcat.
Men der er flere måder at implementere projektet på. De er som følger:
- Ved at kopiere kontekst(projekt)-mappen til webapps-mappen
- Ved at kopiere war-mappen til webapps-mappen
- Ved at vælge mappestien fra serveren
- Ved at vælge krigsfilen fra serveren
Her bruger vi den første tilgang.
Du kan også oprette krigsfil og indsætte den i webapps-mappen. For at gøre det skal du bruge jar-værktøjet til at oprette krigsfilen. Gå ind i projektbiblioteket (før WEB-INF), og skriv derefter:
projectfolder> jar cvf myproject.war *
Oprettelse af krigsfil har en fordel, at det tager kortere tid at flytte projektet fra et sted til et andet.
6) Sådan får du adgang til servlet'en
Åbn broser og skriv http://hostname:portno/contextroot/urlpatternofservlet. For eksempel:
http://localhost:9999/demo/welcome
download dette eksempel på servlet (ved hjælp af notesblok)
download eksempel på servlet ved at udvide GenericServlet
download eksempel på servlet ved at implementere Servlet-grænseflade