浅谈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请求

目录
相关文章
|
7月前
HttpServletRequest类
HttpServletRequest类
47 0
|
6月前
|
Java API 数据库
GenericServlet 和 HttpServlet
GenericServlet 和 HttpServlet
|
7月前
|
Java API 数据库
GenericServlet 和 HttpServlet
在 Java Web 开发中,GenericServlet 和 HttpServlet 是两个重要的类,用于处理客户端的请求和生成响应。它们是基于 Java Servlet API 的关键组件,为开发人员提供了处理 Web 请求和实现服务器端逻辑的强大工具。
59 0
HttpServlet使用@WebServlet注解
HttpServlet使用@WebServlet注解
|
应用服务中间件 调度
Service、doGet、doPost 方法
Service、doGet、doPost 方法
144 0
|
XML 关系型数据库 MySQL
ServletConfig和ServletContext 的介绍和代码实现
ServletConfig和ServletContext 的介绍和代码实现
88 0
|
安全 Java
为什么直接通过 @Autowired 注入的 HttpServletRequest 没有线程安全的问题
我们在各个地方注入依赖时,大多数情况下都是单例的。为什么直接通过 @Autowired 注入的 HttpServletRequest 没有线程安全的问题呢?带着这个问题我做了如下笔记。
277 0
|
应用服务中间件
HttpServletRequest 类
HttpServletRequest 类
HttpServletRequest 类
|
应用服务中间件
HttpServletResponse 类
HttpServletResponse 类
HttpServletResponse 类
Servlet—HttpServletRequest与HttpServletResponse对象常用方法
Servlet—HttpServletRequest与HttpServletResponse对象常用方法
Servlet—HttpServletRequest与HttpServletResponse对象常用方法

热门文章

最新文章