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("前端请求方式与后端不一致");
}
}

最新文章

  1. linux第二天
  2. 使用 PHP 过滤器(Filter)进行严格表单验证
  3. Android 利用ListView制作带竖线的多彩表格
  4. G450 CPU 升级
  5. Base64编码原理与应用
  6. [转]Easy Stored Procedure Output Oracle Select
  7. SQL server 2005 PIVOT运算符的使用
  8. leetcode[67] Plus One
  9. java对数据库的操作
  10. .Net Core 中使用Session
  11. IOS 程序图标添加数字
  12. Win10 Ubuntu子系统运行32bit Linux原生程序
  13. select中想要加a链接 并且新窗口打开
  14. Ubuntu: 软件库(software repositories)
  15. Java 泛型方法、泛型类、通配符、通配符上下限
  16. iphone 恢复出厂设置方法
  17. GDB 调试解析
  18. 【WPF】使用控件MediaElement播放视频
  19. js循环总结
  20. HTTP Get与Post请求

热门文章

  1. 6. vue组件详解(一)
  2. 微信小程序:点击预览大图功能
  3. Get optimized undo_retention size for Oracle
  4. Docker 镜像加速教程
  5. ubuntu系统共享桌面的使用和配置
  6. Docker Hub 镜像加速器
  7. Bootstrap下拉菜单、按钮式下拉菜单
  8. JVM 中的异常
  9. redis一句话木马控电脑
  10. kali Linux树莓派的完整配置,以及python环境的配置