Gå til innhold

Anbefalte innlegg

Jeg skal lære meg å lage servlets.

Jeg bruker eclipse og tomcat.

Nå har jeg akkurat skrevet en kode i java.

 

package pclab;

import javax.servlet.*;

import java.io.IOException;

import java.io.PrintWriter;

 

 

public class test implements Servlet {

 

public test(){

  System.out.println("public test()");

}

 

public void destroy(){

  System.out.println("destroy()");

}

 

public ServletConfig getServletConfig(){ 

  return null; 

  }

   

  public String getServletInfo(){ 

  return null;   

  }

 

public void init(ServletConfig servletConfig) throws ServletException {

  System.out.println("init(ServletConfig servletConfig)");

  }

 

public void service(ServletRequest servletRequest,

    ServletResponse servletResponse)

    throws ServletException, IOException {

     

  servletResponse.setContentType("text/html");

    PrintWriter out = servletResponse.getWriter();

 

    out.println("<html>");

    out.println("<head>");

    out.println("<title>En test servlet</title>");

    out.println("</head>");

    out.println("<body bgcolor=\"white\">");

 

    out.println("<h1>Utskrift fra TestServlet</h1>");

   

    out.println("<h2>Jippi</h2>");

     

    out.println("</body>");

    out.println("</html>");

    out.close(); // lukk skrive-strømmen for å fullføre siden

    }

 

         

public static void main(String[] args) {

}

}

 

Ok. Java kompilerer, og jeg får ingen feil. (Har lagt til servlet-api.jar og j2ee.jar).

Så starter jeg tomcat server og localhost:8080/manager

 

Jeg har laget til mappestrukturen i tomcat root.

C:\Tomcat 5.0\webapps\WEB-INF\classes <-- Her skal vel test.class ligge sant?

C:\Tomcat 5.0\webapps\WEB-INF <-- og her skal web.xml filen ligge?!

 

Web.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>

 

<web-app>

 

    <servlet>

  <servlet-name>test</servlet-name>

<servlet-class>test</servlet-class>

  </servlet> 

 

                      <!-- mapping til servlet'er definert over -->

 

 

  <servlet-mapping>

  <servlet-name>test</servlet-name>

<url-pattern>/test</url-pattern>

  </servlet-mapping>

 

     

</web-app>

 

Ok. Greien er at jeg ikke har peilig hva jeg skal gjøre no. Hvordan starter jeg denne servletten? Og det er sikkert noen instillinger jeg ikke har fått med meg og...

Please help :(

Lenke til kommentar
Videoannonse
Annonse
Jeg har laget til mappestrukturen i tomcat root.

C:\Tomcat 5.0\webapps\WEB-INF\classes <-- Her skal vel test.class ligge sant?

Er der klassen pclab.test skal ligge, ja. Husk å få med pakken du har plassert den i, altså må test legges i en katalog ved navn pclab.

 

Resten så greit ut, uten at jeg har sett så altfor nøye på det. Si fra om dette ikke var nok?

 

PS: Er forresten vanlig å bruke stor forbokstav i klassenavn.

PS2: main-metode i servlet? Kan sikkert slette den.

Endret av Frank2004
Lenke til kommentar
Altså. Fra tomcat i browseren min, finner jeg ikke den mappen jeg har laget (pclab)

Hva skjer når jeg kjører en serlvet? lages og lagres det en .html fil på min maskin da?

Du har laget katalogen pclab i WEB-INF/classes, og lagt servleten inn i denne? Altså 'WEB-INF/classes/minpakke/MinServlet.class'?

 

Må også huske å ta med pakkenavn i web.xml:

...
<servlet>
   <servlet-name>test</servlet-name>
   <servlet-class>minpakke.MinServlet</servlet-class>
</servlet>

<servlet-mapping>
   <servlet-name>test</servlet-name>
   <url-pattern>/test</url-pattern>
</servlet-mapping>
...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...