您现在的位置:软界网技术中心软件开发Java > 技术显示
一个applet-servlet通讯的例子
2005-4-8 0:00:00   网友评论       阅读次数 点此评论
   Applet文件
===========================
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(false);
//


//
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!');
p('Message send!');
messageText.setText('message');
String queryString='/servlet/Receive?message'+URLEncoder.encode(message);
p('Attemping to send :'+message);
try{
connect=(new URL(chatURL,queryString)).openConnection();
showStatus('Open Connection!');
connect.setDefaultUseCaches(false);
connect.setUseCaches(false);
connect.setDoInput(true);
connect.setDoOutput(false);
connect.connect();
p('Make connection to '+connect);
showStatus('Open Sream!');
DataInputStream in=new DataInputStream(connect.getInputStream());
showStatus('reading');
message=in.readLine();
while(message!=null)
{
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());

}

}//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);

}

}


Servlet文件
===========================
import java.io.*;
import java.util.Date;
import javax.servlet.*;
import javax.servlet.http.*;
public void Riceive extends HttpServlet
{
public void service(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
{
res.setContenType('text/plain');
ServletOutputStream out=res.getOutputStream();
out.print('recive user message:');
out.print(req.getParameter('message'));


}//end service

}//end receive  
      来源: 作者:
 
【评论查看】
更多关于 一个applet-servlet通讯的例子  的技术