Till startsida för Björns studiewebb

Servlets & formulär

Inledning

Denna sida beskriver hur man från en servlet (med Java) kan läsa data från ett HTML-formulär.

Innehåll

Grundläggande om formulär

Nedan visas HTML-koden för ett enkelt formulär med en textruta och en "skickaknapp" (submit-knapp).

<form method="get" action="/servlet/EnkeltFormularServlet
  <input type="text" name="namn">
  <input type="submit" value="Skicka">
</form>

(Anpassa sökväg i ACTION-attributet för att passa den sökväg där era servlets finns.)


| Till början på sida |


Enkel servlet

Vår servlet-klass bör ärva från superklassen HttpServlet.

Filen EnkelFormularServlet.class

/*
* Java Servlet som genererar en hemsida som skriver ut namnet som
* besökare fyller i ett formulär.
* Björn Persson, EkI, MdH - 2004-01-26.
* bjorn.persson@mdh.se
*/

//Importera paket för...
import javax.servlet.*;       //servlet
import javax.servlet.http.*;  
//servlet
import java.io.*;             
//I/O

public class EnkelFormularServlet extends HttpServlet
{

   /***************************************************
  * Implementation av metoden doGet() som anropas av webbserver då
  * webbläsare begär servlet med metoden HTTP-GET
  ****************************************************/
public void doGet(HttpServletRequest request,
  HttpServletResponse response) throws IOException
{

     //Tala om för webbserver vad som kommer att skickas (d.v.s.
     // HTML-kod)
   response.setContentType("text/html");

     //Hämta objekt för "output" för att kunna skriva till den
     // genererade hemsidan
   PrintWriter out = response.getWriter();

   
//Hamta text från textruta med namnet 'namn'
   String strNamn = request.getParameter("namn");


     //Skriv ut HTML-kod
   out.println("<HTML>");
   out.println("<HEAD>");
   out.println("  <TITLE>Hello " + strNamn + "</TITLE>");
   out.println("</HEAD>");
   out.println("<BODY>");
   out.println("<H1>Hello " + strNamn + "</H1>");
   out.println("</BODY>");
   out.println("</HTML>");
}
// doGet()  
 
 
   /***************************************************
  * Implementation av metoden doPost() som anropas av webbserver då
  * webbläsare begär servlet med metoden HTTP-POST
   ****************************************************/
public void doPost(HttpServletRequest request,
 
HttpServletResponse response) throws IOException
{

     //Anropa egen impl. av doPost() - skicka med inparametrarna
   doGet(request, response);
}
// doPost()
 
} //class EnkelFormularServlet


| Till början på sida | Tillbaka till Java |