Java经典面试题:JSP与Servlet基础及隐式对象详解

需积分: 9 1 下载量 141 浏览量 更新于2024-11-08 收藏 164KB DOC 举报
Java经典面试题涵盖了多个关键知识点,包括JSP和Servlet的工作原理、异常处理、页面元素定义、J2EE中对象的作用域、隐式对象、Servlet方法、页面指令、过滤器生命周期以及基本的JSP表达式。以下是对这些问题的详细解析: 1. JSP页面执行原理:JSP页面本质上是预编译的Servlet,它首先由服务器接收请求,然后编译成Servlet源码,再执行。与Servlet相比,JSP的执行效率通常较低,因为每次请求都需要重新编译。然而,JSP的优点在于它可以混合HTML、脚本和Java代码,提高开发效率。 2. JSP异常处理:运行时异常在JSP中可以通过try-catch语句块来捕获和处理。使用<% @page isErrorPage="true" %>属性可以让JSP页面转换为错误处理页面,以便统一处理系统产生的异常。 3. 避免空值显示:在JSP中,可以使用EL表达式(如${var})来检查表单字段是否为空,避免直接输出可能的null值。例如,可以使用${var?:'默认值'}来替代直接输出,这样如果var为null,就会显示默认值。 4. JSP元素和方法定义:- 要在JSP中定义一个方法,应使用<%! %>标签,这是JavaBeans的组成部分,用于声明静态变量和方法。 5. JSP编译后的产物:JSP页面编译后会生成一个servlet,因为JSP本质上是Servlet的扩展,它会在服务器端执行。 6. 自定义标签和生命周期方法:在JSP中,当执行自定义标签时,遇到结束标签会调用doEndTag()方法来完成标签的行为。 7. J2EE对象作用域:在test.jsp中,使用<jsp:useBean>时,为了使user对象在整个会话中保持有效,应该使用`scope="session"`。 8. Servlet隐式对象:JSP的隐式对象不包括application,它通常是`pageContext`、`context`和`out`。 9. Servlet方法与重定向:在Servlet中,使用`response.sendRedirect()`方法来重定向HTTP请求到其他URL。 10. JSP页面指令和导入:`<%@ page import... %>`属性用于引入需要的包或类,使得页面可以直接使用其中的类和对象。 11. 过滤器生命周期方法:`doFilter()`方法是Servlet过滤器中的核心方法,负责对请求/响应进行处理。 12. JSP表达式:简单的算术表达式,如`<%= ’A’ + ’B’ %>`,会被解析并计算,输出结果为字符串连接,即`AB`。 13. Servlet方法的doGet()示例:这部分展示了一个简单的doGet()方法,它是处理GET请求的主要入口点。 这些知识点涵盖了JSP、Servlet、J2EE对象管理以及基本的Web开发实践,是Java Web开发面试中常被考察的部分。理解并掌握这些内容对于面试者来说至关重要。