1.用自己的语言简单说明 cgi编程的优点和缺点
※优点:html是静态的网页,无法实现一些复杂的功能,而cgi可以为我们实现,补充了html的不足。
※缺点:cgi应用程序需要使用CPU的时间和内存,如果有过多的程序同时运行,会导致服务器崩溃。同时,不完善的cgi程序可能成为别人非法进入服务器系统的通道。
2.在 cgi 实验的基础上,简述middleware 在程序开发中的作用
※middleware用于运行在一台或多台机器上的程序在网络上的交互,能够帮助用户灵活、高效地开发和集成复杂的应用软件。
由于标准接口对于可移植性、标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件就几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。
3.搜索 org.eclipse.jetty.server.handler.AbstractHandler类
※包括了继承的结构,实现的接口,已知的直接子类,构造函数概览,方法概览。
※实现了org.eclipse.jetty.server.handler接口,有handler、container、destroyable、dumpable、lifecycle方法。
4.Java web 编程有几个元素是我们编程学习的重要内容:
· javax.servlet.http.HttpServletRequest
· javax.servlet.http.HttpServletResponse
· javax.servlet.ServletRequest
· javax.servlet.ServletResponse
· –
· 它们是 类 还是 接口?是那个机构定义?
※接口。The Apache Software Foundation
· response.getWriter() 中 getWriter 返回的对象是什么?
※java.io.PrintWriter
· 简述 javax.servlet.ServletResponse 的 getOutputStream() 和 getWriter() 的区别
※getWriter()提供了写入stream的格式化方法,而getOutputStream()没有。
· 对比 javax.servlet.http.HttpServletResponse 和 javax.servlet.ServletResponse 的方法。这是一个典型装饰模式, HttpServletResponse 添加了哪些新职能?
※添加了Http的内容比如头部、cookie
5. Maven 默认的本地仓库路径是什么? 找到 JettyMavenHelloWarApp打包的 war文件的位置。
※路径是${user}/.m2/repository/
※位置在JettyMavenHelloWarApp目录下target文件夹内
学习小结:
安装了aphache httpd,并配置了CGI服务。
熟悉了maven项目构建工具。
了解了标准Servlet程序。
了解了Java Web编程中的一些类。