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 条评论
登录 后参与评论

相关文章

来自专栏Felix的技术分享

用Android Studio调试Framework层代码

53450
来自专栏运维小白

Linux基础(day7)

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

224100
来自专栏编程

深入理解RPC之传输篇

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

30070
来自专栏Vamei实验室

Linux进程间通信

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

298100
来自专栏技术/开源

开源API测试工具 Hitchhiker v0.6更新 - 改进压力测试

Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持上传脚本定制请求,可以轻松部...

38080
来自专栏Linyb极客之路

Spring Boot的并发编程

1.5K60
来自专栏cloudskyme

WSO2 ESB(4)

WSO2的企业服务总线(ESB)的用户指南 用户指南介绍了如何配置WSO2 ESB使用基于Web的管理控制台。 WSO2的管理控制台已经过测试的Mozilla ...

43680
来自专栏Android开发实战

android Ndk JNI 入门

相信很多人对于NDK 开发都是懵逼的,比如都知道把加密的逻辑以及密钥放在so文件中,但是你知道怎么生成so文件吗?你知道开发jni吗?你熟悉jni语法吗?怎么配...

18520
来自专栏FreeBuf

Kali-Linux扩充弹药:Kali Linux metapackages

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

27080
来自专栏13blog.site

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

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

32070

扫码关注云+社区

领取腾讯云代金券