service()和doGet()和doPost()
来源:互联网 发布:java检测内存泄露 编辑:程序博客网 时间:2024/04/29 17:53
从前看李刚的书,书中许多都是直接用service()的。但其实这样是不好的。因为虽然一般情况下我们的doGet和doPost方法是一样的,但其实http能提交的方法有许多,不一定只有这两个,可以看tomcat中实现的service();
protected void service(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException{ String method = req.getMethod(); if(method.equals("GET")) { long lastModified = getLastModified(req); if(lastModified == -1L) { doGet(req, resp); } else { long ifModifiedSince = req.getDateHeader("If-Modified-Since"); if(ifModifiedSince < (lastModified / 1000L) * 1000L) { maybeSetLastModified(resp, lastModified); doGet(req, resp); } else { resp.setStatus(304); } } } else if(method.equals("HEAD")) { long lastModified = getLastModified(req); maybeSetLastModified(resp, lastModified); doHead(req, resp); } else if(method.equals("POST")) doPost(req, resp); else if(method.equals("PUT")) doPut(req, resp); else if(method.equals("DELETE")) doDelete(req, resp); else if(method.equals("OPTIONS")) doOptions(req, resp); else if(method.equals("TRACE")) { doTrace(req, resp); } else { String errMsg = lStrings.getString("http.method_not_implemented"); Object errArgs[] = new Object[1]; errArgs[0] = method; errMsg = MessageFormat.format(errMsg, errArgs); resp.sendError(501, errMsg); }}
可以看到这里通过反射机制识别的提交方式有许多,还有put、head很多方法。如果你重写了service方法,那么就不会调用其他的doGet和doPost以及PUT方法。这里的service是种代理模式,我们最好还是只写doGet和doPost方法。
0 0
- service()和doGet()和doPost()
- doget,dopost和service的关系
- servlet中service方法和doget dopost
- 浅谈doGet和doPost
- doGet 和 doPost区别
- android doGet和doPost
- day0812-doGet和doPost
- DoGet和DoPost
- doPost()和doGet()
- doGet和doPost
- doGet和doPost乱码
- doGet和doPost区别
- servlet(doget和dopost)
- doget和dopost区别
- servlet中的service, doGet, doPost方法的区别和联系
- servlet 中 service doGet doPost 的联系和区别
- servlet中的service、doGet和doPost的关系
- dopost和doget的区别
- poj3278 Catch That Cow
- 十进制转m进制
- Android消息推送(技术分享)
- Java中区别.toString() ,(String),valueOf()方法
- php——学习笔记,验证密码是否一致,使用print_r以及colspan表情
- service()和doGet()和doPost()
- Android 弹无虚发之第三弹:ActionBar 更换背景、颜色、文字,自定义主题Style
- 人生第一条线段树!!!!FLY 1427: RMQ 两数之间最小值
- 视图控制器
- cocos2d-x 3.0 Android环境搭建(亲测通过)
- hdu 1024 Max Sum Plus Plus dp
- 我给不了你梦中情人,至少还有硬盘女神:hardseed
- Uva-1336-Fixing the Great Wall
- Android消息推送完美方案[转]