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) 、应用组合者