Servlet/JSP

Servlet/JSP为Java EE中接收、转发、响应客户端请求的的技术,是基于Web容器所提供的服务。

Servlet与JSP关系

Servlet是使用Java程序语言所编写的一个Java类,通过Web容器的加载、初始化,受到容器的管理才得以成为一个Servlet。JSP会被Web容器转译为Servlet的".java"源,编译为".class"文件,然后加载到容器中,最后是由Servlet实例(Instance)提供服务的。

注意:容器是Java所编写的一个应用程序,负责与服务器沟通,管理Servlet所需的各种对象和数据、Servlet生命周期。

Get和Post的区别

  • Get请求和Post请求是学习Servlet/JSP时最常接触的两个请求方式。除了长度过长的请求数据之外,许多请求可以使用GET,也可以使用Post。其区别如下:
  • Get跟随在URL之后的请求参数长度是有限的,过长的请求参数,或像文件上传这类的大量数据,就不适合用Get请求,而用Post。
  • Get的请求参数会出现在地址栏上,敏感性或保密性的请求参数,就不应该使用Get请求来发送。
  • Post请求的请求参数不会出现在地址栏上,无法添加到浏览器的书签中,如果有些页面是根据请求参数进行不同的页面显示,而又希望可以让用户设置书签,以便日后可以直接点击书签进行浏览,则此时应使用Get。
  • 有些浏览器会根据地址栏来缓存数据,如果地址栏是相同的URL,则会直接从浏览器缓存中取出数据,而不会真正发送请求至服务器上查询最新的数据。通过Get请求中附加时间戳记,让每次的Get请求地址栏都不相同。
  • Get请求应该用于幂等操作,即Get请求纯粹是取得数据,而不改变服务器上的数据或状态。
  • Post请求应该用于非幂等操作,请求所发送的数据,可能会影响服务器上的数据或状态。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Rainbond开源「容器云平台」

好雨云帮一周问答集锦(2.6-2.12)

946
来自专栏编程

深入理解RPC之传输篇

RPC 被称为“远程过程调用”,表明了一个方法调用会跨越网络,跨越进程,所以传输层是不可或缺的。一说到网络传输,一堆名词就蹦了出来:TCP、UDP、HTTP,同...

2467
来自专栏Linyb极客之路

Spring Boot的并发编程

6406
来自专栏FreeBuf

使用fuzzDB进行web安全测试

写在前面: fuzzDB看字面意思就知道,他是一个用于fuzz网站的库。类似于wwwscan之类工具的字典,但是他的过人之处是他是“开源”的,会有很多大神帮你维...

2938
来自专栏FreeBuf

Kali-Linux扩充弹药:Kali Linux metapackages

信息安全爱好者经常使用的Kali-Linux需要经常更新,扩充弹药,最近在关注Kali-Linux的时候发现一个比较有意思的文档。 原链接如下:http://w...

2328
来自专栏13blog.site

Maven构建项目速度太慢的解决办法

问题描述 通过idea新建maven项目,参数设置好后,idea自动构建maven项目时,速度很慢。 参数设置如图: ? 执行时间如下图: ? Total ti...

2867
来自专栏运维小白

Linux基础(day7)

2.10 环境变量PATH which命令介绍 which 可以查看命令所在的路径 which查询的路径是通过以下的路径,进行查询 [root@aminglin...

20410
来自专栏Jackson0714

PHP内核之旅-1.生命周期

1082
来自专栏Vamei实验室

Linux进程间通信

我们在Linux信号基础中已经说明,信号可以看作一种粗糙的进程间通信(IPC, interprocess communication)的方式,用以向进程封闭的内...

21710
来自专栏java一日一条

Java Spring中同时访问多种不同数据库

开发企业应用时我们常常遇到要同时访问多种不同数据库的问题,有时是必须把数据归档到某种数据仓库中,有时是要把数据变更推送到第三方数据库中。使用Spring框架时,...

1551

扫码关注云+社区