已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA数据流的应用常常逛WWW的人, 一定不会对许多起始页的计数器感到陌生。当你每一次光临某些站点的起始页时, 起始页的计数器就会亲切的告诉你,从某年某月某日开始算起, 您是第几个光临这个起始页的人。你可能知道这是用CGI做的,后面是什么?不是十分清楚吧!我们这里来分析一下计数器吧; 如是我写下本文。 当你看完本文之后人你会觉得计数器是这样的简单、以后上Internet网时不会觉得漂亮的是多么的复杂,而是一个CGI和数据流的杰作。看看吧是多么的平常! import .*;import java.io.*;import java.awt.*;在这里小程序引入了三类库。都是标准类库,为了使用数据流而引入了java.io.*类库;为了使URL引入了.*类库;同时为了在字形与图形引入了java.awt.*类库。 public class JavaCounter extends java.applet.Applet这里扩展了Applet,这里的JavaCounter是继承了Applet的属性。Font fn=new Font(TimesRoman,Font.BOLD,24);设置了显示的字形和使用的确24点字模。String counter_str,myurl;String filename;取得资源Counter。public void init()关键字public告诉java编译器其它对象从类Applet的外部调用init函数关键字void告诉java编译器init不向prowser返回任何值。 filename=getParameter(filename); if(filename=null) filename=home.txt; myurl=2/cgi-bin/counter.exe?home.txt; try URL serverURL=new URL(myurl); DataInputStream dis; dis=new DataInputStream(serverURL.openStream(); counter_str=dis.readLine(); counter_str=dis.readLine(); dis.close(); catch(MalformedURLException mfURLe) catch(IOException ioe) 这里我们从网络的远程取得数据文件的过程。 注:虽然有此URL位置看起来长,但在JAVA中基本上是一资源的传输协议,加上一个资源的名称。如上面中的HTTP一样都是典型的传输协议。通常具有一个或多个结构。为了处理方便,在JAVA中特别为URL位置设计了URL类,可以用一个URL对象记录下完整URL信息,这里我们使用的就是URL。同时我们用了java.io.*;中的数据流的程序包。数据流可以看作是数据的通信途径。通常是建立一条数据通道后在程序读取时向这个通道发送信号、远方数据自动送来的过程我们叫做数据流。而本程序主要部分也是这些。 public void paint(Graphics g) g.setFont(fn); g.setColor(Color.blue); g.drawString(庆祝吧! 第counter_str位朋友您的到来!,10,50); 当我们从数据流收到信息后,就由Applet中的方法paint去处理,并把设好的字形显示于屏幕上。 注:编好这个程序之后还要一个CGI程序才能发挥作用。还是说一下CGI的其本思路吧!我们先打开counter.exe?home.txt的记录读出记录加1并更新数据关闭记录。并输出记录通过数据流给JAVA程序读取的方式。下面CGI例子是用C+编的你不妨试试吧!同时为了读和应用的方便写下了CGI与JAVA的全部原程序。 Java原程序如下: import .*;import java.io.*;import java.awt.*;public class JavaCounter extends java.applet.AppletFont fn=new Font(TimesRoman,Font.BOLD,24);String counter_str,myurl;String filename;public void init() filename=getParameter(filename); if(filename=null) filename=home.txt; myurl=2/ cgi-bin/counter.exe?home.txt; try URL serverURL=new URL(myurl); DataInputStream dis; dis=new DataInputStream(serverURL.openStream(); counter_str=dis.readLine(); counter_str=dis.readLine(); dis.close(); catch(MalformedURLException mfURLe) catch(IOException ioe) public void paint(Graphics g) g.setFont(fn); g.setColor(Color.blue); g.drawString(counter_str,10,50); CGI程序代码如下: #include #include int SplitArgs (char *str, char *argv);int PASCAL WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nShow) int argc; char *argv32; / Max 32 command line arg long num; FILE *fp; argc = SplitArgs(lpszCmdLine, argv); / Split command line argsputs(Content-type: text/plainn); / NOTE: blank line here if(argc =1) printf(!Too less Parameter!); printf(n用法为在counter.exe? 后加上数据文件名); return(1); fp=fopen(argv1,r); fscanf(fp,%ld,&num); num+; printf(n%ld,num); fclose(fp); fp=fopen(argv1,w); fprintf(fp,%ld,num); fclose(fp); return(0);int SplitArgs (char *str, char *argv) int argc; char *cp; static char safe_copy256; / Single threaded, this is OK char appname256; GetModuleFileName(NULL, appname, 256); / Get app filename memset(safe_copy, 0, sizeof(safe_copy); / Must clear old stuff. strcpy(safe_copy, appname); / VC+ 2.0 strcat(safe_copy, ); strcat(safe_copy, str); argc = 0; cp = safe_copy; while (*cp) / Stop at null character while(*cp & isspace (*cp) / Scan past white or to end cp += 1; if(*cp) / On next token or at end argvargc+ = cp; / Next token: ptr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 县级文化馆面试非遗保护题
- 企业档案管理及保密工作计划
- 咖啡师拉花技巧训练手冲咖啡制作与顾客服务流程
- 个人品牌IP打造与影响力提升攻略
- 香道师中级实践操作手册
- 前端开发框架对比及实践指南-前端开发
- 投资项目财务评估与风险控制
- 中级农村电商客服的沟通技巧与处理方案
- 度焊接与热切割钎焊技能提升培训计划
- 初级数字孪生技术员的工作安排与技巧培训
- 安全管理规章制度与应急预案
- 2025中数联物流科技(上海)有限公司招聘笔试历年备考题库附带答案详解2套试卷
- 2025计算机网络考试试题及答案
- 2025年宠物经济消费者画像及市场潜力研究报告
- 2024-2025学年安徽省合肥市第三十八中学教育集团八年级上学期期中考试数学试卷
- 企业税务合规检查表
- 安全生产费用提取和管理办法规定
- 保安常规培训课件
- 饮料GMP基础知识培训课件
- 新时代乡村治理培训课件
- 2025贵州省专业技术人员继续教育公需科目考试题库(2025公需课课程)
评论
0/150
提交评论