基于Java的Web服务器设计与实现

目录
一、 课程设计时间安排 2
二、 课程设计目的 2
三、 课程设计要求 2
四、 课程设计题目(Java Web 服务器开发) 3
五、 注意事项 3
1.系统概述 4
1.1系统背景 4
1.2系统目标 4
1.3开发环境与工具 4
2.需求分析 5
2.1系统需求概述 5
2.2功能性需求 6
2.3非功能性需求 7
3.概要设计 7
3.1系统总体设计 7
3.2系统功能设计 8
4.详细设计 9
4.1 模块接口设计 9
5.系统成果展示 11
5.1 模块 1 11
5.2 模块 2 12
5.3 模块 3 13
5.4 模块 4 14
5.5 模块 5 14
5.6 模块 6 15
5.7 模块 7 16
5.8 模块 8 16
5.9 模块 9 17
6.实习体会 17
课程设计题目(Java Web 服务器开发)
实现一个支持静态页面、Servlet、简单 JSP 的 Web 服务器。
1.静态任务:
1)能响应请求的 html 页面;
2)还能够响应请求的 gif , jpg 的等图片文件;
3)能响应请求的目录的信息,并以列表显示;
2.实现图形化界面:
1)界面上包含 Web 主目录编辑框(可通过点击选择目录)和 Web 服务端口编辑框。
2)界面包含启动按钮。点击启动按钮,启动服务,并打开浏览器,直接访问 web 服务器。
3)界面包含文本区域,滚动现实服务器端日志。
3.提供 Servlet 支持:
1)支持从 Web.xml 中读取 Servlet 配置信息;
2)动态构建 Servlet 对象,响应用户的 doGet 和 doPost 请求,返回响应结果到客户端;
3)标准的 Servlet 代码,无需修改在开发的系统中能够运行。
4.实现 JSP 支持
1)部分支持 JSP 中的<%= 表达式 %>语法,包含基本的 request,response 等
2)(提高要求)支持部分自定义标签
3)(提高要求)支持其它 JSP 语法
5.扩展功能(提高要求)
1)支持从 Web.xml 中读取 Filter 配置信息,实现标准的 filter 行为
2)提高对 Listener 的实现
3)支持用户多次访问间 Session、Application 信息的共享
6.限制与约束
1)本课程设计的可使用的库仅限于 Jave SE 基本库。除基本的 XML 操作库外,不允许使用 J2SE 中,本文转载自http://www.biyezuopin.vip/onews.asp?id=16785
HttpServer 类,也不允许使用其它非 Jave SE 库(如各种来源的 servlet-api.jar、jsp-api.jar、jasper.jar、其它相关功能的实现)。
2)服务器需要支持并发请求。
3)示例网站的代码可以在开发的系统上正常运行。
4)考虑到 Oracle JDK 的商业许可约束,可采用 Open JDK 代替 Oracle JDK 进行开发。

import java.io.*; 
import java.text.*; 
import java.util.*;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 
public class	show3 extends HttpServlet { 
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			  throws IOException
	  {
 					response.setContentType("text/html");
 					PrintWriter out = response.getWriter(); 
					out.println("<!DOCTYPE html><html><head><title>Testing for Servlet-MVC</title><body> <h1>Recommended Pet - Testing for Web-MVC</h1> <p>You want a ");
					out.println(request.getParameter("legs"));
					out.println("-legged pet weighing ");
					out.println(request.getParameter("weight"));
					out.println("lbs.</p><p> We recommend getting <b>");
					out.println(request.getAttribute("pet"));
					out.println("</b></p></body> </html>");
					out.close();
	  }
 	public void doPost(HttpServletRequest request, HttpServletResponse response ) 
						throws  IOException { 
						doGet( request,  response);
		}
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shejizuopin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值