Avatar billede neess Nybegynder
18. marts 2003 - 11:28 Der er 15 kommentarer og
1 løsning

tomcat 4.1.18 og servlet

Jeg er lige startet med at leje med servletter.
Jeg har lavet det klassiske hello world program. Men hvor skal jeg ligge min class fil på serveren.

Og sådan kan ikke helt finde ud af hvor den skal ligge nemlig.

Har fundet frem til hvor root mappen er hvor default filen ligger :-)
Avatar billede arne_v Ekspert
18. marts 2003 - 11:29 #1
Den skal ligge i:

C:\jakarta-tomcat-4.1.18\wepapps\dinwebapp\WEB-INF\classes\dinservlet.class
Avatar billede arne_v Ekspert
18. marts 2003 - 11:31 #2
Ret Tomcat directory, hvis du har installeret et andet sted.

dinwebapp er navnet på din web applikation.

dinservlet er navnet på din servlet.

Husk at du også skal have en:

C:\jakarta-tomcat-4.1.18\wepapps\dinwebapp\WEB-INF\web.xml

Med et "normalt" indhold af denne vil din servlet kunne accesses via:

http://localhost:8080/dinwebapp/dinservlet
Avatar billede neess Nybegynder
18. marts 2003 - 11:44 #3
I min wepapps har jeg følgende mapper
ROOT
webdav
docs og expamels.
Har prøvet at lavet mappen classes og lagt min servlet der.
Der er en web.xml i mappen web-inf.
Men jeg for følgende fejl:

type Status report

message /webdav/HelloWorldServlet

description The requested resource (/webdav/HelloWorldServlet) is not available.
Avatar billede arne_v Ekspert
18. marts 2003 - 11:57 #4
Du bør lave din mappe under webapps til dine ting.

Du kan jo kalde den test.

Så du får:

C:\jakarta-tomcat-4.1.18\wepapps\test\WEB-INF\classes\HelloWorldServlet.class
C:\jakarta-tomcat-4.1.18\wepapps\test\WEB-INF\web.xml

og med rette web.xml vil:

http://localhost:8080/test/HelloWorldServlet

virke !
Avatar billede arne_v Ekspert
18. marts 2003 - 12:01 #5
web.xml skal se ud som noget i retning af:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <servlet>
    <servlet-name>HelloWorldServlet</servlet-name>
    <servlet-class>HelloWorldServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloWorldServlet</servlet-name>
    <url-pattern>/HelloWorldServlet</url-pattern>
  </servlet-mapping>
</web-app>
Avatar billede arne_v Ekspert
18. marts 2003 - 12:01 #6
Avatar billede neess Nybegynder
18. marts 2003 - 12:56 #7
Jeg læser og læser. Men jeg græder snart snot :-)

Den har stadig samme fejl.
Avatar billede arne_v Ekspert
18. marts 2003 - 13:34 #8
Du har:

C:\jakarta-tomcat-4.1.18\wepapps\test\WEB-INF\classes\HelloWorldServlet.class
C:\jakarta-tomcat-4.1.18\wepapps\test\WEB-INF\web.xml

og web.xml som ovenfor ?
Avatar billede neess Nybegynder
18. marts 2003 - 14:00 #9
test\WEB-INF\web.xml
test\WEB-INF\classes\HelloWorldServlet.class

XML filen indeholder:

?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <servlet>
    <servlet-name>HelloWorldServlet</servlet-name>
    <servlet-class>HelloWorldServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloWorldServlet</servlet-name>
    <url-pattern>/HelloWorldServlet</url-pattern>
  </servlet-mapping>
</web-app>
Avatar billede neess Nybegynder
18. marts 2003 - 14:01 #10
og jeps de er i mappen
webapps
Avatar billede arne_v Ekspert
18. marts 2003 - 14:57 #11
Du har genstartet Tomcat.

Og du bruger URL:

http://localhost:8080/test/HelloWorldServlet

?

Og hvilken fejl får du ?
Avatar billede neess Nybegynder
18. marts 2003 - 15:07 #12
for denne fejl:

HTTP Status 404 - /test/HelloWorldServlet

--------------------------------------------------------------------------------

type Status report

message /test/HelloWorldServlet

description The requested resource (/test/HelloWorldServlet) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/4.1.18
Avatar billede arne_v Ekspert
18. marts 2003 - 15:20 #13
Mystisk. Jeg har lige prøvet.

C:\jakarta-tomcat-4.1.18\webapps\test>dir /s
Volume in drive C has no label.
Volume Serial Number is 544F-996A

Directory of C:\jakarta-tomcat-4.1.18\webapps\test

18/03/2003  15:06      <DIR>          .
18/03/2003  15:06      <DIR>          ..
18/03/2003  15:07      <DIR>          WEB-INF
              0 File(s)              0 bytes

Directory of C:\jakarta-tomcat-4.1.18\webapps\test\WEB-INF

18/03/2003  15:07      <DIR>          .
18/03/2003  15:07      <DIR>          ..
18/03/2003  15:07                  468 web.xml
18/03/2003  15:07      <DIR>          classes
              1 File(s)            468 bytes

Directory of C:\jakarta-tomcat-4.1.18\webapps\test\WEB-INF\classes

18/03/2003  15:07      <DIR>          .
18/03/2003  15:07      <DIR>          ..
18/03/2003  15:09                  413 HelloWorldServlet.java
18/03/2003  15:09                  684 HelloWorldServlet.class
              2 File(s)          1,097 bytes

    Total Files Listed:
              3 File(s)          1,565 bytes
              8 Dir(s)  11,813,044,224 bytes free

C:\jakarta-tomcat-4.1.18\webapps\test\WEB-INF>type web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN
" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <servlet>
    <servlet-name>HelloWorldServlet</servlet-name>
    <servlet-class>HelloWorldServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloWorldServlet</servlet-name>
    <url-pattern>/HelloWorldServlet</url-pattern>
  </servlet-mapping>
</web-app>

C:\jakarta-tomcat-4.1.18\webapps\test\WEB-INF\classes>type HelloWorldServlet.jav
a
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.net.*;

public class HelloWorldServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        response.setContentType("text/plain");
        out.println("Det virker");
    }
}

C:\jakarta-tomcat-4.1.18\webapps\test\WEB-INF\classes>javac -classpath C:\j2sdke
e1.3.1\lib\j2ee.jar HelloWorldServlet.java

http://localhost:8080/test/HelloWorldServlet

giver:

Det virker
Avatar billede arne_v Ekspert
18. marts 2003 - 15:21 #14
[det er iøvrigt ikke særligt pænt at have sin Java source code i det
directory, men det er en helt anden sag]

Hvad pokker er forskellen på dig og mig ?
Avatar billede neess Nybegynder
18. marts 2003 - 15:31 #15
hmm nu virker det. Med dit eksempel, ved ikke hvorfor min java kode ikke virkede
Avatar billede neess Nybegynder
18. marts 2003 - 15:34 #16
hmm nu virker min egen kode også.
Var da kanon lækkert, så fik vi en succes oplvelse idag :-)

takker mange gange
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester