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

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

王者最难遇见的五款6元皮肤,瓷语鉴心上榜,幽兰居士见过没?文丹青解说原创文章盗载必究6元类的皮肤,除了源梦系列以外,统一的定位都是勇者。这种定价的皮肤,很多时候都会给玩家造成一个错觉,每一位入手6元皮肤的玩家,似乎都能感觉到占便宜了。可事朋友买了个猴子的皮肤,然后就连胜20几场玩过王者的都有一种感觉,就是又爱又恨,爱那种从连胜中获得的成就感,恨那种匹配到猪队友的愤怒,爱的时候有一种睥睨众生豪情万丈的感觉,恨的时候有一种抑制不住砸手机的冲动。个人也是卸了装盾山屏蔽下架,英雄开始重做,皮肤有望分期,花嫁返场时间确定不知道玩家是否知晓,前段时间策划对于盾山这名英雄是给出了相关意见的,而从当时发布的内容描述来看,显然,策划是打算对盾山这名英雄进行重做调整的。毕竟,就目前盾山的机制来看,除了对他的新英雄暃技能效果重做,六款限定曝光,孙膑玩家备好710点券爱生活,爱游戏,大家好,我是阿呆。期待大家的关注,我会在这里分享更多有趣的最新资讯。前言在最近王者荣耀体验服中,官方曝光了很多皮肤相关的消息,毕竟进入年底了,在新的一年里,还有多款吕布新传说确定,圣诞返场突袭,瑶笑了,赛季皮肤获取难度降低文王者小辣椒原创最近王者荣耀体验服新增加了一个皮肤收集系统,玩家收集玩某个英雄或者某个系列的皮肤之后,会有一个特别的展示名字,在英雄加载的时候名字会变成金色。而这个系统也是可以看到不求人接到神秘任务,老版101皮肤能返场?鲨鱼我1元黄金风衣想必每位和平精英的玩家大多数关注游戏里的三个事情,一个是皮肤,一个是段位,一个是活动,其中三个里面热度最高莫过于皮肤,看到这里很多玩家都会想表达自己的观点,毕竟每天都有新玩家的出现LOL手游薇恩出装顺序和符文配置和技能加点加连招一定位薇恩是高爆炸高机动性射手英雄,前期对线很弱,没有AOE能力,但她中后期的单体伤害非常可怕。她有整个游戏中最强大的伤害方式。是百分比的真正伤害。这让她成为了不折不扣的前排杀手。数码宝贝新世纪12月16日数码宝贝技能优化前瞻亲爱的队长我们将于12月16日0100进行版本更新,此次更新会对部分数码宝贝技能进行优化,具体如下1修改AP扣除机制的计算规则修改AP扣除机制的计算规则,增加效果命中和效果抵抗的计虎牙HWC冠军杯即将落幕,早川与之无缘,所组队伍RTG被迫解散最近由虎牙平台所举办的英雄联盟手游HWC冠军杯的热度非常之高,这是继破晓杯世界赛后的又一项大型比赛,参赛的十六支队伍都是各有所长的主播,在GTR和卡司互娱的战斗结束后,这次的冠军杯纷争缘起之暮影战神手游今天下午两点首服快拿好这份前期攻略纷争缘起之暮影战神手游重磅来袭,这次是手游版,以中国上古神话传说为背景,参考山海经等著作,展现给人们奇珍异兽的绝妙画面。手游版本,完美11复刻端游版本,内置氏族语音聊天系统。前期攻吕德华点名表扬!北慕这次瑟瑟发抖,这也太难打进巅峰赛第一了在王者荣耀中,吕德华建立的公会神鸡营可以说是吸引了许多顶尖的主播,因为限制条件是2100分,所以让神鸡营成为了高分选手的考核条件。而最近巅峰赛迎来更新,神鸡营中的队员们前十占了三个
赛季末还在打排位?赏金联赛有好消息,没王者之锤玩家有福了本期看点你赛季末还在打排位赛吗?赏金联赛有个好消息,没有王者之锤的玩家有福了。文资源君大家好,我是资源君,本期跟大家分享一个关于王者荣耀中赏金联赛的好消息。眼看着S25赛季即将结束王者荣耀S26赛季或将延期开启,段位继承突变,高段位玩家哭了时过境迁,不知道小伙伴们在本赛季中排位上分到王者了没有呢?没有的小伙伴们可要抓紧时间了,因为现目前已经是S25赛季末了!那么,眼看本赛季即将结束,预示着新赛季的到来,S26新赛季不盘点10款Steam冬季特卖史低游戏,ATLAS海上航行凶险多Steam冬季特卖游戏排行榜,ATLAS海上航行凶险多一年一度的Steam冬季特卖活动如期而至,这次活动将持续好一段时间,几乎所有热门的游戏都会参加这次活动,之前加入心愿单的游戏这如果一枚游戏币的时间就是男性持久力,那你会选择什么游戏呢?对于你来说,一枚游戏币的价值到底是多长时间呢?那时候我们这方的价格是一元三枚一元四枚,以及一元五枚,到了2005年之后就是一元八枚了。其中一元四枚的时间是最久的,也是游戏币最值钱的零度指针幻塔手游奶妈角色阵容推荐手游巴士2021年12月23日讯在幻塔这款手游中有很多玩家都对奶妈玩法十分好奇,目前奶妈在选择方面还是有很多的,作为一个不可缺少的职业,很关键,下面就由小编来给各位分享一下关于奶妈英雄联盟中哪些英雄最适合气定神闲天赋?气定神闲是最早被修改的符文之一,其原因在于他太过于强大了,当时的气定神闲不仅可以回蓝而且在触发以后的几秒钟时间里不消耗蓝量非常无解。今天丁丁老师就来和大家聊一聊哪些英雄适合带气定神小北兰陵王见光死,TTG爆冷20横扫AG!阴间BP太像月光的风格了回顾第一局比赛前期虽然笑影金蝉两波帮下都成功了但是随后广州TTG中射野就通过包夹击杀掉成都AG超玩会中射辅找回了局面,之后成都AG超玩会主动入侵广州TTG蓝野区被广州TTG反打成功明日方舟全新活动雪山剧情分析活动中有一个剧情在大夫人看来无坚不摧的房子被外来者(锏)轻而易举破坏掉了,跟现在的谢拉格一样,在保守派眼中无需变化的无坚不摧的老房子会被外来者轻易击破,所以,必须要变。当然,也不是KPI杯刘氏家族一战封神,神鸡营成众望所归,吕德华会上场吗?最近最为精彩的比赛王者荣耀比赛莫过于KPI杯赛事了,这项赛事和以往的主播赛完全不同,我们都知道,一般的主播赛事都是主播临时组队,然后打几把训练赛都能上场了。然而这次的KPI杯却是以压力来到吕德华这边!王者首届KPI比赛开打,刘伟家族成夺冠热门王者荣耀中,最近的KPL总决赛备受关注,不过距离总决赛也还有两天的时间,这段时间还有另外一场比赛正在火热进行中,这就是王者首届KPI比赛,这场集结了所有顶尖实力主播的比赛,其精彩程王者荣耀首届KPI杯来袭,神鸡营大战刘伟家族!花果山也来凑热闹王者荣耀S25赛季已经接近尾声了,这个赛季大家可能都发现巅峰赛被两个阵营统治了,一个是吕德华带领的神鸡营,经常能看到各种带着神鸡营的ID,另外一个就是刘伟家族,挂着各种各样的刘伟头