Servlet中的转向
一般在Java web开发中会用到JSP和Servlet技术。Servlet控制业务流转,JSP则负责业务处理结果的显示。所以,经常会遇到页面的重定向。
重定向技术可以分为两类:一类是客户端重定向,另一类是服务器端重定向。Servlet中的重定向属于服务器端技术。
Servlet服务器端得重定向有两种方式,一是使用HttpServletResponse的sendRedirect()方法,另一个是使用RequestDispatcher的forward()方法。
HttpServletResponse接口定义转向的sendRedirect()方法代码如下:
public void sendRedirect(String url) throws java.io.IOException
其中url参数可以是一个绝对的URL,如response.sendRedirect(http://java.sun.com),也可以是一个相对的URL地址。如果url以“/”开始,则容器认为相对于当前Web应用的根。
RequestDispatcher是一个Web资源的包装器,可以用来把当前request传递到该资源,或者把新的资源包括到当前响应中。RequestDispatcher接口中定义了两个方法:
public interface RequestDispatcher {
void forward(ServletRequest request, ServletResponse response)
void include(ServletRequest request, ServletResponse response)
}
forward()方法将当前的request和response重定向到该RequestDispacher指定的资源。这在实际项目中大量使用。一个RequestDispatcher对象可以把请求发送到任意一个服务器资源,而不仅仅是另外一个Servlet。Include()方法将把Request Dispatcher资源的输出包含到当前输出中。
得到RequestDispatcher对象的三种方法:
A.javax.servlet. ServletRequest的getRequestDispatcher(String path)方法,其中path可以是相对路径,但不能越出当前Servlet上下文。如果path以“/”开头,则解析为相对于当前上下文的根。
B.javax.servlet. ServletContext的getRequestDispatcher(String path)方法,其中path必须以“/”开头,路径相对于当前的Servlet上下文。可以调用ServletContext的getContext(String uripath)得到另一个Servlet上下文,并可以转向到外部上下文的一个服务器资源链接。
C.javax.servlet. ServletContext的getNamedDispatcher(String name)得到名为name的一个Web资源,包括Servlet和JSP页面。这个资源的名字在Web应用部署描述文件web.xml中指定。
分享到:
相关推荐
Servlet是Java Web开发中的核心组件,它用于扩展服务器的功能,处理来自客户端(通常是Web浏览器)的请求,并向客户端发送响应。这个"Servlet中文帮助文档CHM格式"提供了一个全面的指南,帮助开发者理解和掌握...
而Servlet是Java世界中的一个核心组件,主要用于构建Web应用程序。本篇将深入探讨如何利用C#来调用Servlet并发送XML数据,这对于跨语言通信和系统集成具有重要意义。 首先,理解C#调用Servlet的过程。Servlet是Java...
- **异步Servlet**:Java Servlet 3.0引入了异步处理,Servlet可以在后台线程中执行耗时任务,从而提高响应速度。 5. **最佳实践与设计模式** 在实际开发中,为了实现可扩展性和可维护性,开发者通常会采用MVC...
在Web开发中,Servlet和jQuery是两种非常重要的技术。Servlet主要负责服务器端的逻辑处理,而jQuery则是一种广泛使用的JavaScript库,简化了DOM操作、事件处理以及Ajax交互。本篇文章将详细探讨如何利用Servlet生成...
在本例中,"jsp结束"可能意味着我们正在从JSP开发转向更直接的Servlet编程。 3. **Servlet配置**:Servlet需要在Web应用的部署描述符(web.xml)中进行声明和配置。配置包括Servlet的类名、URL映射、初始化参数等。...
1. RequestDispatcher.forward() 方法:仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址,不会改变 Request 的值。 2. HttpServletResponse.sendRedirect() 方法:完全的跳转,浏览器将会...
了解了实现方式后,我们转向Servlet的生命周期。Servlet的生命周期主要包含三个阶段:加载与初始化、服务以及销毁。 1. 加载与初始化:当服务器启动或第一次接收到对Servlet的请求时,Servlet容器会加载Servlet类并...
在Web开发中,JavaServer Pages (JSP) 和 Servlet 是两种重要的技术,它们常常一起使用来构建动态、交互式的网页应用。JSP 主要负责展示视图层面,而Servlet则处理业务逻辑和控制流程。本示例将详细介绍如何在...
接下来,我们转向Servlet服务器端。Servlet是Java服务器端的程序,它可以接收并响应HTTP请求。在Java中,我们创建一个继承自HttpServlet的类,并重写doGet()或doPost()方法。以下是一个简单的Servlet示例: ```java...
在本文中,我们将深入探讨如何使用Servlet、Javabean、JSP以及应用程序(Application)和会话(Session)对象来实现一个在线留言板系统。这个系统是基于Java Web技术构建的,适合初学者和有一定经验的开发者进行学习...
通过研究"ServletExamples"和"JSPExamples"中的代码,不仅可以加深对这两项技术的理解,还可以学习到实际开发中的最佳实践。如果你对Web开发感兴趣,这是一个很好的起点,可以从这些示例中学习并动手实践,提升自己...
- **使用 Servlet 和 JSP 的原因**:书中明确指出,为了从简单的网页转向动态的应用程序,你需要使用 Servlet 和 JSP。 #### 详细知识点分析 1. **Servlet 概述** - **定义**:Servlet 是 Java 编程语言的一部分...
接下来,我们转向Servlet。Servlet是运行在服务器端的小型JAVA程序,用于扩展服务器的功能,处理HTTP请求。"Servlet程序设计.ppt"将详细介绍Servlet的生命周期,包括初始化、服务、销毁三个阶段。你还将学习如何编写...
JSP(JavaServer Pages)和Servlet是Java Web开发中两个核心的技术,它们主要用于构建动态网站。下面将详细阐述这两个概念以及它们在笔试中常遇到的问题。 1. JSP内置对象: - request:代表HttpServletRequest对象...
在实际应用中,需要在Servlet中处理文件合法性检查、存储路径设置以及异常处理等细节。 具体步骤如下: 1. 在CKEditor的配置中,设置上传URL为Servlet的路径。 2. 编写Servlet,覆盖`doPost`方法,处理POST请求。 3...
在IT行业中,Servlet是一种Java平台上的标准,用于创建动态web应用程序。Servlet技术是Java EE(企业版)的一部分,主要用于扩展服务器的功能,处理HTTP请求。在本主题中,“servlet上传下载”指的是使用Servlet来...
在Servlet中,我们可以在`init`方法中加载数据库连接信息,并在需要时创建连接: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql....
接下来,我们转向`web.xml`文件的配置,这是部署描述符,用来定义Servlet和过滤器的映射关系。配置`EncodingFilter`通常包括以下步骤: 1. 定义过滤器: ```xml <filter-name>EncodingFilter <filter-class>...
如果没有明确的Servlet配置,请求会转向默认Servlet,由Tomcat提供的默认Servlet处理。开发者可以自定义默认Servlet,但需要注意,这可能会影响静态资源的正常访问。 使用ServletContext对象,开发者可以存储和检索...
在实际工作中,开发者发现许多公司都使用成熟的Web框架,比如Spring MVC或Struts等,这些框架提供了便利的开发工具和结构,能够简化JSP和Servlet的使用,提高开发效率和可维护性。因此,开发者正处在从基础技术向...