SimpleServletHandleAdapter

SimpleServletHandlerAdapter其实是一个Servlet的适配器,其最终执行的方法是Servlet的service方法,源码如下,我们可以看到其真正起作用的地方是((Servlet) handler).service(request, response),其实也就是调用Servlet的service,其实本质还是比较简单的。

supports方法就是判断handler是否是Servlet

getLastModified直接返回-1

handle方法本质是执行Servlet.service方法。

    public class SimpleServletHandlerAdapter implements HandlerAdapter {  

        @Override  
        public boolean supports(Object handler) {  
            return (handler instanceof Servlet);  
        }  

        //执行Servlet的service方法  
        @Override  
        public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler)  
                throws Exception {  
            //本质还是执行Servlet的service方法  
            ((Servlet) handler).service(request, response);  
            return null;  
        }  

        @Override  
        public long getLastModified(HttpServletRequest request, Object handler) {  
            return -1;  
        }  

    }  

这样springMVC中就提供了执行Servlet的适配器,如果可以的话我们是否也可以自己写一个适配器类然后注入到springMVC 的容器中。

/* * Created on 2005-11-13 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package com; import java.io.IOException; import javax.servlet.http.HttpSession; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.util.*; /** * @author Administrator * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class CatalogServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //TODO Method stub generated by Lomboz HttpSession session=request.getSession(); int itemCount=0; HashMap cart=(HashMap)session.getAttribute("cart"); if(cart!=null){ itemCount=cart.size(); } response.setContentType("text/html;charset=gb2312"); PrintWriter out=response.getWriter(); out.println("<html><head><title>简单购物车"+"Example</title></head>"); out.println("<body><table border=\"0\" width=\"100%\"><tr>"); out.println("<td align=\"left\" valign=\"bottom\">"); out.println("<h1>欢迎来到开心水果店购物</h1></td></tr></table><hr>"); out.println("<form action=\""); out.println(response.encodeURL("cart")); out.println("\"method=\"POST\">"); out.println("<table cellspacing=\"5\" cellpadding=\"5\"><tr>"); out.println("<td align=\"center\"><b>种类</b></td>"); out.println("<td align=\"center\"><b>单价</b></td>"); out.println("<td align=\"center\"><b>数量</b></td></tr><tr>"); out.println("<td align=\"center\">"+"苹果"+"</td>"); out.println("<td align=\"center\">"+"5.5"+"</td>"); out.println("<td align=\"center\">"); out.println("<input name=\"apple_amount\""+"></td></tr><tr>"); out.println("<td align=\"center\">"+"香蕉"+"</td>"); out.println("<td align=\"center\">"+"4.5"+"</td>"); out.println("<td align=\"center\">"); out.println("<input name=\"banana_amount\""+"></td></tr><tr>"); out.println("<td align=\"center\">"+"葡萄"+"</td>"); out.println("<td align=\"center\">"+"3.6"+"</td>"); out.println("<td align=\"center\">"); out.println("<input name=\"grape_amount\""+"></td></tr>"); out.println("</table><hr>"); out.println("<input type=\"submit\" name=\"btn_submit\"" +"value=\"放入购物车\">"); out.println("</form></body></html>"); out.close(); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值