武汉天喻笔试精华:JSP内置对象与Servlet区别详解

4星 · 超过85%的资源 需积分: 13 92 下载量 155 浏览量 更新于2024-09-12 8 收藏 77KB DOC 举报
武汉天喻的笔试题目涉及了Java Server Pages (JSP) 的核心概念以及Servlet的相关知识。以下是这些知识点的详细解释: 1. JSP内置对象: - `request`: HttpServletRequest对象,包含了客户端浏览器的请求信息,如Cookie、Header和Session数据,通过`getCookies()`、`getHeader()`和`getSession()`等方法获取相关信息。 - `response`: HttpServletResponse对象,负责设置返回给浏览器的响应,包括设置Cookie、头信息等,通过`setCookie()`、`addHeader()`等方法操作。 - `out`: javax.jsp.JspWriter实例,用于向浏览器发送输出,提供了向页面写入HTML或文本的方法。 - `pageContext`: javax.servlet.jsp.PageContext对象,提供了访问命名空间和servlet相关对象的API,封装了通用的servlet功能。 - `session`: javax.servlet.http.HttpSession对象,用于存储用户会话状态信息,用于保持用户的持久连接。 - `application`: javax.servlet.ServletContext对象,用于获取servlet引擎和整个应用环境的信息。 - `config`: javax.servlet.ServletConfig对象,存储servlet初始化参数,用于配置servlet的行为。 2. Servlet与JSP的区别: - Servlet是一个完整的服务器端应用程序,其逻辑代码在Java文件中实现,与表现层HTML分离,更注重业务逻辑处理。 - JSP则作为Servlet的简化形式,允许Java代码与HTML混合在同一文件中,更加直观地处理页面展示。尽管JSP本质上也是编译为类servlet,但它更侧重于视图层面,使得开发人员更容易关注页面呈现。 3. 转发与重定向的区别: - 转发(Forward)是Servlet中的机制,使用`request.getRequestDispatcher()`方法将请求从一个Servlet或JSP页面传递给另一个。这种方式保留了原来的请求上下文,适合内部逻辑流转。 - 重定向(Redirect)则是通过`response.sendRedirect()`方法改变浏览器的URL,引导用户到新的页面。重定向创建了一个新的HTTP请求,因此不会保留原有的会话状态信息。通常用于页面间的导航,不适用于需要保持状态的场景。 掌握这些概念对于理解JSP和Servlet的工作原理,以及面试时应对相关问题至关重要。在实际项目中,开发者需要灵活运用这些技术,根据需求选择合适的方法来构建动态Web应用。