1. web 中的 forward 和 redirect 的区别?
前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;
后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中
可以看到跳转后的链接地址。
所以,前者更加高效,在前者可以满足需要时,尽量使用 forward()方法,并且,这样也有助于隐藏实际
的链接。
在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用 sendRedirect()方法。
2. xml 在解释的时候 DOM 和 SAX 协议的区别和含义?
DOM:处理大型文件时其性能下降的非常厉害。这个问题是由 DOM 的树结构所造成的,这种结构占用的内存较多,而且
DOM 必须在解析文件之前把整个文档装入内存,适合对 XML 的随机访问
SAX:不现于 DOM,SAX 是事件驱动型的 XML 解析方式。它顺序读取 XML 文件,不需要一次全部装载整个文件。当遇到像
文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处
理 XML 文件,适合对 XML 的顺序访问
3 说明 JNDI、JMS、JTA、RMI 的意思?
JNDI(Java Naming and Directory Interface)是一个应用程序设计的 API,为开发人员提供了查找和访问各种命名和
目录服务的通用、统一的接口,类似 JDBC 都是构建在抽象层上。
JMS(Java Messaging Service)是 Java 平台上有关面向消息中间件的技术规范,翻译为 Java 消息服务。JMS 支持点
对点和发布/订阅两种消息模型。
JTA(Java Transaction API) 为 J2EE 平台提供了分布式事务服务。要用 JTA 进行事务界定,应用程序要调用
javax.transaction.UserTransaction 接口中的方法.
RMI 是 Java 的一组拥护开发分布式应用程序的 API。RMI 使用 Java 语言接口定义了远程对象,它集合了 Java 序列化和
Java 远程方法协议(Java Remote Method Protocol)。它大大增强了 Java 开发分布式应用的能力
4.单例模式
Public class Signle{
Private Signle(){
}
Pirvate static Signle signle = new Signle();
Public static Signle gets(){
Retrun signle;
}
}
5 数据库中 left join 的意思,和在什么场合中应用?
LEFT JOIN 操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左
边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。
6 ejb 中的 sessionbean 和 entitybean 的区别和含义?
SessionBean 在 J2EE 应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他 EJB 组件。
EntityBean 被用来代表应用系统中用到的数据。
对于客户机,SessionBean 是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机,EntityBean 是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有
企业应用程序实现的实体。
7 抽象类和接口的区别
1:一个类可以实现任意多的接口,但是最多只能对一个抽象类进行子类化。