import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; /* * 2.2.1 * Karl-Adam Karlsson * 06-11-02 * GetAndPost * * */ public class GetAndPost extends HttpServlet { //Doget Från 2.1 public void doGet( HttpServletRequest req, HttpServletResponse res ) throws IOException { Enumeration names = req.getParameterNames(); res.setContentType( "text/plain" ); PrintWriter targetClient = res.getWriter(); //lite variabler vi använder. String tmpString, valString; String[] tmpValues; LinkedList aList; //Loopa igenom Parameternamn while( names.hasMoreElements() ){ tmpString = (String)names.nextElement(); tmpValues = req.getParameterValues(tmpString); aList = new LinkedList( Arrays.asList(tmpValues) ); targetClient.print( tmpString+ " =" ); //Loopa igenom alla värden för parametern. while( aList.size()>0 ){ valString = (String)aList.getFirst(); targetClient.print( " "+ valString ); aList.removeFirst(); } //Ny rad targetClient.print( "\n"); } }//end of doGet /* * Dopost för POST-funktionalitet hos formuläret * ehue... * Det här känns lite simpelt. * Alltså, att en kodrad skall räcka för att lösa uppgiften. * Nu undrar jag alltså om jag missuppfattat något. * I HTML formuläret som skall skicka räcker det ju att ändra mellan get * och post för att testa båda, och här räcker det ju med att anropa doPost * eftersom vi skall göra samma sak. * * Det funkar ju... iaf i mina test, * men det känns som att en rad kod e för lite för en uppgift... */ protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.getWriter().print( "+++ POST TEST +++\n"); doGet( req, res ); } }