分享
 
 
 

Servle和applet通信

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

sendApplet.Java

import java.applet.Applet;

import java.awt;

import java.net.*;

import java.io.*;

public class sendApplet extends Applet

{

Lable sendlable;

Lable messageinfor;

Button sendButton;

TextField messageText;

TextField sendText;

URLConnection connect;

String message;

public String getAppletInfo()

{

return "sendApplet - Applet to communicate with receiveServlet , Written by ding;";

}

public synchronized void init()

{

super.init();

resize(500,300);

sendlable = new Lable("Please Enter Massage");

messageInfor = new Lable("What you have send:");

sendButton = new Button("Send");

sendText = new TextField(40);

messageText = new TextField(40);

messageText.setEditable(false);

//下面实现一个Panel

Panel mainp = new Panel();

GridBagLayout gbl = new GridBaglayout();

GridBagConstraints gbc = new GridBagConstraints();

gbc.weightx = 0;

gbc.weighty = 0;

gbc.gridx = 0;

gbc.gridy = 0;

gbc.gridwidth = 10;

gbc.gridheight= 1;

gbc.anchor = GridBagConstraints.CENTER;

gbc.fill = GridBagConstraints.NONE;

mainp.setLayout(gbl);

gbl.setConstrains(sendable,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);

//把实现的Panel加入Applet

setLayout(new BorderLayout());

Add("Center",mainp);

chatURL = getCodeBase();

}

public synchronized void start()

{

}

public synchronized void stop()

{

}

public synchronized void destroy()

{

}

//方法SEND 把用户在applet 中输入的字符串送给Servlet

//然后把Servlet 的处理结果显示出来

Private void Send()

{

message = sendText.getText();

//清除用户的输入信息

sendText.setText("");

showStatus("Message send!");

//把输入的字符串转化为 x-www-form-urlencoded 格式

String queryString = "/servlet/ReceiveServlet?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);

showStatus("Open Stream!");

DataInputStream in = new DataInputStream(connect.getInputStream());

showStatus("reading!");

message = in.readLine();

while (message! = null)

{

messageText.setText(message);

message = in.readLine();

}

}

catch(MalformedURLException e2)

{

System.err.println("MalformedURLException!");

e2.printStackTrace(System.err);

showStatus("MalformedURLException!");

}

catch(IOException e1)

{

System.err.println("IOException!");

e2.printStackTrace(System.err);

showStatus("IOException");

}

}

}

//applet 对用户的动作作处理。

public boolean action(Event evt,Object arg)

{

if (evt.target == sendButton)

{

Send();

return true;

}

return super.action(evt,arg);

}

private void p(String debug)

{

System.err.println("app-serv-let:"+debug);

}

}

///////////////////////////////////////////

receiveservlet.java

import java.io.*;

import java.util.Date;

import javax.servlet.*;

import javax.servlet.http.*;

public class receiveservlet 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"));

}

public String getServletInfo()

{

return "return a String representation of the current time";

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有