Amigos,
como faço para criar um servlet que liste os dados gravados em rms (no celular) e que receba os dados enviados do celular e liste em uma página html?
não estou conseguindo efetuar, está dando erro, e só funciona quando coloco um campo dizendo que recebeu os dados do celular!
grato pela atenção,
Ramon
Tem como você colocar teu codigo aqui?
[]'s
Este é o GetPostRegistros.java
package conexao;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Vector;
import javax.microedition.io.Connection;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import principal.Pedidos;
public class GetPostRegistros {
String url = null;
HttpConnection conexao = null;
OutputStream OS = null;
InputStream IS = null;
public GetPostRegistros(String url){
this.url = url;
}
public String enviarRegistros(Vector vecNomes){
String conteudo = "";
String resultado = null;
try{
Vector vetor = new Vector();
for (int i = 0; i < vecNomes.size(); i++)
{
Pedidos item = (Pedidos)vecNomes.elementAt(i);
String cliente = item.getCliente();
String produto = item.getProduto();
int quantidade = item.getQuantidade();
//conteudo =(cliente+";"+produto+";"+quantidade).getBytes("8859_1");
conteudo =(cliente+";"+produto+";"+quantidade);
vetor.addElement(conteudo);
}
resultado = processarEnvio(vetor);
return resultado;
}catch (Exception e) {
return (resultado);
}
}
private String processarEnvio(Vector vetor)throws IOException {
try{
conexao = (HttpConnection)Connector.open(url);
conexao.setRequestMethod(HttpConnection.POST);
conexao.setRequestProperty("User-Agent","Profile/MIDP-1.0 Configuration/CLDC-1.0");
OS = conexao.openOutputStream();
String dados = "";
vetor.trimToSize();
int tam = vetor.size();
for (int i = 0;i < tam;i++)
{
dados += vetor.elementAt(i).toString() + "|";
}
dados = dados.substring(0, dados.length()-1);
OS.write(dados.getBytes());
//OS.flush();
return "Dados enviados com sucesso";
}catch (Exception e){
return "Problema no envio dos dados";
}
finally {
if(OS!= null) {
OS.close();
}
if(IS!= null) {
IS.close();
}
if(conexao != null) {
conexao.close();
}
}
}
}
Este é o servlet que recebe pedidos, mas a única mensagem é que recebeu corretamente, mas quero que em vez disso abrisse uma página, pode ser jsp ou htm, que listasse os item enviados.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.StringTokenizer;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.entidade.Pedido;
public class RecebePedidos extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
public RecebePedidos() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
out.println("Servlet RecebePedidos chamado! ");
out.println(new Date());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
String cliente = "";
String produto = "";
String quantidade = "";
BufferedReader br = request.getReader();
String buff;
ArrayList<Pedido> listaPedido = new ArrayList<Pedido>();
Pedido pedido = null;
String registro = "";
while (( buff = br.readLine()) != null){
StringTokenizer st = new StringTokenizer(buff,"|");
/*if (st.hasMoreTokens()){
cliente = (String)st.nextToken();
System.out.println("Cliente="+cliente);
}
if (st.hasMoreTokens()){
produto = (String)st.nextToken();
System.out.println("Produto="+produto);}
if (st.hasMoreTokens()){
quantidade = (String)st.nextToken();
System.out.println("Quantidade="+quantidade);
}
*/
while (st.hasMoreTokens())
{
registro = st.nextToken();
StringTokenizer st2 = new StringTokenizer(registro,";");
while (st2.hasMoreTokens())
{
cliente = st2.nextToken();
produto = st2.nextToken();
quantidade = st2.nextToken();
}
pedido = new Pedido();
pedido.setNome(cliente);
pedido.setProduto(produto);
pedido.setQuantidade(Integer.parseInt(quantidade));
listaPedido.add(pedido);
}
}
request.setAttribute("listaPedido", listaPedido);
//response.sendRedirect("/WEB-INF/paginas/listaPedido.jsp");
request.getRequestDispatcher("/WEB-INF/paginas/listaPedido.jsp").forward(request, response);
//out.print("Dados recebidos com sucesso");
}
}
tipo assim, enviei dados como: nome do cliente, pedido e a quantidade, e em vez que aparecer apenas uma mensagem, queria que listasse esses dados.
Grato