当前位置: 技术问答>java相关
各位高手,急问applet与servlet通讯问题!
来源: 互联网 发布时间:2015-09-01
本文导语: 现在在JBuilder下做试验,applet向servlet传递字符串再传回来,但是调试发现applet根本找不到servlet,如何解决?我的applet和servlet1在同一目录下 applet中主要代码如下: String queryString = "/servlet1?qry=" + URLEncoder.encode(trans...
现在在JBuilder下做试验,applet向servlet传递字符串再传回来,但是调试发现applet根本找不到servlet,如何解决?我的applet和servlet1在同一目录下
applet中主要代码如下:
String queryString = "/servlet1?qry=" + URLEncoder.encode(translateStr);
URLConnection uc = (new URL(/tech-qa-java/chatURL,queryString/index.html)).openConnection();
uc.connect();
uc.setDoOutput(true);
uc.setDoInput(true);
uc.setUseCaches(false);
uc.setRequestProperty("Content-type","application/x-www-form-urlencoded");
DataOutputStream dos = new DataOutputStream(uc.getOutputStream());
dos.writeBytes(translateStr);
dos.flush();
dos.close();
InputStreamReader in = new InputStreamReader(uc.getInputStream());
int chr = in.read();
while(chr != -1)
{
jTextField2.append(String.valueOf((char)chr));
chr = in.read();
}
in.close();
applet中主要代码如下:
String queryString = "/servlet1?qry=" + URLEncoder.encode(translateStr);
URLConnection uc = (new URL(/tech-qa-java/chatURL,queryString/index.html)).openConnection();
uc.connect();
uc.setDoOutput(true);
uc.setDoInput(true);
uc.setUseCaches(false);
uc.setRequestProperty("Content-type","application/x-www-form-urlencoded");
DataOutputStream dos = new DataOutputStream(uc.getOutputStream());
dos.writeBytes(translateStr);
dos.flush();
dos.close();
InputStreamReader in = new InputStreamReader(uc.getInputStream());
int chr = in.read();
while(chr != -1)
{
jTextField2.append(String.valueOf((char)chr));
chr = in.read();
}
in.close();
|
// Listing 2
//
// Applet client-side code to send a student object
// to a servlet in a serialized fashion.
//
// A POST method is sent to the servlet.
//
URL studentDBservlet = new URL(/tech-qa-java/webServerStr/index.html);
URLConnection servletConnection = studentDBservlet.openConnection();
// inform the connection that we will send output and accept input
servletConnection.setDoInput(true);
servletConnection.setDoOutput(true);
// Don't use a cached version of URL connection.
servletConnection.setUseCaches (false);
servletConnection.setDefaultUseCaches (false);
// Specify the content type that we will send binary data
servletConnection.setRequestProperty ("Content-Type", "application/octet-stream");
// send the student object to the servlet using serialization
outputToServlet = new ObjectOutputStream(servletConnection.getOutputStream());
// serialize the object
outputToServlet.writeObject(theStudent);
outputToServlet.flush();
outputToServlet.close();
//-------------------------------------
// Listing 5
//
// Applet client-side code to read a serialized
// vector of student objects from a servlet.
//
//
// connect to the servlet
URL studentDBservlet = new URL(/tech-qa-java/servletLocation/index.html);
URLConnection servletConnection = studentDBservlet.openConnection();
// Don't used a cached version of URL connection.
servletConnection.setUseCaches (false);
servletConnection.setDefaultUseCaches(false);
// Read the input from the servlet.
//
// The servlet will return a serialized vector containing
// student entries.
//
inputFromServlet = new ObjectInputStream(servletConnection.getInputStream());
studentVector = (Vector) inputFromServlet.readObject();
//
// Applet client-side code to send a student object
// to a servlet in a serialized fashion.
//
// A POST method is sent to the servlet.
//
URL studentDBservlet = new URL(/tech-qa-java/webServerStr/index.html);
URLConnection servletConnection = studentDBservlet.openConnection();
// inform the connection that we will send output and accept input
servletConnection.setDoInput(true);
servletConnection.setDoOutput(true);
// Don't use a cached version of URL connection.
servletConnection.setUseCaches (false);
servletConnection.setDefaultUseCaches (false);
// Specify the content type that we will send binary data
servletConnection.setRequestProperty ("Content-Type", "application/octet-stream");
// send the student object to the servlet using serialization
outputToServlet = new ObjectOutputStream(servletConnection.getOutputStream());
// serialize the object
outputToServlet.writeObject(theStudent);
outputToServlet.flush();
outputToServlet.close();
//-------------------------------------
// Listing 5
//
// Applet client-side code to read a serialized
// vector of student objects from a servlet.
//
//
// connect to the servlet
URL studentDBservlet = new URL(/tech-qa-java/servletLocation/index.html);
URLConnection servletConnection = studentDBservlet.openConnection();
// Don't used a cached version of URL connection.
servletConnection.setUseCaches (false);
servletConnection.setDefaultUseCaches(false);
// Read the input from the servlet.
//
// The servlet will return a serialized vector containing
// student entries.
//
inputFromServlet = new ObjectInputStream(servletConnection.getInputStream());
studentVector = (Vector) inputFromServlet.readObject();
|
SERVLET中:
//接收APPLET传过来的数据
ObjectInputStream input = new ObjectInputStream(request.getInputStream());
Vector in_vector = (Vector) input.readObject();
input.close();
//返回数据到APPLET中
ObjectOutputStream output = new ObjectOutputStream(response.getOutputStream());
output.writeObject(out_vector);
output.flush();
output.close();
APPLET中:
//传数据到SERVLET中
outputToServlet = new ObjectOutputStream(servletConnection.getOutputStream());
outputToServlet.writeObject(out_vector);
outputToServlet.flush();
outputToServlet.close();
//接受SERVLET数据
inputFromServlet = new ObjectInputStream(servletConnection.getInputStream());
inVector = (Vector) inputFromServlet.readObject();
//接收APPLET传过来的数据
ObjectInputStream input = new ObjectInputStream(request.getInputStream());
Vector in_vector = (Vector) input.readObject();
input.close();
//返回数据到APPLET中
ObjectOutputStream output = new ObjectOutputStream(response.getOutputStream());
output.writeObject(out_vector);
output.flush();
output.close();
APPLET中:
//传数据到SERVLET中
outputToServlet = new ObjectOutputStream(servletConnection.getOutputStream());
outputToServlet.writeObject(out_vector);
outputToServlet.flush();
outputToServlet.close();
//接受SERVLET数据
inputFromServlet = new ObjectInputStream(servletConnection.getInputStream());
inVector = (Vector) inputFromServlet.readObject();