quarta-feira, 4 de julho de 2007

Passando Uma String do Applet para o Servlets

O codigo a seguir manda uma string do applet para o servlets sem precisar
passar como paramentro na Url.

Applets



import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;


public class teste extends JApplet implements ActionListener {

JButton jbutton = null;
public void init() {
jbutton = new JButton("Send file");
jbutton.addActionListener(this);
this.getContentPane().add(jbutton);
}

public void actionPerformed(ActionEvent ae) {
if(ae.getSource() == jbutton) {
try {

String texto = "Teste";
byte[] buf= texto.getBytes();
int bytesread = 0;
String toservlet = "http://localhost:8080/AginesReports/lab"; // endereço do meu servlets

URL servleturl = new URL(toservlet);
URLConnection servletconnection = servleturl.openConnection();
servletconnection.setDoInput(true);
servletconnection.setDoOutput(true);
servletconnection.setUseCaches(false);
servletconnection.setDefaultUseCaches(false);

DataOutputStream out=new DataOutputStream(servletconnection.getOutputStream());
out.write( buf, 0, texto.length() );
out.flush();
out.close();


DataInputStream inputFromClient = new DataInputStream(servletconnection.getInputStream());

inputFromClient.close();
} catch(Exception e) {
e.printStackTrace();
}


}
}

}


Servlets


import java.util.Scanner;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class Testes extends HttpServlet {
//leitura do txt
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {

response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("");
out.println("");
out.println("

"+teste+"

");
out.println("");
out.println("");
out.close();
} catch (IOException e) {
e.printStackTrace();
}

}


private String teste;
// metodo que recebe o arquivo txt do applet
public void doPost(HttpServletRequest req,HttpServletResponse res) {
ServletContext sc = this.getServletContext();
try {

DataInputStream fromClient = new DataInputStream( req.getInputStream() );

byte[] buff = new byte[1024];
int cnt = 0;
teste = fromClient.readLine();
fromClient.close();

doGet(req,res);
} catch(Exception e) {
e.printStackTrace();
}
}

0 comentários: