首页 > 编程知识 正文

Javaweb —— HttpServlet类

时间:2023-05-04 19:13:15 阅读:134338 作者:3124

由于大多数web APP应用通过HTTP协议与客户端进行交互,因此servlet APP应用程序—— http servlet类在servlet接口中包含, 现在,为了更好地理解http servlet,我们将查看http servlet的源代码,以便创建应用于http的javax.http.http servlet的抽象类javax.http servlet

publicabstractclasshttpservletextendsgenericservlet { protectedvoidservice } httpservletrequestreq,htpservletresponseresp () if(method.equals(method_get ) )长最后修改=getlastmod ified (req ); 最后修改==-1 (/servlet doesn ' tsupportif -修改- since,no reason//togothroughfurtherexpensivelogic ) ifmodifiedsincelastmodified (if ) { //If the servlet mod time is later, 呼叫文档//rounddowntothenearestsecondforapropercompare//aifmodifiedsinceof-1 willalwaysbelessmaybesetlastmodified doget } else { resp.set status (http servlet response.sc _ not _ modified ); }}elseif(method.equals ) method_head ) (long last modified=getlastmod ified ) req ); maybesetlastModified(resp,lastmodified ); dohead(req,resp ); }elseif(method.equals ) method_post ) (dopost ) req,resp ); }elseif(method.equals ) method_put ) (doput ) req,resp ); }elseif(method.equals ) method_delete ) dodelete ) req,resp ); }elseif(method.equals ) method_options ) ) dooptions ) req,resp ); }elseif(method.equals ) method_trace ) dotrace ) req,resp ); } else { string errmsg=l strings.getstring (' http.method _ not _ implemented ' ); Object[] errArgs=new Object[1]; errArgs[0]=method; errmsg=message format.format (errmsg,errArgs ); resp.send error (http servlet response.sc _ not _ implemented,errMsg ); }公共void service (servletrequestreq,ServletResponse res ) throws ServletException,io exception { httpservletrequestrequestrequestion (reqinstanceofhttpservletrequestresinstanceofhttpservletresponse ) (thrownewservletexception (non-httprequestorresponse ) response=(httpservletresponse ) res; service (请求、响应; }} doGet()和doPost()

通过http servlet的服务(http servlet request,http servlet response )方法确定当前请求

是GET还是开机自检? 对于GET请求,请调用类的doGet ()方法。

对于POST请求,调用doPost (方法。 这表示只要在子类中覆盖doGet ) )或doPost ) )方法即可。

publicclassaservletextendshttp servlet { public void doget (httpservletrequestrequest,HttpServletResponse response ) throwssser httpservletresponse ) throws } publicclassbservletextendshttp servlet { public void dopost (httpservletrequestrequest,http servletp }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。