- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简单web服务器的设计与实现
设计内容及设计要求?WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信,HTTP协议的作用原理包括四个步骤:连接,请求,应答,关闭应答。
设计内容设计要求设计
总体设计HTTP协议的作用原理包括四个步骤:
连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。
请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为: GET 路径/文件名 HTTP/1.0 文件名指出所访问的文件,HTTP/1.0指出Web浏览器使用的HTTP版本。
应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。
关闭连接:当应答结束后,Web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接。
客户端采用的是浏览器,整个系统需要设计的是服务器
服务器的用例描述
服务器实现的功能可以描述为3个用例
允许建立连接
提供服务
允许断开连接
服务器的活动图
整个工作流程如下
详细设计及代码
服务器对象的静态关系
服务器类的设计
public class Main 启动程序
public class Frame extends JFrame implements ActionListener 实现系统管理员查看服务器状态
public class Net 实现允许建立连接,提供服务,允许断开连接
代码
public class Main 启动程序
package server;
// http://ylx-PC:1111/index.html
public class Main {//接口的实现
public static void main(String[] args) { //启动程序
new Frame(); //建立窗体
}
}
public class Frame extends JFrame implements ActionListener 实现系统管理员查看服务器状态
package server;
import java.awt.*;
import java.awt.event.*;
import java.util.Date;
import javax.swing.*;
public class Frame extends JFrame implements ActionListener {
// 建立窗体组件
JPanel btnPan = new JPanel(new FlowLayout(FlowLayout.CENTER));
private JLabel listenPortLb = new JLabel(设置监听端口: );
private JLabel tishi = new JLabel(Webserver信息:);
private JLabel tian = new JLabel( );
private JTextField portTf = new JTextField(8080, 4);//设置默认端口号
JButton controlBtn = new JButton(开始);//设置按钮名称
JButton clearHintBtn = new JButton(清空);
private JTextArea hintTa = new JTextArea(动态监测服务信息\n);
private Net net;
public Frame() {
initComponent(); //初始化界面
net = new Net(this);
}
private void initComponent() { //初始化所有界面组件
buildBtnPan();
buildHintPan();
setSize(600, 450);//设置窗体大小
Toolkit tool = Toolkit.getDefaultToolkit();
s
您可能关注的文档
- 幻灯片自定义动画设置.doc
- 酒店日审工作职责及工作程序.doc
- 企业职工职业卫生培训试卷(带答案).doc
- 黄山市香溪谷旅游度假村工程咨询.doc
- 酒店市场定位及分析(完整版).doc
- 酒店式公寓委托经营管理合同.doc
- 气焊、气割作业危险危害因素及预防控制措施.doc
- 会计从业考试《会计电算化》冲刺串讲讲义-全-吉林篇.doc
- 酒店物品采购常用的几种方法.doc
- 酒店物品的中英文对照.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)