Servlet和模本办法
Posted 归零,路上
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet和模本办法相关的知识,希望对你有一定的参考价值。
抽象类HttpServlet,提供7个子方法的默认实现,当我们手写Servlet只需要继承HttpServlet并替换相应的do方法来完成自己的业务逻辑即可。
我们一般的实现方法:
- public MyServlet extends HttpServlet{
- public void doGet(HttpServletRequestrequest, HttpServletResponse response){
- // 处理
- }
- public void doPost()HttpServletRequestrequest, HttpServletResponse response){
- // 不关心get、post请求,因此post处理直接调用get处理
- doGet(request, response);
- }
- }
Servlet之所以牵扯到了模版方法模式,由于Servlet中最重要的service方法,所有的请求,都先到达service。它定义了HttpServlet处理的总流程和框架。
Service代码
- 1. public void service(ServletRequest req, ServletResponse res)
- 2. throws ServletException, IOException
- 3. {
- 4. HttpServletRequest request;
- 5. HttpServletResponse response;
- 6. try
- 7. {
- 8. request = (HttpServletRequest)req;
- 9. response = (HttpServletResponse)res;
- 10. } catch (ClassCastException e) {
- 11. throw new ServletException("non-HTTP request or response");
- 12. }
- 13. //调用protected service
- 14. service(request, response);
这里顺便提一下模版方法模式:定义一个操作中的算法的骨架,而将一些可变部分的实现延迟到子类中。模版方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤。
以上是关于Servlet和模本办法的主要内容,如果未能解决你的问题,请参考以下文章