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
maniacs
Janeiro 9, 2008, 10:56am
#7
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");
maniacs
Janeiro 9, 2008, 11:12am
#10
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 !!
<%
erro nessa linha > String recebe = request.getAttribute(“envia”);
if(recebe == null){
como naum existisse esse comando
maniacs
Janeiro 9, 2008, 11:27am
#15
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