• SingleThreadModel接口



定义

public interface SingleThreadModel;

这是一个空接口,它指定了系统如何处理对同一个 Servlet 的调用。如果一个 Servlet 被这个接口指定,那么在这个 Servlet 中的 service 方法中将不会有两个线程被同时执行。Servlet 可以通过维持一个各自独立的 Servlet 实例池,或者通过只让 Servlet 的 service中只有一个线程的方法来实现这个保证。



  • RequestDispatcher接口

定义:

public interface RequestDispatcher;

定义一个对象, 从客户端接收请求, 然后将它发给服务器的可用资源 (例如 Servlet 、 CGI 、HTML 文件、 JSP 文 件 ) 。Servlet引擎创建request dispatcher对象, 用于封装由一个特定的URL定义的服务器资源。这个接口是专用于封装 Servlet 的,但是一个 Servlet 引擎可以创建 request dispatcher 对象用于封装任何类型的资源。request dispatcher
对象是由 Servlet 引擎建立的,而不是由 Servlet 开发者建立的。



方法

1、forward

public void forward(ServletRequest request, ServletReponse response)throws ServletException, IOException;

被用来从这个 Servlet 向其它服务器资源传递请求。当一个 Servlet 对响应作了初步的处理,并要求其它的对象对此作出响应时,可以使用这个方法。当 request 对象被传递到目标对象时, 请求的 URL 路径和其他路径参数会被调整为反映目标对象的目标 URL 路径。如果已经通过响应返回了一个 ServletOutputStream 对象或 PrintWriter 对象, 这个方法 将不能使用,否则,这个方法会抛出一个 IllegalStateException。

2、include

public void include(ServletRequest request, ServletResponse response)throws ServletException, IOException

用来包括发送给其他服务器资源的响应的内容。 本质上来说, 这个方法反映了服务器端的内容。请求对象传到目标对象后会反映调用请求的请求 URL 路径和路径信息。这个响应对象只能调用这个 Servlet 的 ServletOutputStream 对象和 PrintWriter 对象。

一个调用 include 的 Servlet 不能设置头域,如果这个 Servlet 调用了必须设置头域的方法(例如 cookie) ,这个方法将不能保证正常使 用。作为一个 Servlet 开发者,你必须妥善地解决那些可能直接存储头域的方法。例如,即使你使用会话跟踪,为了保证 session 的正常工作,你必须 在一个调用 include 的 Servlet 之外开始你的 session。

package javax.servlet;

import java.io.IOException;

public abstract interface RequestDispatcher
{
public abstract void forward(ServletRequest paramServletRequest, ServletResponse paramServletResponse)
throws ServletException, IOException; public abstract void include(ServletRequest paramServletRequest, ServletResponse paramServletResponse)
throws ServletException, IOException;
}

Servlet--SingleThreadModel接口,RequestDispatcher接口的更多相关文章

  1. Servlet请求转发RequestDispatcher接口

    在Servlet中,利用RequestDispatcher对象,可以将请求转发给另外一个Servlet或JSP页面,甚至是HTML页面,来处理对请求的响应. 一,RequestDispatcher接口 ...

  2. Servlet请求转发 RequestDispatcher接口.RP

    在Servlet中,利用RequestDispatcher对象,可以将请求转发给另外一个Servlet或JSP页面,甚至是HTML页面,来处理对请求的响应. 一,RequestDispatcher接口 ...

  3. Java EE javax.servlet中的RequestDispatcher接口

    RequestDispatcher接口 public interface RequestDispatcher 一.介绍 定义一个对象,从客户端接收请求并将其发送到服务器上的任何资源(例如servlet ...

  4. Servlet中的请求转发RequestDispatcher接口的forword与Include的区别

    RequestDispatcher接口中具有两个方法: forward() 与 include() 均 可完成请求 的转发.区别如下: forword(): 使用该方法,则当前 的 Servlet 中 ...

  5. jsp中 RequestDispatcher接口的两种跳转:forward()和include()

    在web程序中,经常是由多个Servlet来完成请求.RequestDispatcher接口就是为了多个Servlet之间的调整而实现的.该接口可以用httpSerbletRequest的getReq ...

  6. JavaWeb知识回顾-Servlet常用类、接口及其方法

    今天主要把servlet的一些常用的类.接口和方法简单回顾一下. javax.servlet包 1.javax.servlet.Servlet接口 接口用于开发servlet,所有的servlet都要 ...

  7. Servlet基本用法二接口和类

    转自:http://www.cnblogs.com/xujian2014/p/4536168.html 一.摘要 本文主要简单介绍开发Servlet需要用到的接口和类. 二.ServletReques ...

  8. servlet的基本类和接口

    javax.servlet.Servlet接口 javax.servlet.GenericServlet类(协议无关版本) javax.servlet.http.HttpServlet类(HTTP版本 ...

  9. SpringBoot接口 - API接口有哪些不安全的因素?如何对接口进行签名?

    在以SpringBoot开发后台API接口时,会存在哪些接口不安全的因素呢?通常如何去解决的呢?本文主要介绍API接口有不安全的因素以及常见的保证接口安全的方式,重点实践如何对接口进行签名.@pdai ...

随机推荐

  1. 【可持久化线段树】POJ2104 查询区间第k小值

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 61284   Accepted: 21504 Ca ...

  2. WFP在包含fwpmu.h头的时候出错

    最近在学WFP驱动框架,在使用VS2013写代码调用WFP的函数时会包含fwpmu.h这个头,但是在包含这个头的时候会报错,就像下面这个图这样: 我百度了一下,然后在这个网站上面找到了解决方案: ht ...

  3. 使用sysbench对mysql压力测试

    sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.关于这个项目的详细介绍请看:https://github.com/akopytov/sy ...

  4. JDK源码 - ArrayList

    /** * ArrayList源码分析 * @author liyong * */ public class Util { @SuppressWarnings("unchecked" ...

  5. SpringMVC的映射器、适配器、解析器

    1.处理器和适配器 1.1springmvc的映射器 根据客户端请求的url,找到处理本次请求的handler(处理器),将url和controller关联起来 1.2springmvc的适配器 对映 ...

  6. [linux] C语言Linux系统编程-TCP通信的11种状态

    三次握手由client主动发出SYN请求, 此时client处于SYN_SENT状态(第一次握手)当server收到之后会由LISTEN转变为SYN_REVD状态, 并回复client, client ...

  7. JSP最常用的五种内置对象(out,request,response,session,application)

    为了简化开发过程,JSP提供了一些内置对象,它们由容器实现和管理.开发者在JSP页面中无需声明,无需实例化就可使用.主要有out,request,response,session,applicatio ...

  8. JavaScript正则表达式验证大全(收集)

    以下函数调用方式: ? 1 2 3 4 function check() { var bb = document.getElementById("txt_id").value;// ...

  9. 二分查找c++简单模板

    //数组a[]中有n各元素,已经按升序排序,待查找的元素x sort(a,a+n); //升序排序 template<class Type> int BinarySearch(Type a ...

  10. python笔记二(mysql数据库操作)

    python2.x使用MySQLdb python3.x使用pymysql代替MySQLdb 不过我使用的是python3.5,MySQLdb还是可以在python3.5使用的. #!/usr/bin ...