织梦网站移动化,校园网站建设,在线教育oem平台,微信企业app手机下载安装1、HttpServlet类简介#x1f340;
Servlet类中常见的三个类有#xff1a;☑️HttpServlet类#xff0c;☑️HttpServletRequest类#xff0c;☑️HttpResponse类
#x1f42c;其中#xff0c;HttpServlet首先必须读取Http请求的内容。Servlet容器负责创建HttpServlet对…1、HttpServlet类简介
Servlet类中常见的三个类有☑️HttpServlet类☑️HttpServletRequest类☑️HttpResponse类
其中HttpServlet首先必须读取Http请求的内容。Servlet容器负责创建HttpServlet对象并把Http请求直接封装到HttpServlet对象中大大简化了HttpServlet解析请求数据的工作量
使用HttpServlet类时需要继承这个类、重写里面的方法并把重写的代码插入到Tomcat的既定流程当中 创建HttpServlet的步骤——“四部曲” 1扩展HttpServlet抽象类 2覆盖HttpServlet的部分方法如覆盖doGet()或doPost()方法 3获取HTTP请求信息。通过HttpServletRequest对象来检索HTML表单所提交的数据或URL上的查询字符串 4生成HTTP响应结果。通过HttpServletResponse对象生成响应结果它有一个getWriter()方法该方法返回一个PrintWriter对象。 2、HttpServlet类中的方法
1常见方法
HttpServlet类中常见的方法如下
方法方法作用说明initservlet 被实例化之后,自动执行的方法.用来进行初始化工作这三个方法都不需要手动调用。Tomcat会在合适的时机自动调用这三个方法destoryServlet 被销毁之前,自动执行的方法.用来进行释放资源的操作service每次收到 http 请求,就会自动执行的方法.处理请求, 计算响应(服务器的主逻辑)doGet用于获取服务器信息并将其做为响应返回给客户端根据请求的方法被service调用doPost用于客户端把数据传送到服务器端Post适合发送大量的数据。doDelete/doPut/doOptions用来处理一个HTTP DELETE操作这个操作允许客户端请求从服务器上删除URL/这个操作自动地决定支持哪一种HTTP方法/操作包含请求体的数据Servlet应该按照他行事
2验证doGet、doPost、doDelete
·postman 什么是postman 在开发APP接口的过程中一般接口写完之后后端开发都会模拟调用一下请求。在用Postman之前对于一般的get请求基本都会用浏览器来简单模拟。 Postman是一款支持http协议的接口调试与测试工具具有功能强大、使用简单且易用性好的特点 postman下载地址 import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;WebServlet(/method)
public class MethodServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(doGet-sys);resp.getWriter().write(doGet);}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(doPost-sys);resp.getWriter().write(doPost);}Overrideprotected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println(doDelete-sys);resp.getWriter().write(doDelete);}
}·验证doGet方法 控制台打印
·验证doPost ·验证doDelete 3、返回请求内容
用StringBuilder来存储返回的请求内容并打印
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Enumeration;WebServlet(/show)
public class ShowRequestServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {StringBuilder stringBuilder new StringBuilder();stringBuilder.append(req.getProtocol());//返回协议名stringBuilder.append(/br);stringBuilder.append(req.getMethod());//返回使用的方法stringBuilder.append(/br);stringBuilder.append(req.getRequestURI());//返回发送请求的URIstringBuilder.append(/br);stringBuilder.append(req.getContextPath());//返回Context路径stringBuilder.append(/br);stringBuilder.append(req.getQueryString());//返回请求的queryEnumerationString headernames req.getHeaderNames();while (headernames.hasMoreElements()){String key headernames.nextElement();String value req.getHeader(key);stringBuilder.append(key : value);//返回query中的key和value}resp.setContentType(text/html;charsetutf8);resp.getWriter().write(stringBuilder.toString());}
}
使用浏览器打开得到下面结果 使用postman得到相同结果