Avatar billede bengun Novice
04. marts 2009 - 14:04 Der er 5 kommentarer og
1 løsning

Simpel Servlet virker ikke...

Hej.

Hvad gør jeg forkert? Jeg har dette lille .html program som skulle kalde en lille Servlet, men browseren kan ikke finde Servlet'en. Hjælp, hvad gør jeg forkert? mangler jeg noget?

HTML kode:
<HTML>
<HEAD><TITLE>Random Numbers Page</TITLE></HEAD>
<BODY BGCOLOR="white">
<H1>Random Numbers</h2>
<P>This site will let you pick some random numbers for Lottery, lucky number
or other purposes, all electronically.</P>
<FORM METHOD=POST ACTION="TestServlet">
<H4>How Many Numbers Do You Want Today?</H4>
<INPUT NAME=howmany SIZE=2> (default is 5)
<BR>
<INPUT TYPE="SUBMIT" VALUE="Get YOURS!">
</FORM>
</BODY>
</HTML>


Java Servlet kode:

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.Random;

/**
* Servlet implementation class TestServlet
*/
public class TestServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    protected final int DEFAULT_NUMBER = 5;

    /**
    * Default constructor.
    */
    public TestServlet()
    {
        // TODO Auto-generated constructor stub
    }

    /**
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    */
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException
    {
            resp.setContentType("text/html");
            PrintWriter out = resp.getWriter(  );
       
            // The usual HTML setup stuff.
            out.println("<HTML>");
            out.println("<HEAD>");
            out.println("<BODY BGCOLOR=\"white\">");
   
            // HTML for this page
            out.println("<TITLE>Random Numbers</TITLE>");
            out.println("<H1>Random Numbers</h2>");
            out.println("<P>Here are your personal random numbers,");
            out.println("<OL>");
   
            // Figure out how many numbers to print.
            int n = DEFAULT_NUMBER;
            String num=req.getParameter("howmany");
            if (num != null && num.length(  ) != 0)
            {
                try
                {
                    n = Integer.parseInt(num);
                }
                catch (NumberFormatException e)
                {
                    out.println("<P>");
                    out.println(num);
                    out.println(" is too many.</P>");
                }
            }
   
            // Now actually generate some random numbers.
            Random r = new Random(  );
            for (int i=0; i<n; i++)
            {
                out.print("<LI>");
                out.println(r.nextInt(49));
                out.println("</OL>");
   
                // Print a break and a back link.
                out.println("<HR></HR>");
                out.println("<A HREF=\"index.html\">Back to main Page</A>");
                out.println("</HTML>");
            }
    }
}
Avatar billede fsconsult.dk Nybegynder
04. marts 2009 - 14:09 #1
det interessante er hvad der står i din WEB-INF/web.xml for din web-application (det kræver jo tomcat eller anden servlet container, for at afvikle en servlet).

servlet'tens synlige navn afgøres ikke af hvad din klasse hedder (TestServlet), men af mapping internt i din web.xml
Avatar billede bengun Novice
04. marts 2009 - 14:55 #2
Jeg har Tomcat kørende på min maskine.

Jeg er helt "grøn" på dette område, så det kan være at jeg griber det helt forkert an.

Hvordan tjekker jeg denne web.xml ? jeg kører på Windows XP.
Avatar billede arne_v Ekspert
04. marts 2009 - 15:05 #3
Du skal selv lave web.xml !
Avatar billede arne_v Ekspert
04. marts 2009 - 15:06 #4
Avatar billede bengun Novice
05. marts 2009 - 10:27 #5
Hej arne_v

Det var lige noget jeg kunne bruge. Tusind tak.

Smid lige et svar.
Avatar billede arne_v Ekspert
05. marts 2009 - 15:19 #6
svar
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-Supporter til Flyvestation Karup

Politiets Efterretningstjeneste

Softwareudvikler til PET

PensionDanmark

Senior Data Scientist

Netcompany A/S

Managing Architect