Variavel

Olá amigos…

Estou com duas servlet

uma chamada Principal.java e outra Segundaria.java

Tenho uma variavel na servlet Principal.java chamada soma
quero colocar o valor dela na variavel pesquisa que fica na servlet Segundaria… sabe como faço isso. para transferir de uma servlet para outra

obrigado!

coloca no request

ServletA

request.setParametter("variavel",valor);

ServletB

String valor = request.getParametter("variavel");

Vc precisa dizer como quer fazer isso…

via requisição…quer chamar um método ???

naum aceita essa opcao request.setParametter(“variavel”, valor);

só getParametter

Os valores voce seta com request.setAttribute e não request.setParameter

eu sei! mais naum está indo

Porque você precisa chamar outro servlet ?
o ideal era usar algum pattern para trabalhar, veja FrontControler como exemplo…

como você esta chamando o servlet em questao ?

servelt de onde envia a variavel:

package br.jander.Cadastro;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

 public class Loginacess extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
   static final long serialVersionUID = 1L;
   
    String url="jdbc:odbc:banco";
	Connection con;
	Statement smtp;
	ResultSet rs;	
	String user1, user2, pass1, pass2, envia= "jander";
	
	public Loginacess() {
		super();
	}   	
	
	public void Conectar(){
        try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			con = DriverManager.getConnection(url,"","");
			smtp = con.createStatement();	    
	        
	        }catch(Exception s){s.printStackTrace();}   
	}
	
	public void Desconectar(){
		try{
			con.close();
		}catch(SQLException e){}
	}

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

	}  	
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		Redirecionar(request, response);
		
	}  
	
	public void Redirecionar (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		response.setContentType("text/html");
		PrintWriter writer = response.getWriter();
		
		writer.println("<html><head><title>Hora Extra Janderson</title></head>");
		writer.println("<body>");
		
		user1 = request.getParameter("usuario");
		pass1 = request.getParameter("senha");
		Conectar();
		try{
			rs = smtp.executeQuery("select * from senha where user='" + user1 + "' and pass='" + pass1 + "'");
	    	while(rs.next()){
	    		user2 = rs.getString("user");
	    		pass2 = rs.getString("pass");
            }
	    }catch(Exception s){s.printStackTrace();}
	    
		Desconectar();
		
		if(user1.equals(user2) && pass1.equals(pass2)){
			request.setAttribute("envia", envia);
		    response.sendRedirect("index.jsp");		
			}
			else{
				writer.println("<br><br><br><center><b><font color=red size=4>Usuário ou senha incorreto</font></b>");
				writer.println("<br><font color=black size=2>[Página redirecionada em 3 segundos, caso não seja <a href=login.jsp>clique aqui</a>!]</font></center>");
		}
		
		writer.println("</body></html>");
		
		
	}
}

jsp onde recebe a variavel

<%
String recebe = request.getParameter("envia");

if(recebe == null){
out.println("<html>");

     out.println("<head>");
     out.println("<meta name=GENERATOR content=Microsoft FrontPage 5.0>");
     out.println("<meta name=ProgId content=FrontPage.Editor.Document>");
     out.println("<title>Controle de Hora Extra</title>");
     out.println("</head>");
     out.println("<frameset framespacing=0 border=0 frameborder=0 rows=80,*>");
     out.println("<frame name=cabeçalho scrolling=no noresize target=principal src=top.jsp>");
     out.println("<frame name=principal src=Extra>");
     out.println("<noframes>");
     out.println("<body>");

     out.println("<p>ATEsta página usa quadros mas seu navegador não aceita quadros.</p>");

     out.println("</body>");
     out.println("</noframes>");
     out.println("</frameset>");
    
     out.println("</html>");
}
%>

desse modo que está ai naum está indo!

tenta:

String recebe = request.getAttribute("envia");

Ixxx… é um jsp ou servler o segundo ?
de uma olhada nesse comando…

getServletContext().getRequestDispatcher(page)

OBS: tai tendo esse problema por misturar codigo de negocio e controle na view…

vai com getAttribute, ao inves getParameter…acho que vai funfar !!

da erro

mostra o erro ai…

<%
erro nessa linha > String recebe = request.getAttribute(“envia”);
if(recebe == null){

como naum existisse esse comando

Editado: Tente enviar o parametro pela url

response.sendRedirect("index.jsp?parametro");     

ou via session…

cara acho que não tem dois servlets, e sim uma servlet e um jsp…

		request.setAttribute("envia", envia);
	    response.sendRedirect("index.jsp");

na servlt envia a variavel
na JSP recebe a variavel

é uma servlt e uma jsp

cara qual o log que o container produz ??

post ai…ta meio estranho isso…

cara vou posta o código de novo de cada page a que envia a variavel e a que recebe