范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Servlet总结十HttpServlet

  为了使前后端的请求方式相同,我们需要在后端获取请求方式,然后进行判断前端发送的请求是否为规定的请求方式,如果不是规定的请求方式,就会报错;
  为了实现上述功能,此功能的代码需要在每一个Servlet类中都需要编写,怎么能封装一下,以后在每一个具体的Servlet类中不写这样的代码了,但是还是能够达到同样的效果?
  1、自定义的HttpServlet类,解决判断前后端请求方式是否一致的问题public class HttpServlet extends GenericServlet {     /**      *  此方法为原始service()方法,方法内将ServletRequest、ServletResponse强转为带有http的接口      *  然后调用重载的service(HttpServletRequest, HttpServletResponse)方法      *  所以此方法我们无需进行重写      */     @Override     public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {         HttpServletRequest request = (HttpServletRequest) req;         HttpServletResponse response = (HttpServletResponse) res;         service(request,response);     }      /**      * 此方法获取请求方式后进行判断,      * 如果是GET请求就执行doGet()      * 如果是POST请求就执行doPost()      * 此方法没有理由重写,只需要将业务代码写在doGet()或doPost()方法中即可      */     public void service(HttpServletRequest request, HttpServletResponse response) throws IOException {         String method = request.getMethod();         if("POST".equals(method)) {             doPost(request, response);         } else if("GET".equals(method)) {             doGet(request, response);         }     }      /**      * 我们需要什么请求时,子类继承此父类就应当重写对应的doGet()或者doPost()方法之一      * 在doGet()或者doPost()方法内写业务代码,即将原来的service()内的业务代码写到doXXX()中      */     public void doPost(HttpServletRequest request, HttpServletResponse response)          throws IOException {         response.setContentType("text/html;charset=UTF-8");         response.getWriter().print("应当发送GET请求");         throw new RuntimeException("应当发送GET请求");     }      public void doGet(HttpServletRequest request, HttpServletResponse response)          throws IOException {         response.setContentType("text/html;charset=UTF-8");         response.getWriter().print("应当发送POST请求");         throw new RuntimeException("应当发送POST请求");     } }
  当有了HttpServlet类之后,写一个login类(Servlet)来继承HttpServlet类试试 public class login extends cn.test.HttpServlet {     @Override     public void doPost(HttpServletRequest request, HttpServletResponse response)          throws IOException {         response.setContentType("text/html;charset=UTF-8");         response.getWriter().print("登陆成功!");     } }
  当Tomcat服务器启动并且通过浏览器访问此Servlet对应的页面时,Tomcat会执行login类,假设login类需要的是POST请求,所以我们将继承自父类的doPost()重写为我们需要的业务代码,执行顺序为:假设前端发送的是POST请求
  1、service(ServletRequest, ServletResponse)   将两个参数强转为带有Http的接口,之后执行
  2、service(HttpServletRequest, HttpServletResponse)  获取请求方式POST并通过判断执行重写的doPost()方法 doPost(HttpServletRequest, HttpServletResponse)   执行业务代码 假设前端发送的是GET请求
  1、service(ServletRequest, ServletResponse)   将两个参数强转为带有Http的接口,之后执行
  2、service(HttpServletRequest, HttpServletResponse)  获取请求方式GET并通过判断执行未被重写的doGet()方法
  3、doGet()   报错,将错误信息输出到控制台和前端页面
  所以,我们的Servlet继承HttpServlet后,后端需要的是什么请求,那么我们就重写对应的doPost()/doGet()方法,方法内是我们的业务代码,并不需要重写service()方法
  官方的HttpServlet
  实际上SUN公司为我们提供了一个类来解决判断前后端请求方式是否一致的类 javax.servlet.http.HttpServlet
  此类和我们自定义的HttpServlet类的使用方法和原理类似,所以总结如下的使用方法和注意 我们的Servlet继承HttpServlet后,后端需要的是什么请求,那么我们就重写对应的 doPost()  / doGet()  方法 doPost()  / doGet()  方法内就是我们的业务代码, doXXX()  可以看作 main()  方法 代码不在 service()  内编写了,不需要重写 service()  方法 HttpServlet中重载的两个 service()  方法并不需要也没有理由去重写这两个方法 当浏览器发送的请求方式和后台处理方式不同时,会出现一个错误,代号:405

