- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计 简单web服务器的设计与实现 uml设计
简单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
文档评论(0)