网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  servle和applet通信     
  文章作者:未知  文章来源:水木森林  
  查看:119次  录入:管理员--2007-11-17  
 
  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";
}
}
 
 
 
上一篇: servlet运行环境所需的软件安装及wap编程环境设置    下一篇: siemens java开发初步
  相关文档
与篮球共舞,尽显模式本色 11-17
一个使用java读取串口的程序(1) 11-17
j2se综合--java 5.0 多线程编程实践 02-29
让web start解决你的应用部署问题 11-17
充分利用链接异常处理 11-17
小议局部类(1) 11-17
ajax程序设计入门 11-17
按照屏幕比例改变窗口大小 11-17
java中:关于++和-- 11-17
hibernate配置文件在单元测试中的应用 11-16
定义一个包 11-17
sun认证java2程序员考试(scjp) 试题解析 11-16
发现 eclipse 中未解析的插件依赖性 11-17
java application启动画面的制作 11-16
java入门(6)java数据类型 11-17
类装入问题解密,第 3 部分: 处理更少见的类装入问题 11-17
采用poi创建excel文件 11-17
使用vector获取页面数值画折线图 11-16
简单客户系统的权限控制实现 11-17
java网络编程之uri、url研究专题一(图) 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息