get与post提交方式,url-pattern和响应流的使用

get与post提交方式

基于HTTP协议,有两种请求方式,一种为get请求方式,一种为post请求方式.
get:
(1)打开浏览器,地址栏输入访问路径,敲回车,为get请求方式,servlet中由doGet方法来处理请求.
(2)点击超链接,为get请求方式,servlet中由doGet方法来处理请求.
(3)提交表单,默认为get请求方式,servlet中由doGet方法来处理请求.

post:
(1)提交表单,将表单设置为 method=”post”
为post请求方式,servlet中由doPost方法来处理请求.
在不设置条件的情况下,提交方式默认为get

请求参数的传递与接收

参数的传递:
url?key1=value1&key2=value2&key3=value3
get与post提交方式,url-pattern和响应流的使用
参数的接收:
get与post提交方式,url-pattern和响应流的使用
对于表单参数的提交
表单元素input中的name属性值为key
我们在文本框中输入的内容为value

get提交和post提交的区别

get提交
(1)参数的传递
显示的传递参数,参数会显示的挂在url路径的后面
a.安全性 低
b.大量的参数传递,有可能会超出浏览器地址栏的上限,导致参数传递的不全
(2)参数的中文支持性
从示例来看,get提交的参数,后台接收后没有出现中文乱码问题.
之所以成功了,是因为我们现在的服务器的版本号较高(tomcat9).
如果应用的是较低版本的服务器,那么一定会出现乱码.
如果出现乱码了,解决方式为
conf/server.xml
get与post提交方式,url-pattern和响应流的使用
注意,以上设置方式仅针对get请求参数乱码问题.
(3)执行效率
执行效率相对较高.

post提交
(1)参数的传递
参数是以http协议请求体的方式传输到后台的.
参数是以隐式传递的,在地址栏上是没有体现的.
a.安全性 高
b.不用担心参数量多大的问题
(2)参数的中文支持性
通过示例,提交中文参数,后台接收后,是乱码.
我们在后台接收参数前,需要对我们接收的参数进行字符编码的处理.
get与post提交方式,url-pattern和响应流的使用
注意:以上代码仅针对post参数有效.

(3)执行效率
执行效率与get请求比较,相对较低.

3-4 实际项目开发中对于get和post提交方式的使用
如果我们的需求,不涉及到参数的安全性问题,不涉及到大量的参数的传递问题,一律使用get方式提交,执行效率较高.否则,一律创建表单使用post方式提交.

对于代码结构的处理:
get与post提交方式,url-pattern和响应流的使用

url-pattern的表现方式

/abc/myServlet1.do: 精确路径匹配
/abc/*: 部分路径匹配
/*: 通配符匹配
*.do: 后缀名匹配
注意:后缀名匹配,前面不加/
不存在以下形式
/*.do
/abc/*.do
abc/*.do

url-pattern的优先级

如果浏览器发出的请求,路径与web.xml中的多个url-pattern都匹配,则只能选择一个servlet来处理我们的请求.选择的servlet是按照优先级的顺序选择的,优先级较高的优先执行.
精确路径匹配 > 部分路径匹配 > 通配符匹配 > 后缀名匹配

响应流的创建和基本使用

get与post提交方式,url-pattern和响应流的使用

使用响应流响应中文信息

get与post提交方式,url-pattern和响应流的使用