J2EE面试题库:Servlet、JavaMail、JSP实战解析

4星 · 超过85%的资源 需积分: 32 32 下载量 180 浏览量 更新于2024-09-17 收藏 145KB DOC 举报
"这是一份J2EE面试题集,包含了关于Servlet、JavaMail API、JSP、会话管理、自定义标签、过滤器、EJB等多个J2EE核心知识点的题目。" 在J2EE面试中,掌握以下几个关键知识点至关重要: 1. Servlet接口:每个Servlet都必须实现`javax.servlet.Servlet`接口。在这个题目中,选项b `javax.servlet.HttpServlet`是Servlet的HTTP实现,通常我们创建Servlet时会继承此类。 2. JavaMail API:发送邮件时,正确获取Session对象的方法是通过`Session.getInstance(objProperties)`,其中objProperties是配置邮件服务器的属性。 3. JSP页面执行顺序:JSP页面的执行过程中,脚本let(`<%! ... %>`)在页面被翻译成Servlet时执行,而脚本片段(`<% ... %>`)在每次请求时执行。题目中的例子中,由于`i`在页面加载时已经被初始化并递增,因此JavaScript中的`i`始终为2,所以不会有任何输出。 4. JSP输出:JSP中的`System.out.println()`不会在浏览器中显示,而是输出到服务器的日志,因此选项d正确,表示什么也不会在浏览器中输出。 5. JSP循环:JSP中的`<% for(...); %>`循环会在服务器端执行,对于每个客户端来说,它们看到的是循环执行后的结果。由于静态变量`I`和局部变量`j`的混淆,第二个客户将看到什么也没有输出。 6. 聊天记录存储:在没有数据库的情况下,聊天记录最好存储在`application`作用域中,这样所有用户都可以访问到这些记录,直到应用程序关闭。 7. 会话配置:在`web.xml`中设置的`<session-config>`标签定义了默认会话超时,单位是分钟。可以通过`HttpSession`的`getMaxInactiveInterval()`方法获取这个值。 8. `<jsp:param>`标签:它通常用于`<jsp:include>`和`<jsp:forward>`,传递参数给目标页面。在目标页面中,通过`request.getParameter()`获取参数,而不是`getAttribute()`。 9. JSP Bean的使用:在不同页面间共享Bean,需要在`session`作用域中存储,并在目标页面上强制类型转换以获取Bean。 10. JSP表达式语言:JSP2.0的表达式语法`${...}`可以用于显示计算结果,例如`${10+20}`。 11. 自定义标签:自定义标签的描述通常通过`.tld`文件完成,它定义了标签库的元数据。 12. Tag File:Tag File是JSP2.0引入的特性,允许开发者使用JSP语法来创建自定义标签,其扩展名为`.tag`。 13. Servlet Filter:Filter可以拦截请求,但不能直接生成响应,它可以用来进行身份验证、内容过滤等操作。 14. 会话Bean:有状态会话Bean通过序列化保存状态,恢复时可以继续处理之前的状态。无状态会话Bean不保存用户特定的状态。 15. EJB组件:EJB可能包括Home接口、远程接口和Bean类,但不是所有EJB都有Home接口,Bean类也不一定实现远程接口。 16. RMI远程接口:正确的RMI远程接口需要继承`Remote`接口并抛出`RemoteException`。 17. UserTransaction获取:可以通过`Context`的`getUserTransaction()`方法或JNDI查找来获取`UserTransaction`。 以上知识点涵盖了J2EE开发中的重要概念和技术,理解和掌握这些内容对于J2EE面试和实际开发工作都极其重要。