doGet
和doPost
是Java Servlet中常用的两个方法,用于处理HTTP请求。它们的主要区别在于处理的请求类型和数据传输方式。
-
doGet
方法:- 请求类型:GET请求
- 数据传输方式:通过URL的查询参数或请求头中的数据传输
- 适用场景:
- 用于从服务器获取数据
- 参数值通过URL的查询参数进行传递,可在URL中直接看到参数
- 数据量较小,不超过URL的长度限制
-
doPost
方法:- 请求类型:POST请求
- 数据传输方式:通过请求体中的数据传输(通常以表单形式提交)
- 适用场景:
- 用于向服务器提交数据
- 参数值通过请求体进行传递,不会在URL中直接暴露
- 可以传输较大量的数据,不受URL长度限制
- 页面访问工作流程
-
找服务器 找路径 后面才是某个资源
-
找到8080端口tomcat 里面可以放很多项目,1通过请求头来,根据请求头找到host2.请求行找到访问哪个应用3找到真实路径4服务器创建对应servlet5调用service 生成request response
-
4.el语句
<%@ page contentType="text/html; charset=UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EL中作用域相关的内置对象</title>
</head>
<body>
<%
pageContext.setAttribute("name", "刘大哥");
request.setAttribute("name", "张小妹");
session.setAttribute("name", "老王叔");
application.setAttribute("name", "bilibili");
%>
In pageScope name=${pageScope.name }<br>
In requestScope name=${requestScope.name }<br>
In sessionScope name=${sessionScope.name }<br>
In applicationScope name=${applicationScope.name }<br>
</body>
</html>
-
在页面的头部,通过指令
<%@ page contentType="text/html; charset=UTF-8" %>
设置了页面的内容类型为"text/html",字符编码为UTF-8。 -
在页面的
<body>
标签中使用了脚本片段<% %>
,通过pageContext.setAttribute()
方法设置了名为 "name" 的属性,作用域为 pageScope(页面作用域)。 -
通过
request.setAttribute()
方法设置了名为 "name" 的属性,作用域为 requestScope(请求作用域)。 -
通过
session.setAttribute()
方法设置了名为 "name" 的属性,作用域为 sessionScope(会话作用域)。 -
通过
application.setAttribute()
方法设置了名为 "name" 的属性,作用域为 applicationScope(应用程序作用域)。 -
在页面中使用了EL表达式
${}
来引用作用域中的属性值,并通过不同的作用域前缀来指定属性所在的作用域。 -
${pageScope.name}
表示访问页面作用域中的 "name" 属性的值。 -
${requestScope.name}
表示访问请求作用域中的 "name" 属性的值。 -
${sessionScope.name}
表示访问会话作用域中的 "name" 属性的值。