3)开发客户端程序并编译 4)激活客户端。
3)基于 RMI与基于 SOCKET开发分布式应用有什么区别?
1、socket api的执行与操作系统密切相关,因此执行开销更少。RMI需要额外的软件支持,包括代理和目录服务,这些不可避免地带来运行时开销。
2、RMI api提供了使软件开发任务更为简单的抽象。用高级抽象开发的程序更易理解,因此更易调试
3、由于运行在底层,SOCKET API通常是平台和语言独立的,RMI则不一定。
4)RMI对象能否被多个客户端并发访问? 可以
5)RMI客户回调有什么作用?
回调技术允许对特定时间的发生感兴趣的对象客户在对象服务器上注册自己,以便服务器可以在所等待事件发生时,向对象客户发起一次远程方法调用。 在RMI中,客户回调是允许对象客户在远程回调对象服务器上注册自己,以便服务器可以在所等待事件发生时,向客户发起远程方法调用的一个特征。注意,在客户回调中,远程方法调用编程是双向的(或称全双工的)。 6)桩下载(Stub downloading)可以解决 RMI的什么问
在分布式对象系统的体系结构中,需要用代理于对象客户的远程方法调用交互。在Java RMI 中,该代理是服务器远程接口stub。
Java RMI提供了客户动态访问stub的机制。使用动态stub下载,客户主机上就不再需要有stub类文件的拷贝了。取而代之的是,stub类可以在客户被激活时,按需从Web服务器传送到客户主机上。 7)题?桩下载 RMI应用的执行流程?
查找服务器的RMI注册器,服务器将查询结果返回。
支持stub下载的RMI应用的创建步骤 开发服务器端软件的算法步骤:
1.为本应用即将生成的所有文件打开一个目录;
2.在SomeInterface.java中定义远程服务器接口。编译程序,直到没有任何语法错误。 3.在SomeImpl.java中实现该接口。编译程序,直到没有任何语法错误;
4.使用RMI编译器rmic处理实现类,生成远程对象的stub文件,可以从当前目录中发现新生成的文件:rmic SomeImpl;
5.创建对象服务器程序SomeServer.java,编译程序直到没有任何语法错误; 6.如果希望使用stub下载,将stub类文件拷贝到HTTP主机的相应目录中; 7.如果使用了RMI注册表,但没有激活,请激活RMI注册表。例如: rmiregistry <端口号,默认1099>
8.也可以在对象服务器程序中使用代码激活RMI注册表;
9.为应用编辑一个Java安全策略文件,文件名为java.policy,将该文件放在相应目录中,或直接放在当前目录中;
10.激活服务器,指定希望stub下载的codebase和安全策略文件:
Java –Djava.rmi.server.codebase =http://somehost.someu/edu/stubs/ -Djava.security.polict=java.policy 开发客户端软件的算法步骤:
1.为本应用即将生成的所有文件打开一个目录;
2.获取远程方法接口类文件SomeInterface.class的一个拷贝; 3.开发客户程序SomeClient.java,编译程序生成客户类;
4.如果不希望stub下载,获取stub类文件的一个拷贝,并将其放在当前目录中; 5.为应用编辑一个Java安全策略文件java.policy,将该文件放在相应的目录或直接放在当前目录中;
6.激活客户,指定安全策略文件:
java –Djava.security.policy=java.policy SomeClient
8)RMI客户回调应用开发与一般 RMI应用开发有什么区别?
与基本RMI体系相比,此时需要两组代理,其中一组代理是服务器远程接口所需的,这和基本RMI体系结构中是相同的;另一组代理用于另外一种接口,即客户远程接口,客户远程接口所提供的方法可以被服务器在回调时调用。
第五章:WEB
1)HTTP请求和响应命令的组成与格式?
? 请求格式:HTTP请求包(GET、POST等请求方法)由三个部分构成,分别是:方法-URI-协议/版本,请求头,请求正文
由一个请求行、若干消息头、以及实体内容3个部分组成,其中的一些消息头和实
体内容都是可选的,消息头和实体内容之间要用空行隔开。 ——
——使用post方法的CGI所需的可选数据
? 应答格式:与HTTP请求包相似,由三个部分构成,分别是:协议-状态代码-描述,应
答头,应答正文。
由一个状态行、若干消息头、以及实体内容 3个部分组成,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
响应消息的实体内容就是网页文件的内容,也就是在浏览器中使用查看源文件的方式所看到的内容。
一个使用GET方式的请求消息中不能包含实体内容,只有使用POST、PUT和DELETE方式的请求消息中才可以包含实体内容。 ——
——可能包含几行头信息 ——文档本身 响应状态码: 1— 信息类,收到请求 2— 成功类,处理成功 3— 重定向类,需进一步请求 4— 客户端错误 5— 服务器错误
2)HTTP请求中常用的请求命令有哪些?
GET、POST、HEAD、OPTIONS、DELETE、TRACE、PUT、CONNENT 3)CGI是什么作用?可以编写CGI程序的语言有哪些?
? CGI作用:与客户端进行动态的交互,可以通过GET/POST来交互数据,交由CGI处理。
GET方式是直接在地址栏传输,POST在数据文件内部。GET方式方便,但是有长度限制而且数据裸露不安全。
CGI程序能够用Python, PERL, Shell, C or C++等语言来实现。
4)在web Form中请求CGI有哪两种方法?它们传递参数给CGI的方式分别是? GET POST
? WEB表单从浏览器请求服务器的方法有GET和POST两种(与HTTP协议中的两种请求方
法相一致)。如果方法(METHOD属性值)是GET,则CGI程序就从环境变量QUERY_STRING中获取Form数据;若方法是POST,则CGI程序就从标准输入(stdin)中获取Form数据。
5)在客户端维护会话状态数据和服务器端维护会话状态数据各有什么优缺点? cookies 和 session cookies:
优点:极高的扩展性和可用性
1. 通过良好的编程,控制保存在cookie中的session对象的大小。 2. 通过加密和安全传输技术(SSL),减少cookie被破解的可能性。 3. 只在cookie中存放不敏感数据,即使被盗也不会有重大损失。
4. 控制cookie的生命期,使之不会永远有效。偷盗者很可能拿到一个过期的cookie。 缺点:
1. Cookie数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉。
2. 安全性问题。如果cookie被人拦截了,那人就可以取得所有的session信息。即使加密也与事无补,因为拦截者并不需要知道cookie的意义,他只要原样转发cookie就可以达到目的了。
3. 有些状态不可能保存在客户端。例如,为了防止重复提交表单,我们需要在服务器端保存一个计数器。如果我们把这个计数器保存在客户端,那么它起不到任何作用。 session对象带给我们的一些好处,也就是优点:
1.session对象可以在页面间传递一个变量,它传递数据比request的querystring方法要方便.
2.session对象可以让网页记住用户名,实现网页的用户化, 从而赢得用户的喜好.
3.在asp-vbscript中,你可以直接使用它,不需要去定义,使用完毕后,也不用去管它.
其次: session对象在使用时也存在一些缺点:
1.一但遇到用户的浏览器设置为不支持cookies的时候,那么session也就没有办法使用.
2.session是程序执行自动生成的,在这里我们只是存放了单个的用户名,内容很少,如果存放的是大量的数据或者是一个recordset对象返回的记录集,而且很多网站都没有设置session的有效期,都是20分钟,那么机器的负担就跟着一起增加.
3.由于可以直接使用它,不需要去定义,所以一但使用过多,每个session变量的含义变得不很清晰。
6)JAVA的三种类型程序的区别?
? Application
―Java应用程序”是可以独立运行的Java程序。 由Java解释器控制执行。 ? Applet
―Java小程序”不能独立运行(嵌入到Web页中)。 由Java兼容浏览器控制执行。 ? Serverlets
是Java技术对CGI 编程的解决方案。
是运行于Web server上的、作为来自于Web browser 或其他HTTP client端的请求和在server上的数据库及其他应用程序之间的中间层程序。 Servlet 与 Applet 的比较 相似之处:
? ? ?
它们不是独立的应用程序,没有main()方法。
它们不是由用户或程序员调用,而是由另外一个应用程序(容器)调用。 它们都有一个生存周期,包含init()和destroy()方法。
不同之处:
? ?
Applet具有很好的图形界面(AWT),与浏览器一起,在客户端运行。 Servlet 则没有图形界面,运行在服务器端。
7)Servlet程序与一般 CGI的区别?
Servlet与CGI的比较
与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。在未来的技术发展过程中,Servlet有可能彻底取代CGI, 它有如下特点:
? 方便 ? 功能强大 ? 可移植性好 ? 节省投资
8)常用的两种 WEB会话跟踪技术(维护)是什么? cookie是一小段文本信息,伴随用户请求在Web服务器和浏览器之间传递,Cookie存放于客户端
和 sessionWeb服务器为客户端开辟的一块存储空间,用于存放状态信息
9)动态网页开发语言有哪些?
PHP , JSP , ASP
10) SSH框架的作用是?
SSH框架:用于构建灵活、易于扩展的多层Web应用程序。 表示层:JSP交互,Struts分派MVC分离 业务逻辑层:spring IoC容器分派DAO
数据持久层:hibernate(ORM对象关系映射) 处理DAO并返回(数据库操作) 域模块层(实体层)
11)Web开发技术有哪些?
HTMLJavaScript静态网页技术Web开发技术动态网页技术XML动态:PHP , JSP , ASP
CSS