三国杀新武将杨仪上线,强度逆天还是拉垮?别宠错了人最近三国杀移动版推出了冬至活动,最新的圣诞皮肤和新武将接连上线,王元姬冬至皮肤新武将董承杨仪,一时间很多玩家再度雄起,有多少玩家和我一样盒子福袋从没断过,但是全服通报的身影却从来没三国杀求求大家了,斗地主选这些武将会让队友心肌梗塞的三国杀斗地主,以其独特的2打1模式及换取道具功能,成为了三国杀中人气最为旺盛的模式。而对这个模式稍有了解的玩家就知道,斗地主长期以来就有四害一说,大量玩家由于队友选出四害而砸蛋逃跑三国杀所有用装备的武将中,吕爹永远是独一档的靠山吃山,靠水吃水。这句话说明了每一个群体或势力都会有属于自己的特性或者说特点,例如魏国武将靠卖血,蜀国武将靠菜刀嘶吼,东吴武将靠装备,这早已不是什么秘密了,但是即便所有武将都打着什么武将当主公让你第一眼就觉得他不想玩了?三国杀移动版哈喽!各位好呀,我是淮竹,持续为你带来三国杀移动版最新资讯和趣味玩法喜欢的话希望你能陪伴下去哦有多少人和我一样,点开三国杀想来一局军争但发身份的那一刻又生怕自己是主公,三国杀爷孙三人一代比一代强,加强的是希望,不变的是守望众所周知三国杀出武将是基于三国背景,所以只要是三国时期的武将均有被纳入的可能,然而随着时间的推移,武将的面纱一个比一个撕下,终会有穷尽的一天,所以爷爷出完了出爸爸,爸爸出完了出儿子三国杀陆抗真的不行,一打就废,4血的强制白板三国杀移动版最近的武将有很多开始往宝物栏发展了,例如北地枭雄神张辽以及国战里的定澜夜明珠都开始向宝物栏靠拢了,每每想起宝物栏的时候我都会想起武将陆抗,那个可以废除装备栏和宝物栏将对三国杀如何对贾诩用兵粮寸断,这还真是个难题毒士贾诩,最常见的内奸武将之一,凭借黑色锦囊百毒不侵的效果,回合内杀人其他人无法施救的绝杀手段以及将全场搅的稀烂的乱武,让很多武将对他都是恨意满满,但是奈何贾诩的黑色锦囊无效防御力国战人人哄抢的定澜夜明珠到底是个什么神器?我们以前玩游戏时的时候都习惯了游戏里装备区的4个装备栏,但直到后来越来越多的武将出现后技能逐渐和宝物栏开始有关系了,这不禁引起了玩家的关注。最近的就是上次测试服中神张辽和张绣中的宝三国杀新武将邓芝真有说的那么不堪?你真有了解到他的精髓?最近总是看到各种diss邓芝说弱不行等的消息,包括群里也经常有小伙伴说渣蜀真的越来越不行了,但是邓芝真的行不行呢?反正行不行我是不知道的,至少他成功吸引了我的注意。邓芝,三国杀移动玩三国杀,留桃真的不如留闪留桃还是留闪?这是一个问题。这是一个无数玩家回合结束后面对的难题,面对溢出的手牌,多余的杀闪桃不知该如何处置,丢杀回合外留闪保护自己倒还可以理解,但抉择的深渊中一旦出现了和闪同样重对不起,是我输了,我真没想到三国杀里面还有晋国司马懿三国杀的武将有双势力并不是什么稀奇事,所谓贤臣择主而事,一个武将从事于不同的主公也不难理解,但至少他们的范围还属于三国范畴,这个游戏也还在三国杀。但是昨天在逛三国杀社区的时候,我看
三国志战略版许褚典韦老魏盾的新玩法,打吕布和张辽很好用有读者感觉张辽爆头骑难打,其实是忘了许褚典韦这个组合,虎卫盾打吕布张辽这种队伍很好用。缘分效果虎卫神威对战骑兵或枪兵时,使我军全体受到的兵刃伤害降低12,直到战斗结束。曹操主将型曹抢先服S26赛季将启,峡谷有哪些变化?这些要点需谨记新赛季已经锁定在1月6号进行更新了,作为一个大版本更新,这次的改动也是非常之多,不仅兵线防御塔,暴君和主宰等重要的资源点有了变更,而且还伴随着大量英雄的调整以及装备的改动,相信大家s26赛季提前更新,新女法师蝶上线,2史诗降价突袭,关羽玩家笑了可乐要加冰,乔妹在你心,大家好我是小乔妹,每天为您分享有趣的王者荣耀新皮肤新版本,最新攻略等文章内容。王者荣耀S25赛季已经接近尾声了,新的赛季即将开启,而且S26赛季更新时间也提热血传奇,战士到底能不能打过道士很多的玩家都认为道士是可以轻易打败战士的,但是战士真的被道士克制吗?很多战士玩家在和道士玩家pk的时候,还开打,战士已经输了,因为这些战士玩家一看是道士就已经展现出要输的心态了,其王者荣耀英雄的前世今生入梦之灵梦奇篇长久以来,佣兵辗转于不同主人之间,用血肉之躯为自己赢得一席之地。朝不保夕,危险,背叛和死亡都是家常便饭。今天的朋友可能是明日的敌人,过去的对手也能摇身一变成为如今的同盟。但仍有杰出IG挑战老对手RNG,首发阵容失去悬念,阿Bin或主宰比赛时间来到1月2日,距离OMGTT带来的2022LPL春季赛揭幕战仅剩八天,包括BLGEDGRNGFPXLNGTES在内的17支LPL战队摩拳擦掌,准备在年前的常规赛中大放异彩,值得王者荣耀公认星耀局强势的三位法师,上手难度低,而且不吃阵容在王者荣耀中法师在队伍中虽然不是主要输出位,但是法师在队伍中的责任非常大,不但要负责防守最重要的中一塔,并且还要会支援队友,本赛季马上就要结束,不少玩家还没有走出星耀段位,因为星耀王者荣耀女英雄首饰大盘点第二弹男英雄戴首饰的可不多见大家好,我是七七。上期的女英雄首饰大家是不是还没看过瘾?今天七七就带来第二弹。不过七七发现了,其实很多女英雄是没有首饰的,手上脖子上耳朵上都是空荡荡的,但是这也难不倒七七挖掘出来,元气骑士春节皮肤速报,职业史诗加强,机器人成首席受益者大家好!我是元气老骑士元气宅。值此元旦佳节来临之际,老宅代表个人,为每一位元气小伙伴门带来新年的祝福,祝愿大家以及家人身体健康,阖家幸福,工作顺利,学业有成,事事顺心,欧气爆棚。虽飞哥最适合的套路?翔掌门尝试卡莎穿甲流套路,韩服连胜上分洗白弱三分,黑化强三倍,如果说用这句话来形容LPL新赛季的选手,那么第一印象应该都会想到Lwx,这赛季对于FPX而言人员变动可谓翻天覆地,冠军阵容仅存翔哥一人留队,也从大聪明晋升到世界第一老六PIO退役,豪门GENG两人离队,阿修罗转型教练2022年新年伊始PKL赛区传来不好的消息,韩国头号种子战队GENG两人离队,一人转型教练,该赛区的第一自由PIO选手退役,这个消息官方一发布让人觉得既突然又震惊,这次世界赛上GE