首页 > 编程语言 > 详细

JAVAEE_Servlet_13_HttpServlet

时间:2021-04-21 17:27:17      阅读:38      评论:0      收藏:0      [点我收藏+]

HttpServlet

  • 因为每次执行前端请求,都需要获取前端的请求方式,都需判断前端的请求方式和后端是否一致,随意这段代码就可以封装起来。

  • 写一个HttpServlet类去继承GenericServlet,然后在这里面强制类型转换,获取前端请求方式,判断请求方式是get还是post,如果前端请求方式和后端不一致,那么提示错误信息。

  • 以后的Servlet直接继承HttpServlet就可以了,如果需要get请求,那么久重写doGet()方法,如果需要post请求,那么久重写doPost方法就可以了,如果前端请求和后端不一致,那么就会自动报错,一致就会走子类重写后的方

  • 代码 :

     import javax.servlet.GenericServlet;
     import javax.servlet.ServletException;
     import javax.servlet.ServletRequest;
     import javax.servlet.ServletResponse;
     import javax.servlet.http.HttpServletRequest;
     import javax.servlet.http.HttpServletResponse;
     import java.io.IOException;
     import java.io.PrintWriter;

     public class HttpServlet extends GenericServlet {
         @Override
         public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {

             //强制类型转换
             HttpServletRequest request=(HttpServletRequest) servletRequest;
             HttpServletResponse response=(HttpServletResponse) servletResponse;
            
             //再次调用service方法,将强制类型转换后的参数传进去,利用方法重载机制,重写一个service方法。
             service(request,response);
         }

         public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
             //获取前台的请求方式
             String method=request.getMethod();

            //判断请求方式,执行不同的方法
             if(("GET").equals(method)){
                 doGet(request,response);
             }else if(("POST").equals(method)){
                 doPost(request,response);
             }
         }

         public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
             //设置字符集,创建字符输出流
             response.setContentType("text/html;charset=UTF-8");
             PrintWriter out=response.getWriter();

             //输出错误提示信息
             out.print("前端请求方式与后端不一致");
             throw new RuntimeException("前端请求方式与后端不一致");
         }

         public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
             //设置字符集,创建字符输出流
             response.setContentType("text/html;charset=UTF-8");
             PrintWriter out=response.getWriter();

             //输出错误提示信息
             out.print("前端请求方式与后端不一致");
             throw new RuntimeException("前端请求方式与后端不一致");
         }
     }

JAVAEE_Servlet_13_HttpServlet

原文:https://www.cnblogs.com/szqengr/p/14685302.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!