07. november 2002 - 16:29
Der er
21 kommentarer og 1 løsning
Vedr. Tomcat og Servlets!
Hej... Jeg har lige installeret Tomcat serveren, da jeg vil til at igang med JSP frem for det dyre ASP ;o) Det er lidt kedeligt at kun kunne udskrive dato osv. så jeg tænkte det kunne da være sjovt at prøve sig med Servlets! Jeg har prøvet følgende: Min .java fil: import java.util.*; public class Plus { public static int sum (int a, int b) { int sum = a + b; return sum; } } -Nu jeg har så gemt filen i webapps/ROOT/WEB-INF/Classes Hvordan henter jeg den så og bruger den i mit .jsp dokument? //>Rune
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
07. november 2002 - 16:39
#1
Det er ikke en servlet du har lavet, det er bare en almindelig java klasse.
p.s. SKift tomcat ud med Resin fra
www.caucho.com så får du et langt bedre produkt, bedre performance, og lettere configuration.
07. november 2002 - 16:41
#2
disky> Jeg har prøvet at se JSP kategorien igennem.. Og næsten ved hvert spm du har besvaret har du sagt at man skal skifte! Jeg har prøvet Resin, men eftersom jeg har TDC Pro Access, så har jeg ikke dens port åben! -jeg syntes oxo det er irreterende at ha' de 2 vinduer åbne hele tiden. Men hvis vi går tilbage til mit spm... Hvordan får jeg det så hentet? //>Rune
07. november 2002 - 17:19
#3
Du kan bruge følgende jsp-stump <%= Plus.sum(3,2) %> dvs fuldstændig normal java-kode. Hvis ens klasse er i en pakke, er man nødt til at lave en import i toppen af sin jsp-side: <%@ page import ="pakke.Plus" %> Skal man importere flere ting, kan man enten lave flere linjer som ovennævnte, eller lave noget med <%@ page import="pakke1.*,pakke2.*" %> Du kan naturligvis også oprette objekter på normal vis. <% Plus plus = new Plus(); %>
07. november 2002 - 17:57
#4
disky/soelvpil> Vil du ik' prøve at lave en Servlet som jeg kan afvikle på min Tomcat servert? Jeg skal jo bare ha' det til at virke, så kan jeg jo altid ekspermitere med det! ;o) //>Rune
07. november 2002 - 18:14
#5
medions: Øh hvis du skal bruge resin alene sætter du den selvfølgelig op til at bruge port 80. Bortset fra det bruger tomcat også port 8080 per default, så her er ingen forskel. Du har ingen vinduer åbne ved resin, for man kører den selvfølgelig som service hvis det er Windows man har som OS. Så igen ingen forskel her.
07. november 2002 - 18:18
#6
Her har du en servlet der laver absolut ingen ting :) det er metoderne doGet() og doPost() der er de vigtigt, de bliver kaldt afhængigt af om der er blevet brugt get eller post til at hente servlet'en med. Du skal sætte noget op i din web.xml fil, for at konfigurere denne servlet. Og så kan du bare kalde den fra en jsp/html side med f.eks.: <form action="minServlet"> <input type="submit"> </form> Hvor minServlet er det navn du har mappet til den servlet i din web.xml fil. p.s. At jeg råder folk til at bruge Resin, er ene alene fordi den er bedre/lettere end tomcat. /* * Servlet.java * * Created on 7. november 2002, 18:30 */ import javax.servlet.*; import javax.servlet.http.*; /** * * @author srr * @version */ public class Servlet extends HttpServlet { /** Initializes the servlet. */ public void init(ServletConfig config) throws ServletException { super.init(config); } /** Destroys the servlet. */ public void destroy() { } /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { response.setContentType("text/html"); java.io.PrintWriter out = response.getWriter(); /* output your page here out.println("<html>"); out.println("<head>"); out.println("<title>Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("</body>"); out.println("</html>"); */ out.close(); } /** Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { processRequest(request, response); } /** Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { processRequest(request, response); } /** Returns a short description of the servlet. */ public String getServletInfo() { return "Short description"; } }
07. november 2002 - 18:28
#7
Hmm ok, nu får du mig lokket Disky! :o) -Hvis vi nu siger at jeg installere Resin! Fint nok. Den ligger så og bager på port 8080, men jeg vil jo så gerne ha' den kommer til at ligge på port 80. Hvordan sætter jeg den op til det? -Så fjerner jeg tomcat når du siger den er så grum ;o) //>Rune
07. november 2002 - 18:34
#8
du retter i resin.conf filen
07. november 2002 - 18:40
#9
Hmmm ok.. hvordan installere jeg den så som en Service? -jeg har Windows 2000 Proff //>Rune
07. november 2002 - 19:12
#10
der er noget med http install_service eller noget lignende, du kan se det når du prøver kommandoerne i /bin skuffen
07. november 2002 - 19:23
#11
disky> Den skal jeg vidst lige ha' en gang til :) Altså: Control Panel > Administrativ Tools > Services og hvad så? Hvad mener du med jeg kan se set i /bin skuffen... -der er jo kun en masse .bat filer... //>Rune
07. november 2002 - 19:25
#12
DOH, nu tænker jeg på Tomcat! Hvor i Resins /bin bibliotek kan jeg finde Servisen? og hvad med Control Panel > Administrativ Tools > Services og hvad så? //>Rune
07. november 2002 - 19:30
#13
Nej inde i resin's bin skuffe er der nogle .exe filer, en af dem bliver brugt til at installere resin som service, få dem til at spytte deres parametere ud så kan du se det.
07. november 2002 - 19:34
#14
disky> Hmm jeg kan ik' se hvad det er jeg skal gøre! -der ligger 2 .exe filer, og én .dll fil, det er det eneste... //>Rune
07. november 2002 - 20:25
#15
så skriv navnet på den ene .exe efter fulgt af rjhlksdf eller noget andet volapyk, så viser den hvilke variabler den forstår. jeg kan ikke teste det da min server kører linux
07. november 2002 - 20:27
#16
Hmm kan det passe at det er dette: resin-2.0.x> bin/httpd -conf conf/resin.conf -server c -install-as ResinC ? //>Rune
07. november 2002 - 20:40
#17
yep Jeg brugte selv bare httpd -install-as Resin
07. november 2002 - 20:55
#18
Hmm ok.. Så herefter genstarter jeg så.. Det går oxo fint.. Men bagefter når jeg skriver //localhost/ så virker det stadivæk ikke! :-( Skal jeg skrive noget i Parameter feltet under services?... Hvis ja, hvad? //>Rune
07. november 2002 - 21:11
#19
Jeg har denne: resin-2.0.x> bin/httpd -conf conf/resin.conf -server c -install-as ResinC Men den virker oxo godt nok.. MEN når jeg går ind under Services så står den på Stop, ændre jeg den til Start så hopper den over på Stop igen! WHY? //>Rune
07. november 2002 - 21:53
#20
prøv reboot
07. november 2002 - 21:55
#21
It dosn't matter! -Den hopper tilbage igen alligevel! -kommer du ikke lige på ICQ? //>Rune
07. november 2002 - 23:21
#22
Well takker for hjælpe begge to. Soelpil> Jeg fik ik' så meget ud af dit svar, desvære... Det er sq nok mig der ikke har forstået det rigtigt, jeg er helt grøn på det område her ;o) Thx 4 Ur Help! //>Rune
Kurser inden for grundlæggende programmering