Tomcat服务器开发教程_引入ServletResponse规范

Tomcat服务器开发教程_引入ServletResponse规范

更新时间:2017年04月07日

  • 网盘提取码:as0r
  • 适合对象:Java学员、Java爱好者、开发人员
  • qq号:2158476996
一键免费下载

下载介绍

更多>>
Tomcat服务器开发教程_引入ServletResponse规范

【引入 ServletResponse 接口】

(1)目前 Servlet 接口的 service 方法参数类型是 PrintWriter。

(2)问题分析:

  A、PrintWriter 参数属于负责响应的参数,将来可能还会有其它的参数也负责响应的

  B、参数过多的时候,会让 service 方法变的特别的臃肿,

  C、我们在这里做一个小的设计,将所有负责响应的参数统一都封装到负责响应的对象中。

  D、那么这个负责响应的对象应该由谁来实现呢?当然是 Web 服务器的开发人员,角色转变为 Web 服务器开发人员,代码如下

public class ResponseObject{

private PrintWriter out;

public void setWriter(PrintWriter out){

this.out = out;

public PrintWriter getWriter(){

return out;

}

}

(3)以后所有负责响应的参数都会被封装到 ResponseObject 中(但是需要注意的是 ResponseObject 是 Web 服务器开发人员编写的)

  A、修改 HandlerRequest 类 servlet.service 方法参数

ResponseObject responseObj = new ResponseObject();

responseObj.setWriter(out);

servlet.service(responseObj);

(4)以上程序编译错误,显然是需要修改 SUN 的 Servlet 规范的,那么我们的角色转变为 SUN 公司,修改 Servlet 接口,代码如下修改 Servlet.java 接口

void service(ResponseObject responseObj);

(5)既然负责响应的 PrintWriter 参数已经被封装到 ResponseObject 类型中了

(6)那么 Servlet 接口 service 方法的参数 PrintWriter 就需要修改为ResponseObject

  A、修改 Servlet 接口中 service 方法参数:ResponseObject responseObjvoid service(ResponseObject responseObject);

(7)观察以上代码:

  A、Servlet 是 SUN 公司编写的,但是在规范中却关联依赖了北京动力节点编写的ResponseObject,显然是不合理的,稍后我们再做调整。

  B、现在该去修改 WebApp 开发人员编写的 LoginServlet 了,因为 LoginServlet 实现了

Servlet 接口

  C、修改 LoginServlet.java 实现类

public void service(ResponseObject responseObj){

PrintWriter out = responseObj.getWriter();

out.print(“”);

… …

}


Java相关视频锦集

返回顶部