
1、POST /url 创建
2、DELETE /url/xxx 删除
3、PUT /url/xxx 更新
4、GET /url/xxx 查看
再说下区别及其详细意思:
1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select *** 作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次 *** 作,结果都是一样的。
2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update *** 作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT *** 作,其结果并没有不同。
3、POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert *** 作一样,会创建新的内容。几乎目前所有的提交 *** 作都是用POST请求的。
4、DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete *** 作。
>
>
>
>
>
1、OPTIONS
返回服务器针对特定资源所支持的>
2、HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3、GET
向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的 *** 作中,例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。Loadrunner中对应get请求函数:web_link和web_url
4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form
5、PUT
向指定资源位置上传其最新内容
6、DELETE
请求服务器删除Request-URL所标识的资源
7、TRACE
回显服务器收到的请求,主要用于测试或诊断
8、CONNECT
>
注意:
1)方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Mothod Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented)。
2)>
>
>
>
客户端连接到Web服务器->发送>
1、客户端连接到Web服务器
一个>
2、发送>
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
3、服务器接受请求并返回>
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
4、释放连接TCP连接
若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;
5、客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。
>
客户端发送一个>
请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。
请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本
Get请求例子,使用Charles抓取的request:
GET /562f25980001b1b106000338jpg >
第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的>
GET说明请求类型为GET,[/562f25980001b1b106000338jpg]为要访问的资源,该行的最后一部分说明使用的是>
第二部分:请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息
从第二行起为请求头部,HOST将指出请求的目的地User-Agent,服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础该信息由你的浏览器来定义,并且在每个请求中自动发送等等
第三部分:空行,请求头部后面的空行是必须的
即使第四部分的请求数据为空,也必须有空行。
第四部分:请求数据也叫主体,可以添加任意的其他数据。
这个例子的请求数据为空。
POST请求例子,使用Charles抓取的request:
POST / >
第一部分:请求行,第一行明了是post请求,以及>
>
一般情况下,服务器接收并处理客户端发过来的请求后会返回一个>
>
例子
>
第一部分:状态行,由>
第一行为状态行,(>
第二部分:消息报头,用来说明客户端要使用的一些附加信息
第二行和第三行为消息报头,
Date:生成响应的日期和时间;Content-Type:指定了MIME类型的HTML(text/html),编码类型是UTF-8
第三部分:空行,消息报头后面的空行是必须的
第四部分:响应正文,服务器返回给客户端的文本信息。
空行后面的html部分为响应正文。
请求返回状态码:
200 OK 当您的 *** 作将在响应正文中返回数据时,出现此结果。
204 No Content 当您的 *** 作成功,但不在响应正文中返回数据时,出现此结果。
304 Not Modified(重定向) 当测试实体自上次检索以来是否被修改时,出现此结果。
403 Forbidden 客户端错误
401 Unauthorized 客户端错误
413 Payload Too Large(客户端错误) 当请求长度过长时,出现此结果。
400 BadRequest(客户端错误) 当参数无效时,出现此结果。
404 Not Found(客户端错误) 当资源不存在时,出现此结果。
405 Method Not Allowed(客户端错误)由于方法和资源组合不正确而出现此错误。 例如,您不能对一个实体集合使用 DELETE 或 PATCH。
412 Precondition Failed 客户端错误
501 Not Implemented(服务器错误) 当未实施某个请求的 *** 作时,出现此结果。
503 Service Unavailable(服务器错误) 当 Web API 服务不可用时,出现此结果。
GET与POST:
“get”方法提交的数据会直接填充在请求报文的URL上,如“ >
“post”方法提交的数据会附在正文上,一般请求正文的长度是没有限制的,但表单中所能处理的长度一般为100k(不同协议不同浏览器不一样),而且需要考虑下层报文的传输效率,不推荐过长。
所以GET方法可以用来传输一些可以公开的参数信息,解析也比较方便,如百度的搜索的关键词,而POST方法可以用来提交一个用户的敏感信息(如果不使用>
主要特点
1、无连接
无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
2、无状态
>
3、简单快速
客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于>
4、灵活
>
5、支持B/S及C/S模式
Java_3yJava_3y
关注
Struts2第十一篇简单UI标签、数据回显
原创27 阅读
Java_3y
Java_3y
2021-07-13 14:05:24
关注
Struts2UI标签
Sturts2为了简化我们的开发,也为我们提供了UI标签…也就是显示页面的标签…
但是呢,Struts2是服务端的框架,因此使用页面的标签是需要在服务器端解析然后再被浏览器解析,最后才显示在页面上的。因此,它的性能是不够HTML标签好的…HTML直接就能够被浏览器解析
还有一点是:我们在写网页的时候,肯定是需要使用div+css的页面布局的。使用Struts2UI标签也没法干了…因此,除了有必要的话,才去使用Struts2UI标签
简单使用Struts2UI标签
<%--我们发现,Struts2UI标签用起来和HTML是差不多的--%>
<s:form id="form1" name="form1" method="POST" action="#">
<%--输入框数据,lable就相当于我们以前外边写的数据--%>
<s:textfield label="用户名" name="userusername"/>
<%--密码框--%>
<s:password label="密码" name="userpassword"/>
<%--提交按钮--%>
<s:submit value="提交"/>
</s:form>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
当我们查看源文件的时候,发现Struts2UI标签为我们自动加入了很多的标签
Struts2第十一篇简单UI标签、数据回显_Struts
设置主题
上面已经说了,Struts2UI标签为我们自动加入了很多的标签,那有的时候,我们不想要,或者换一种风格的话,怎么办???
Struts2UI标签也为我们提供了“主题”这样的功能…
当我们在表单中设置theme属性为simple之后…我们发现源文件Struts2自动为我们添加的标签全没了。
Struts2第十一篇简单UI标签、数据回显_java_02
如果我们想整个项目都是使用simple为主题的话,我们可以在配置文件中配置!
<constant name="strutsuitheme" value="simple"/>
1
2
数据回显
我们对数据回显也不会陌生,在使用EL表达式的时候就已经用过了数据回显了…那为啥数据回显放在Struts2标签这里讲解呢???因为Struts2也提供了数据回显的支持,并且,使用数据回显必须要使用Struts2的标签…
Struts2第十一篇简单UI标签、数据回显_ui_03
按照正常思路写数据回显
在Struts中按照正常思路写数据回显是这样的:
把数据放到request域中存储,跳转到对应的JSP页面…
public String login() {
//把数据存储到域中
Map<String, Object> request = ActionContextgetContext()getContextMap();
requestput("username", "zhongfucheng");
requestput("password", "123");
return SUCCESS;
}
1
2
3
4
5
6
7
8
9
JSP页面使用Struts2标签,设置value属性就可以进行数据回显了
<s:form id="form1" name="form1" method="POST" action="" >
<%--输入框数据,lable就相当于我们以前外边写的数据--%>
<s:textfield label="用户名" name="userusername" value="%{#requestusername}"/>
<%--密码框--%>
<s:password label="密码" name="userpassword"/>
<%--提交按钮--%>
<s:submit value="提交"/>
</s:form>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
效果:
Struts2第十一篇简单UI标签、数据回显_java_04
Struts2提供的数据回显
其实,上面的代码已经实现了数据回显,但Struts2提供了一个更巧妙的方法
Struts2第十一篇简单UI标签、数据回显_java_05
也就是说,Struts2可以直接在name中就可以实现数据回显了…要做的是:
我们回显的数据在根元素下的,也就是保存在CompoundRoot中的数据保存在根元素的数据不用使用#号就可以获取
因此,我们把想要回显的数据放在CompoundRoot下
直接放在值栈的数据就是根元素数据
//得到值栈对象
ValueStack valueStack = ActionContextgetContext()getValueStack();
valueStackset("username","zhongfucheng");
1
2
3
4
在JSP就可以直接获取了
<s:textfield label="用户名" name="username"/>
1
2
效果:
Struts2第十一篇简单UI标签、数据回显_ui_06
<script type="text/javascript"> $(function () { $('preprettyprint code')each(function () { var lines = $(this)text()split('\n')length; var $numbering = $('<ul/>')addClass('pre-numbering')hide(); $(this)addClass('has-numbering')parent()append($numbering); for (i = 1; i <= lines; i++) { $numberingappend($('<li/>')text(i)); }; $numberingfadeIn(1700); }); }); </script>setup是软件安装可执行程序;
1 anacron 可执行crontab既定时间内没执行的工作。
2 atd 单一使用的例行性命令。
3 apmd 了解系统电池电量(手提式计算机使用)。
4 arpwatch 持续监测网络卡MAC和IP。
5 autofs 自动挂载一些装置。
6 cups打印服务。
7 chargen(tcp) 当客户发送一个数据报时,TCP服务器发送一串连续的字符流直到客户中断链接。
8 chargen-udp UDP服务器发送一个随机长度数据报。
9 crond 执行/etc/crontab中的例行性命令。
10 daytime 日期时间服务器。
11 daytime-udp 日期时间服务器。
12 dhcpd 动态主机协议分配服务器。
13 echo 回显服务器。
14 echo-udp 回显服务器。
15 gpm 文字模式中使用mouse从事移动、复制、粘贴等功能。
16 >
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)