一个applet-servlet通讯的例子

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

作者:climbeNET

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航