浅谈HttpServlet之重写doGet、doPost

简介: 200表示请求响应成功,正常结束。404表示访问资源不存在。405表示前端发送的请求方式与后端请求的处理方式不一致。

200表示请求响应成功,正常结束。

404表示访问资源不存在。

405表示前端发送的请求方式与后端请求的处理方式不一致。

500表示服务器端的程序出现异常。

Servlet(接口)- GenericServlet implements Servlet(抽象类) - HttpServlet extends GenericServlet(抽象类)

HttpServletRequest对象,封装了请求协议的全部内容。

HttpServletResponse对象,专门响应HTTP协议到浏览器的。

Servlet生命周期

第一次请求

Tomcat服务器通过反射机制,创建Servlet对象。

Tomcat服务器调用Servlet对象的init方法。

Tomcat服务器调用Servlet对象的Service方法处理请求。

第…次请求

Tomcat服务器调用Servlet对象的Service方法处理请求

Tomcat服务器关闭

Tomcat服务器调用Servlet对象的destroy方法,做销毁之前的准备工作。

Tomcat服务器销毁Servlet对象

重写doGet和doPost

6.png


若HttpServlet方法中没有init方法,会继续执行GenericServlet类中的init方法。

若HttpServlet方法中没有service方法,会继续执行GenericServlet类中的service方法。

//request.getMethod()方法获取的是请求方式。可能是其中之一:GET POST PUT DELETE HEAD OPTINS TRACE

405错误表示前端发送的请求方式与后端请求的处理方式不一致。

重写HttpServlet的service方法,web页面享受不到405服务。

4.png5.png

Web.Xml配置

<servlet>

   <servlet-name>HtServlect</servlet-name>

   <servlet-class>com.javaweb.Servlect.HtServlect</servlet-class>

</servlet>

<servlet-mapping>

   <servlet-name>HtServlect</servlet-name>

   <url-pattern>/Ht</url-pattern>

</servlet-mapping>

Index.html配置

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>Title</title>

</head>

<body>

<h1>get请求</h1>

<a href="/JavawebServlect/Ht">get请求</a>

<h1>Post 请求</h1>

   <form action="/JavawebServlect/Ht" method="post">

     username<input type="text" name="username"><br>

     <input type="submit" value="login">

   </form>

</body>

</html>





1.png2.png3.png



GET和POST的区别

POST请求:在使用<form>表单,并且使用from标签的时候 method="post"。其他请求都是get请求。

Get请求发送数据的时候,数据会挂在URI的后面,并且URI后面有?,?后面是数据。这样会导致发送的数据回显在浏览器的地址栏上。

Post请求发送数据的时候,在请求体中发送。不会显示到地址栏上。

Get请求和Post请求,发送的请求数据格式是完全相同的。位置不同,格式都是统一的。

Get请求无法发送大数据量,只能发送普通字符,发送的字符串长度有限制,不同的浏览器限制不同。

Post请求可以发送任何类型的数据,没有长度限制。

GET请求,适合从数据端获取数据。

POST请求,比较适合向服务器端传送数据。(修改服务器端的资源)

Get请求是绝对安全的。Get请求只是为了从服务器获取数据

Post请求是危险的。Post请求是向服务器提交数据,如果这些数据从后门的方式进入到服务器当中,服务器很危险。

缓存

Get请求支持缓存。

Post请求不支持缓存。

发送Get请求,浏览器先从本地浏览器缓存中寻找资源,当找不到时向服务器请求资源。

如:文件上传POST请求

目录
相关文章
|
Web App开发 缓存 网络协议
如何实现服务端向客户端推送数据
常见的http协议只能从客户端主动向服务端请求数据,而服务端无法向客户端发送数据.本文通过介绍几种方式来实现上述功能.
|
SQL Java 数据库连接
Hive教程(08)- JDBC操作Hive
Hive教程(08)- JDBC操作Hive
1651 0
|
Oracle JavaScript Java
JDK的版本迭代特性(JDK9 - JDK20)
JDK的版本迭代特性(JDK9 - JDK20)
|
存储 弹性计算 Linux
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
本文为大家介绍新手用户从注册阿里云账号,完成实名认证,然后试用云服务器和购买云服务器的主要流程,适合初次购买和试用阿里云服务器的新手用户参考。
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
IDEA中properties文件中文乱码解决方案
IDEA中properties文件中文乱码解决方案
519 2
|
算法
记一次requests.get()返回数据乱码问题
【10月更文挑战第21天】使用`requests.get()`请求网页时遇到乱码问题,尝试通过设置`encoding`和使用`apparent_encoding`自动判断编码均无效。最终发现问题是由于请求头中的`Accept-Encoding`包含了`br`(Brotli压缩格式),导致响应内容未被正确解压。移除`Accept-Encoding`中的`br`后,问题得到解决。
413 7
|
Java 编译器 Spring
面试突击78:@Autowired 和 @Resource 有什么区别?
面试突击78:@Autowired 和 @Resource 有什么区别?
16223 6
|
SQL 安全 程序员
宽字节注入详解
宽字节注入详解
280 0
|
Java 应用服务中间件 API
Tomcat处理一个HTTP请求的执行流程的详细解析
Tomcat处理一个HTTP请求的执行流程的详细解析
593 4
request.getParameter()与request.getAttribute()
request.getParameter()与request.getAttribute()
下一篇
oss云网关配置