zoukankan      html  css  js  c++  java
  • Java纯手打web服务器(三)

    概要:考虑到上一篇中的request和response对象的安全性,不允许servlt程序员在service方法中把servletRequest和servletResponse对象进行强转request和response对象,而访问到request和response对象中私有的方法,这里引入外观类:RequestFacade和ResponseFacade,只实现ServletResponse和ServletRequest中声明的方法

    具体代码如下:

    public class RequestFacade implements ServletRequest {
    
      private ServletRequest request = null;
    
      public RequestFacade(Request request) {
        this.request = request;
      }
    。。。。。。
    }
    
    
    public class ResponseFacade implements ServletResponse {
    
      private ServletResponse response;
      public ResponseFacade(Response response) {
        this.response = response;
      }
    。。。。。
    }
    

    将request和response对象作为私有变量在构造器是进行传入,用此方法进行保护。

    分析器相应的代码修改如下:

    Servlet servlet = null;
        RequestFacade requestFacade = new RequestFacade(request);
        ResponseFacade responseFacade = new ResponseFacade(response);
        try {
          servlet = (Servlet) myClass.newInstance();
          servlet.service((ServletRequest) requestFacade, (ServletResponse) responseFacade);
        }
        catch (Exception e) {
          System.out.println(e.toString());
        }
    
    定位问题原因* 根据原因思考问题解决方案* 实践验证方案有效性* 提交验证结果
  • 相关阅读:
    APPCAN   版本控制SVN
    关于 java中的换行符
    BCompare中文版安装包
    netstat
    springboot mybatis generator
    mysql删除表的方式
    jdbc写入和读取过程
    hadoop全排序和二次排序
    mapreduce之数据倾斜
    hdfs切片的计算方式
  • 原文地址:https://www.cnblogs.com/jimoliunian/p/13725682.html
Copyright © 2011-2022 走看看