浅谈HttpServlet之重写doGet、doPost
【摘要】 浅谈HttpServlet之重写doGet、doPost
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
若HttpServlet方法中没有init方法,会继续执行GenericServlet类中的init方法。
若HttpServlet方法中没有service方法,会继续执行GenericServlet类中的service方法。
//request.getMethod()方法获取的是请求方式。可能是其中之一:GET POST PUT DELETE HEAD OPTINS TRACE
405错误表示前端发送的请求方式与后端请求的处理方式不一致。
重写HttpServlet的service方法,web页面享受不到405服务。
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>
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请求
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)