Java面试重点:OOP、重定向与转发、JSP内置对象解析

需积分: 2 0 下载量 127 浏览量 更新于2024-07-09 收藏 57KB PPT 举报
"Java面试整理(六).ppt" 在Java Web开发中,面试经常会涉及到对核心概念的理解,包括面向对象编程(OOP)、请求处理、页面包含以及JSP内置对象的运用。以下是对这些知识点的详细解释: 1. **Java OOP(面向对象编程)** 面向对象编程是Java的基础,它强调对象的封装、继承和多态。在面试中,面试官可能会询问关于类、对象、接口、继承、抽象类、访问修饰符、构造器等方面的问题,以及如何利用这些特性来设计和实现高效的代码结构。 2. **forward和redirect的区别** - **forward(转发)**:使用`RequestDispatcher.forward()`方法,转发发生在服务器端,客户端浏览器的URL不会改变,因此对用户透明。转发可以访问同一个应用中的任何资源,包括静态和动态页面。因为转发只发生一次请求,所以效率较高,但无法实现跨域请求。 - **redirect(重定向)**:使用`HttpResponse.sendRedirect()`方法,实际上是客户端发起一个新的HTTP请求,浏览器地址栏会显示新的URL。重定向支持跨域,但效率较低,且无法传递请求属性。 3. **JSP中动态INCLUDE与静态INCLUDE的区别** - **动态INCLUDE**:使用`<jsp:include page="..." flush="true">`,每次请求都会检查被包含页面的内容,适合包含可能变化的动态内容,可以传递参数。 - **静态INCLUDE**:使用`<%@include file="...">`,在编译JSP时就已经确定了被包含页面的内容,适用于包含不会变化的静态内容,不支持传递参数。 4. **JSP的内置对象** - **Request对象**:代表`HttpServletRequest`,它提供了获取请求参数、请求头、cookie和session数据的方法,如`getParameter()`, `getHeader()`, `getAttribute()`等。 - **Response对象**:代表`HttpServletResponse`,可以设置响应状态码、响应头(如设置cookie)、响应体内容等,如`setStatus()`, `setHeader()`, `getOutputStream()`等。 - **Out对象**:`javax.servlet.jsp.JspWriter`的实例,用于向客户端输出内容,如`println()`, `print()`等方法。 - **PageContext对象**:提供对当前页面范围的访问,以及对其他范围(如请求、会话、应用)的便捷访问,还封装了通用的Servlet API,如`getPageContext().getServletContext()`。 了解和掌握这些Java Web开发的核心概念对于Java开发者来说至关重要,尤其是在面试中,能够展示出对技术的深入理解和实际操作能力。在面试准备中,不仅要理解这些概念,还需要通过实践来巩固和提升自己的技能。