另外,这是那个出错的源码,一个applet,一个servlet,相互之间进行通信,请明示啦!package app;import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;public class sendapplet extends Applet implements ActionListener {
Label sendlable;
Label messageInfo;
Button sendButton;
TextField sendText;
TextField messageText;
URLConnection connect;
String message;
URL chatURL; public String getAppletInfo() {
return "this is a applet--servlet";
} public synchronized void init() {
super.init();
resize(500, 300);
sendlable = new Label("Please enter Massage");
messageInfo = new Label("What you hava send:");
sendText = new TextField(40);
sendButton = new Button("Send");
messageText = new TextField(40);
messageText.setEditable(true);
//
//
Panel mainp = new Panel();
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
gbc.weightx = 0;
gbc.weighty = 0;
gbc.gridy = 0;
gbc.gridx = 0;
gbc.gridwidth = 10;
gbc.gridheight = 1;
gbc.anchor = GridBagConstraints.CENTER;
gbc.fill = GridBagConstraints.NONE;
mainp.setLayout(gbl);
gbl.setConstraints(sendlable, gbc);
mainp.add(sendlable);
gbc.gridy = 1;
gbc.gridwidth = 9;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbl.setConstraints(sendText, gbc);
mainp.add(sendText);
gbc.gridx = 9;
gbc.gridwidth = 1;
gbc.fill = GridBagConstraints.NONE;
gbl.setConstraints(sendButton, gbc);
mainp.add(sendButton);
gbc.gridx = 0;
gbc.gridy = 2;
gbc.gridwidth = 10;
gbl.setConstraints(messageInfo, gbc);
mainp.add(messageInfo);
gbc.gridy = 3;
gbc.weighty = 100;
gbc.gridheight = 10;
gbc.fill = GridBagConstraints.BOTH;
gbl.setConstraints(messageText, gbc);
mainp.add(messageText);
sendButton.addActionListener(this);
//构造的panel加入到applet中
setLayout(new BorderLayout());
add("Center", mainp);
chatURL = getCodeBase();
} public synchronized void start() {
} public synchronized void stop() {
} public synchronized void destroy() {
} // private void Send() {
message = sendText.getText();
//清除用户的输入信息
sendText.setText("");
showStatus("Message send!");
//把输入的字符串转化为 x-www-form-urlencoded 格式
String queryString =
"http://192.168.1.194:8988/ch01-app-context-root/receive?message=" +message; //URLEncoder.encode(message);
p("Attempting to send:" + message);
//建立与Servlet的联接,并取得Servelt的输出信息
try {
connect = (new URL(chatURL, queryString)).openConnection();
showStatus("open connection!");
//下次连接不用Cache
connect.setDefaultUseCaches(false);
//这次连接也不用Cache
connect.setUseCaches(false);
//打开淂流用于读数据
connect.setDoInput(true);
//不能用于写数据
connect.setDoOutput(false);
//服务器与客户的真正连接
connect.connect();
p("Made connection to " + connect);
//Made connection to
//sun.net.www.protocol.http.HttpURLConnection:http://192.168.1.194:8988/a1-Project1-context-root/Riceive?message=aff
showStatus("Open Stream!");
DataInputStream in = new DataInputStream(connect.getInputStream());
showStatus("reading!");
message = in.readLine();
while (message != null) {
//在消息文本框显示Servlet生成的信息
messageText.setText(message);
message = in.readLine();
//
} //end while
} //end try
catch (MalformedURLException e2) {
System.err.println("Malformedurlexception:" + e2.toString()); } //end catch
catch (IOException e1) {
System.err.println(e1.toString());
System.out.println(chatURL.getPath());
System.out.println(URLEncoder.encode(message));
}
} //end Send public void actionPerformed(ActionEvent e) {
if (e.getSource() == sendButton) {
Send();
}
} private void p(String debug) {
messageText.setText(debug);
//System.out.println("app-servlet:"+debug);
}
}package app;
import java.io.*;import java.util.Date;import javax.servlet.*;
import javax.servlet.http.*;/**/
public class Receive extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK"; public void init(ServletConfig config) throws ServletException {
super.init(config);
}
// public void Riceive // extends HttpServlet
// { /* public void service(HttpServletRequest req,
HttpServletResponse res) throws ServletException,
IOException {
res.setContentType("text/plain");
ServletOutputStream out = res.getOutputStream();
out.print("receive user message:");
out.print(req.getParameter("message"));
} //end service
}
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;public class sendapplet extends Applet implements ActionListener {
Label sendlable;
Label messageInfo;
Button sendButton;
TextField sendText;
TextField messageText;
URLConnection connect;
String message;
URL chatURL; public String getAppletInfo() {
return "this is a applet--servlet";
} public synchronized void init() {
super.init();
resize(500, 300);
sendlable = new Label("Please enter Massage");
messageInfo = new Label("What you hava send:");
sendText = new TextField(40);
sendButton = new Button("Send");
messageText = new TextField(40);
messageText.setEditable(true);
//
//
Panel mainp = new Panel();
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints gbc = new GridBagConstraints();
gbc.weightx = 0;
gbc.weighty = 0;
gbc.gridy = 0;
gbc.gridx = 0;
gbc.gridwidth = 10;
gbc.gridheight = 1;
gbc.anchor = GridBagConstraints.CENTER;
gbc.fill = GridBagConstraints.NONE;
mainp.setLayout(gbl);
gbl.setConstraints(sendlable, gbc);
mainp.add(sendlable);
gbc.gridy = 1;
gbc.gridwidth = 9;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbl.setConstraints(sendText, gbc);
mainp.add(sendText);
gbc.gridx = 9;
gbc.gridwidth = 1;
gbc.fill = GridBagConstraints.NONE;
gbl.setConstraints(sendButton, gbc);
mainp.add(sendButton);
gbc.gridx = 0;
gbc.gridy = 2;
gbc.gridwidth = 10;
gbl.setConstraints(messageInfo, gbc);
mainp.add(messageInfo);
gbc.gridy = 3;
gbc.weighty = 100;
gbc.gridheight = 10;
gbc.fill = GridBagConstraints.BOTH;
gbl.setConstraints(messageText, gbc);
mainp.add(messageText);
sendButton.addActionListener(this);
//构造的panel加入到applet中
setLayout(new BorderLayout());
add("Center", mainp);
chatURL = getCodeBase();
} public synchronized void start() {
} public synchronized void stop() {
} public synchronized void destroy() {
} // private void Send() {
message = sendText.getText();
//清除用户的输入信息
sendText.setText("");
showStatus("Message send!");
//把输入的字符串转化为 x-www-form-urlencoded 格式
String queryString =
"http://192.168.1.194:8988/ch01-app-context-root/receive?message=" +message; //URLEncoder.encode(message);
p("Attempting to send:" + message);
//建立与Servlet的联接,并取得Servelt的输出信息
try {
connect = (new URL(chatURL, queryString)).openConnection();
showStatus("open connection!");
//下次连接不用Cache
connect.setDefaultUseCaches(false);
//这次连接也不用Cache
connect.setUseCaches(false);
//打开淂流用于读数据
connect.setDoInput(true);
//不能用于写数据
connect.setDoOutput(false);
//服务器与客户的真正连接
connect.connect();
p("Made connection to " + connect);
//Made connection to
//sun.net.www.protocol.http.HttpURLConnection:http://192.168.1.194:8988/a1-Project1-context-root/Riceive?message=aff
showStatus("Open Stream!");
DataInputStream in = new DataInputStream(connect.getInputStream());
showStatus("reading!");
message = in.readLine();
while (message != null) {
//在消息文本框显示Servlet生成的信息
messageText.setText(message);
message = in.readLine();
//
} //end while
} //end try
catch (MalformedURLException e2) {
System.err.println("Malformedurlexception:" + e2.toString()); } //end catch
catch (IOException e1) {
System.err.println(e1.toString());
System.out.println(chatURL.getPath());
System.out.println(URLEncoder.encode(message));
}
} //end Send public void actionPerformed(ActionEvent e) {
if (e.getSource() == sendButton) {
Send();
}
} private void p(String debug) {
messageText.setText(debug);
//System.out.println("app-servlet:"+debug);
}
}package app;
import java.io.*;import java.util.Date;import javax.servlet.*;
import javax.servlet.http.*;/**/
public class Receive extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK"; public void init(ServletConfig config) throws ServletException {
super.init(config);
}
// public void Riceive // extends HttpServlet
// { /* public void service(HttpServletRequest req,
HttpServletResponse res) throws ServletException,
IOException {
res.setContentType("text/plain");
ServletOutputStream out = res.getOutputStream();
out.print("receive user message:");
out.print(req.getParameter("message"));
} //end service
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货