Here is my servlet code. My objective is that according to the request the
servlet will do something specific as you can see... This way i get no
problems , get and post request are recognize correctly. However i need to
pass one more parameter in the post request so i cannot use just the
getQueryString() method...
Richard, i hope this helps you in trying to resolve my problem... Thanks for
your help
Hugo
public class ServicosServlet extends HttpServlet implements
SingleThreadModel{
public void doGet(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException
{
HttpSession session = request.getSession(false);
//******CONSULTAR ENCOMENDA*****
request.getParameter("opcao").equals("consultarEncomenda")){
String param = request.getParameter("param");
consultarLinhaEncomenda(response, param);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if(request.getQueryString().equals("opcao=inserirServico")){
sendServicoDB(response, request);
}
//THIS DOES NOT WORK...
if(request.getParameter("opcao").equals("inserirServico")){
sendServicoDB(response, request);
}
//THIS WORKS
if(request.getQueryString().equals("opcao=alterarServico")){
sendServicoAltDB(response, request);
}
//Linha de Encomenda
if(request.getQueryString().equals("opcao=inserirLinhaEncomenda")){
sendLinhaEncomendaDB(response, request);
}
}
public void sendLinhaEncomendaDB (HttpServletResponse response, HttpServletRequest
request)
throws ServletException, IOException {
boolean isSuccess = false;
ObjectInputStream objIn = new ObjectInputStream( new
GZIPInputStream(request.getInputStream() ) );
ServletOutputStream objOut = response.getOutputStream() ;
try {
//read teh object
Object o = objIn.readObject();
if ( o instanceof Veiculos ) {
isSuccess = true ;
System.out.println("STATUS Servlet input Object is SQLThing" );
}
else {
System.out.println("STATUS Servlet input Object is not recognised" );
}
objOut.print( isSuccess );
Linha_Encomenda l = (Linha_Encomenda) o;
Linha_Encomenda.inserirLinhaEncomenda(l);
} catch ( ClassNotFoundException e ){}
System.out.println ("Leaving doPost");
}
public void sendServicoDB (HttpServletResponse response, HttpServletRequest request)
throws ServletException, IOException {
boolean isSuccess = false;
ObjectInputStream objIn = new ObjectInputStream( new
GZIPInputStream(request.getInputStream() ) );
ServletOutputStream objOut = response.getOutputStream() ;
try {
//read teh object
Object o = objIn.readObject();
if ( o instanceof Veiculos ) {
isSuccess = true ;
System.out.println("STATUS Servlet input Object is SQLThing" );
}
else {
System.out.println("STATUS Servlet input Object is not recognised" );
}
objOut.print( isSuccess );
Servicos s = (Servicos) o;
Servicos.inserirServicos(s);
} catch ( ClassNotFoundException e ){}
System.out.println ("Leaving doPost");
}
public void consultarLinhaEncomenda(HttpServletResponse response, String
id)
throws ServletException, IOException{
OutputStream out ;
ObjectOutputStream objStream;
out = response.getOutputStream();
objStream = new ObjectOutputStream(out);
//Tipo_Servicos t = Tipo_Servicos.get_Tipos_Servicos();
Linha_Encomenda linha = Linha_Encomenda.consultarLinhaEncomenda(id);
objStream.writeObject(linha);
objStream.close();
out.close();
}
public void procuraTipo(HttpServletResponse response, String id)
throws ServletException, IOException{
OutputStream out ;
ObjectOutputStream objStream;
out = response.getOutputStream();
objStream = new ObjectOutputStream(out);
//Tipo_Servicos t = Tipo_Servicos.get_Tipos_Servicos();
Vector veic = Veiculos.getVeiculoTipo(id);
objStream.writeObject(veic);
objStream.close();
out.close();
}
}
-----Original Message-----
From: A mailing list for discussion about Sun Microsystem's Java Servlet
API Technology. [mailto:[EMAIL PROTECTED]]On Behalf Of
Richard Yee
Sent: quarta-feira, 26 de Setembro de 2001 6:35
To: [EMAIL PROTECTED]
Subject: Re: getParameter()
Hugo,
Are you calling getInputStream() or getReader() in the servlet, if so, it
will interfere with the results of the getParameter() method. It would
help if you sent your servlet code.
-Richard
At 10:44 PM 9/25/01 +0100, you wrote:
>Hi, i communicating an applet to a servlet. In get request i make
>request.getParameter("name_parameter") and i have no problems with that,
>however in post requests i make the request.getParameter("name_parameter");
>and i can't get it. It gives me the following error in Java Console
>java.io.FileNotFoundException http://phc:8000/servlet?opcao=something
>
>here is my code in applet side for get and send to servlet:
>
>public void sendToServlet(Object obj, String opcao){
>
> try {
> //set up the connection for
> URL url = new
>URL("http://phc:8000/servicos?"+URLEncoder.encode("opcao")+
>
>"="+URLEncoder.encode(opcao));
> URLConnection uc = url.openConnection();
> uc.setDoOutput( true );
> uc.setDoInput( true );
> uc.setUseCaches( false );
> uc.setRequestProperty( "Content-Type",
>"application/x-www-form-urlencoded" );
>
> //send the object
>
> ObjectOutputStream objOut = new ObjectOutputStream( new
>GZIPOutputStream( uc.getOutputStream() ) );
> objOut.writeObject(obj);
> objOut.flush();
> objOut.close();
>
>
> //get response from doPost();
> DataInputStream respIn = new
DataInputStream( uc.getInputStream() );
>
> if ( respIn.readBoolean() == true )
> System.out.println("objectPost successful no servicos
>Servlet");
> else
> System.out.println("objectPost() failed");
>
> respIn.close();
>
> }
>
>
> catch ( java.io.IOException e )
> {
> System.out.println( e.toString() );
> }
>
> }
>//**************************
>
>public Object getFromServlet(String opcao, String
>am){
>
> Object obj = null;
>
> try{
> URL url = new
> URL("http://phc:8000/servicos?"+URLEncoder.encode("opcao")+
>
>"="+URLEncoder.encode(opcao)+"&"+URLEncoder.encode("param")+
>
>"="+URLEncoder.encode(param));
> URLConnection con = url.openConnection();
> con.setDoOutput( true );
> con.setDoInput( true );
> con.setUseCaches( false );
> con.setDefaultUseCaches(false);
> InputStream in = con.getInputStream();
> ObjectInputStream objStream;
> objStream = new ObjectInputStream(in);
> obj = (Object)objStream.readObject();
> objStream.close();
> in.close();
>
> }catch(IOException o){o.printStackTrace();}
> catch(ClassNotFoundException c){c.printStackTrace();}
>
> return obj;
> }
>
>
>Thanks for your help.
> Hugo Malheiro
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html