设计Servlet
我们在设计自己的Servlet前,我们先来看一下原生的Servlet的关系图。
我们仿照上面这个来进行设计我们自己的Servlet,但是我们不用搞的那么复杂,我们就定义一个myServlet接口,一个MyHttpServlet抽象类,这个抽象类实现MyServlet接口,我们自己写的Servlet继承MyHttpServlet抽象类就行了。关系图如下:
我们首先定义一个MyServlet接口
public interface MyServlet {
}
然后定义一个抽象类MyHttpServlet,实现MyServlet接口
public abstract class MyHttpServlet implements MyServlet{
}
我们这里先把自己设计的Servlet结构搭好,Servlet里面的内容我们后面再慢慢实现
设计请求响应的Servlet
上面我们把我们自己的MyServlet的架子搭好了,但是,我们还缺少了2个很重要的东西,一个是Servlet里面的HttpServletRequest,一个是HttpServletResponse。这2个对象一个对请求进行了封装,一个对响应进行了封装,非常重要,我们当然也要编写我们自己的这2个对象,对请求和响应进行封装。
查看下HttpServletRequest和HttpServletResponse的源代码
发现2个都是接口,如果我们继续查看他所继承的,会发现还是接口,我们这里不搞那么复杂,就设计一个接口,然后再编写一个实现类。
我们首先先定义我们自己的request和response的接口,然后编写实现类。
我们自己的request的接口和实现类
public interface MyHttpRequest {
}
public class MyHttpRequestImpl implements MyHttpRequest{
}
我们自己的response的接口和实现类
public interface MyHttpResponse {
}
public class MyHttpResponseImpl implements MyHttpResponse{
}