background image

getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径
getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性

4. J2EE 是技术还是平台还是框架? 

J2EE 本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
J2EE 也是一个框架,包括 JDBC、JNDI、RMI、JMS、EJB、JTA 等技术。 

5. 我们在 web 应用开发过程中经常遇到输出某种编码的字符,如 iso8859-1 等,如何输

出一个某种编码的字符串?

 

Public String translate (String str) { String tempStr = "";
try {
tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");
tempStr = tempStr.trim();
}
catch (Exception e) {
System.err.println(e.getMessage());
}
return tempStr;

6. 简述逻辑操作(&,|,^)与条件操作(&&,||)的区别 ? 

区别主要答两点:

a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且

可以操作数值型

 

b.逻辑操作不会产生短路 

7. XML 文档定义有几种形式?它们之间有何本质区别?解析 XML 文档有哪几种方式?

 
a: 两种形式 dtd schema,b: 本质区别:schema 本身是 xml 的,可以被 XML 解析器
解析

(这也是从 DTD 上发展 schema 的根本目的),c:有 DOM,SAX,STAX 等 DOM:处

理大型文件时其性能下降的非常厉害。这个问题是由

DOM 的树结构所造成的,这种结构

占用的内存较多,而且

DOM 必须在解析文件之前把整个文档装入内存,适合对 XML 的

随机访问

 

SAX:不现于 DOM,SAX 是事件驱动型的 XML 解析方式。它顺序读取 XML 文件

不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结
束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理

XML 文件,

适合对

XML 的顺序访问 STAX:Streaming API for XML (StAX) 

8. 简述 synchronized 和 java.util.concurrent.locks.Lock 的异同 ? 

主要相同点:

Lock 能完成 synchronized 所实现的所有功能主要不同点:Lock 有比

synchronized 更精确的线程语义和更好的性能。 synchronized 会自动释放锁,而
Lock 一定要求程序员手工释放,并且必须在 finally 从句中释放。 

9. EJB 的角色和三个对象 

一个完整的基于

EJB 的分布式计算结构由六个角色组成,这六个角色可以由不同的开发

商提供,每个角色所作的工作必须遵循

Sun 公司提供的 EJB 规范,以保证彼此之间的兼

容性。这六个角色分别是

EJB 组件开发者(Enterprise Bean Provider) 、应用组合者