JAVAEE_Servlet_13_HttpServlet
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的更多相关文章
随机推荐
- 这一篇TCP总结请收下
前言 很高兴遇见你~ TCP这些东西,基本每个程序猿都或多或少是掌握的了.虽然感觉在实际开发中没有什么用武之处,但,面试他要问啊 而最近大家伙过完年,也都在准备春招,我也一样.阅读了一些okHttp源 ...
- Debian 基本使用进阶
系统安装好了我们,迫不及待的想要在Linux系统中肆意翱翔.如果是刚刚接触Linux的系统的话,可能一时间还无法适应Linux的系统环境.对于使用Debian来做服务器的选择,最好的练习方式的就是使用 ...
- docker仓库之harbor高可用 (三)
基于上一篇部署完成了企业级仓库harbor的部署,今天我们来聊聊什么是harbor的高可用 Harbor 支持基于策略的 Docker 镜像复制功能,这类似于 MySQL 的主从同步,其可以实现不同的 ...
- zabbix Python3管理
import requests import json import os # user config here ip = '192.168.52.130' user = "root&quo ...
- 报错: You are using pip version 10.0.1, however version 18.0 is available.
报错: You are using pip version 10.0.1, however version 18.0 is available. You should consider upgradi ...
- 什么是内存对齐,go中内存对齐分析
内存对齐 什么是内存对齐 为什么需要内存对齐 减少次数 保障原子性 对齐系数 对齐规则 总结 参考 内存对齐 什么是内存对齐 弄明白什么是内存对齐的时候,先来看一个demo type s struct ...
- mongodb 聚合(aggregate)
MongoDB中文手册|官方文档中文版 https://docs.mongoing.com/ 聚合操作处理数据记录和 return 计算结果.聚合操作将来自多个文档的值组合在一起,并且可以对分组数 ...
- Azure AD, Endpoint Manger(Intune), SharePoint access token 的获取
本章全是干货,干货,干货,重要的事情说三遍. 最近在研究Azure, Cloud相关的东西,项目中用的是Graph API(这个在下一章会相信介绍),可能是Graph API推出的时间比较晚,部分AP ...
- 导出文件,responseType设置了blob,实际返回了JSON格式的错误信息的处理方式
需求:导出文件 问题描述:由于后台直接返回的文件流,在请求下载的方法中将XHR 的 responseType 指定为 blob 或者 arraybuffer.但并不是每次的操作都是成功的,所以在接口错 ...
- 简历求职:STAR法则
做了近2年的大学生就业辅导工作,也接触了很多即将走出校园的大学生,做个总结与大家分享,同时也是对自己的一个总结. 最近刚听说STAR法则,这也是一直我们给学生的指导思想,百度了一下: STAR法则,即 ...