java-web实习报告

上传人:第*** 文档编号:30996856 上传时间:2018-02-03 格式:DOCX 页数:31 大小:3.31MB
返回 下载 相关 举报
java-web实习报告_第1页
第1页 / 共31页
java-web实习报告_第2页
第2页 / 共31页
java-web实习报告_第3页
第3页 / 共31页
java-web实习报告_第4页
第4页 / 共31页
java-web实习报告_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《java-web实习报告》由会员分享,可在线阅读,更多相关《java-web实习报告(31页珍藏版)》请在金锄头文库上搜索。

1、校 外 实 习 报 告实习时间:2016.06.20-2012.07.01实习地点:无锡 NIIT合肥工业大学校外实习报告 信息工程系 2013 级2016 年 7 月 15 日目录一、 实习课题介绍 .11.1 课题名称 .11.2 课题介绍 .1姓 名 学 号 专业班级 物联网 13-3 班 院系名称 信 息 工 程 系 合肥工业大学校外实习报告 信息工程系 2013 级二、 项目需求分析 .12.1 项目背景 .12.2 功能需求 .22.3 结构功能分析 .2三、 项目关键点介绍 .43.1 服务器端循环监听并接收客户端请求 .43.2 解析 HTTP 请求消息 .63.3 处理子线程

2、解析客户请求消息并响应静态资源 .13四、 项目内容截图 .14五、 实习总结与体会 .21合肥工业大学校外实习报告 信息工程系 2013 级1一、 实习课题介绍1.1 课题名称基于 Java 的 web 服务器的设计与实现1.2 课题介绍WebServer-1.0 循环接收客户端请求 对客户端的请求做出响应 解析客户端的请求头消息WebServer-2.0 根据客户端不同的请求进行相应的处理 可以解析出客户端请求的请求参数 响应静态资源WebServer-3.0 增加 ServerApp 类,存储所有的静态信息 增加 ServerFrame 类,用来控制整个服务器二、 项目需求分析2.1 项

3、目背景在日常的开发中,我们用过很多开源的 web 服务器,例如 tomcat、Apache 等等。Tomcat 服务器是一个免费的开放源代码的 WEB 应用服务器,它提供一个支持 Servlet和 JSP 运行的容器。Servlet 和 JSP 能根据实时需要,产生动态网页内容,而对于Web 服务器来说,Apache 仅仅支持静态网页,对于支持动态网页就显得无能为力。合肥工业大学校外实习报告 信息工程系 2013 级2目前,国内外信息化建设已经进入基于 Web 应用为核心的阶段,Java 作为应用于网络的最好语言,前景看好。然而用 Java 建造一个 web 应用不是件轻松的事情,现在我们自己

4、实现一个简单的 web 服务器,基本的功能就是用户通过浏览器向某一服务器请求要访问的资源,服务器解析客户请求,并将资源发送到客户端的浏览器。2.2 功能需求实现一个基于 http 协议的 WEB 服务器,多用户可同时连接请求,web 服务器能解析客户请求,并实现静态资源的响应。2.3 结构功能分析项目目录的结构Start 类中创建 CommnonResource 公共资源类的实体对象和 Show 控制面板类的实体对象,并作为系统程序的入口;CommnonResource 类是公共资源类,存放有服务器静态资源的路径、为客户建立的通信端口、服务器的开关状态信息以及服务器控制面板对象;Request

5、Header 存储请求消息类用于保存客户的请求头信息;Show 服务器控制面板类用于服务器的可视化,便于控制,可实现启动服务器、停止服务器、关闭服务器、设置用于通信的端口号、设置静态资源根目录和显示信息合肥工业大学校外实习报告 信息工程系 2013 级3等功能。SocketProcess 子线程处理类用于解析客户发来的请求头消息以及响应客户的请求资源;WebServerSevice 服务器类用于创建服务器套接字并调用其 accept()等待接受客户端的连接请求,当与新的客户端连接之后,创建并启动一个新的线程来处理这个新的连接,主线程继续等到接受其他客户端的连接,并与客户端进行通信为客户端提供服

6、务;serverAPP 用于存放服务器的静态资源三、 项目关键点介绍3.1 服务器端循环监听并接收客户端请求创建服务器套接字,用于等待来自客户端的连接请求,一旦服务器套接字接收到连接请求,则创建一个 Socket 实例来处理与客户端的通信,为每一个请求的客户启动一个处理子线程,用于处理客户的请求。部分代码:import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import .Serve

7、rSocket;import .Socket;public class WebServerService extends Thread public static String serverServicePath = serverApp;合肥工业大学校外实习报告 信息工程系 2013 级4public CommnonResource cResource;public ServerSocket serverSocket;public Socket socket;public ServerSocket getServerSocket() return serverSocket;public voi

8、d setServerSocket(ServerSocket serverSocket) this.serverSocket = serverSocket;/* 构造函数* * param cResource* 公共资源类的实例*/WebServerService(CommnonResource cResource) this.cResource = cResource;/* 重写run()方法,启动服 务器*/合肥工业大学校外实习报告 信息工程系 2013 级5public void run() / startServer();/ ServerSocket serverSocket = nu

9、ll;serverSocket = null;InputStream in = null;OutputStream out = null;try / 创建serverSocket 对象serverSocket = new ServerSocket(cResource.getPort();/ cResource.getPort(),1,InetAddress.getLocalHost()cResource.getShow().getBackWordsTextArea().append(监听端口为: + cResource.getPort() + n);while (!cResource.isSh

10、udown() / 开始监听窗口socket = serverSocket.accept();out = socket.getOutputStream();cResource.getShow().getBackWordsTextArea().append(接收到请求n);/ 启动子线程处理请求SocketProcess sProcess = new SocketProcess(socket, cResource);sProcess.start();System.out.println(sProcess.getState() + );System.out.println(此时的shudown值是

11、: + cResource.isShudown();System.out.println(服务器不再监听端口!);合肥工业大学校外实习报告 信息工程系 2013 级6if (cResource.isShudown() File file = new File(WebServerService.serverServicePath+ File.separator + StopServerService.html);in = new FileInputStream(file);byte buff = new byte1024;for (int i = in.read(buff); i != -1; i = in.read(buff) out.write(buff, 0, i);out.flush();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号