HTTP客户端的设计与实现.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、实验目的和要求 实验目的 HTTP客户端程序的功能是给出一个URL,要求程序能够获得指定URL所指向的内容,对于获得内容不必做进一步的处理,只打印HTML代码即可 通过HTTP客户端程序使学生掌握网络编程的基本知识和基本技能; 使学生掌握HTTP协议的常用命令; 通过跟踪运行java网络包,使学生了解网络编程实现的细节。 实验要求 本实验要求实现一个简单的HTTP客户端,具体内容及要求如下: 分析HTTP客户端程序的功能,要求能根据给定的URL,获得URL指向的资源,对于资源的内容可以不做任何的处理,直接打印即可; 实现HTTP客户端程序; 跟踪运行java网络包。 二、系统技术路线和运行环境 1、技术路线: 本系统采用Java语言开发,可以适应几乎所有支持JVM的操作系统。同时Java语言在网络领域的特殊优势,使得它所提供的类库中包含了较为丰富的网络编程API,可以使开发人员方便地开发网络通信类应用程序。 其次还采用了Tomcat6.0与jsp相结合的web建设、使得该系统能够更好的符合实验的要求和标准。 2、系统运行环境: 硬件环境: PC机一台 软件环境: 操作系统:Windows XP、Tomcat6.0、jdk6.0、eclipse等 程序的逻辑框图 程序流逻辑框图能够帮助我们更好的熟悉和了解该系统的运行过程,本系统的一些逻辑框图如下所示: W Web服务器 互联网 独立的应用程序 Web浏览器 客户端读取文件 本地文件 客户端从web服务器读取文件 接受URL请求进行域名解析 接受URL请求进行域名解析 向目标Web服务器发送连接请求 域名解析返回IP地址 返回出错信息 调用ipv6协议栈,与web服务器建立TCP6连接 IP地址 域名 Ipv4地址 Ipv6地址 通信并在Web服务器和客户端之间转发数据 是 是 是 否否 否否 否否 URL与地址之间的处理过程 开始 开始 返回 接收HTTP方法并设定方法标志 计算URL 接收HTTP方法并设定方法标志 接收并处理控制数据 存在网页? HTTP方法? GET N Y POST HTTP解析流程 程序源代码 1、基于URL的HttpClient.java程序代码如下: import java.awt.*; import java.awt.event.*; import java.io.*; import .*; import javax.swing.*; public class HttpClient extends JApplet implements ActionListener { //创建一个按钮来点击事件 private JButton jbtView = new JButton(View); //文本字段来接收文件的名字 private JTextField jtfURL = new JTextField(12); //文本区域来存储文件 private JTextArea jtaFile = new JTextArea(); //标签来显示状态 private JLabel jlblStatus = new JLabel(); /**初始化applet **/ public void init() { //创建一个面板来保存一个标签、文本字段和一个按钮 JPanel p1 = new JPanel(); p1.setLayout(new BorderLayout()); p1.add(new JLabel(address), BorderLayout.WEST); p1.add(jtfURL, BorderLayout.CENTER); p1.add(jbtView, BorderLayout.EAST); //放置文本区域和面板 getContentPane().setLayout(new BorderLayout()); getContentPane().add(new JScrollPane(jtaFile), BorderLayout.CENTER); getContentPane().add(p1, BorderLayout.NORTH); getContentPane().add(jlblStatus, BorderLayout.SOUTH); //登记侦听器 jbtView.addActionListener(this); } /**处理“视图”按钮**/ public void actionPerformed(ActionEvent e) { if (e.getSource() == jbtView)

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档