网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.ChinaSourcing借国际会展打造国家.
.迈博科技推出Ubox广域协同工作系.
.Properties类不直接支持多语言属.
.泛型爪哇(Generic Java).
.fontcolor 方法.
.从.class文件中寻找类名.
.开发不再是苦差事 用Eclipse简化.
.Shark中的ToolAgent用法-JavaCla.
.Jini 和 PvC.
.2003 冬季 Java FAQ.
.怎样在APPLET中发EMAIL javamail.
.精通ejb【五】.
.J2ee核心技术:J2EE Frameworks介.
.关于J2EE中软件基础结构的瓶颈.
.Shark中的ToolAgent用法-Runtime.
.JAVA中正则表达式的应用(1).
.JDK6.0新特性:Desktop和SystemTr.
.MagicDraw UML 11.0&n.
.Java 理论与实践: 关于异常的争论.
.基于OO模版技术的文档Web输出新法.

Servle和applet通信

发表日期:2008-1-5



  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";
}
}
 
上一篇:Siemens Java开发初步 人气:667
下一篇:SimpleXmlEditor项目立项 人气:638
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