ServletRequest请求详解

对于浏览器的请求

  ServletRequest有很多种请求,最主要的就是get请求和post请求

get请求

  •get提交的数据会放在URL后,以?分割URL和传输数据,参数之间以&相连

  •get方法以明文传输,数据量少,不安全

  •效率高,浏览器默认请求方式是GET请求

  •对应的servlet方法是doGET

post请求

  •post方法是把提交的数据放在HTTP包的body中

  •密文传递数据、数据量大、安全

  •效率没有get高

  •对应的servlet方法是doPost

request请求对象

  对于request请求对象,我们通常通过getParameter根据表单组件名称获得提交数据

Get样例

  现在我们自己来实现一个request应用——注册

  首先我们在web目录下创建一个register.html文件,写上get方法的表单,提交的数据是账号和密码,action写的是servlet的名称的url,那路径从哪里开始呢——路径应该是我们的项目,所以我们写上/My_Servlet_war_exploded/rs

  然后我们创建一个servlet类继承HttpServlet,重写doGet方法,用注解指定url路径,注意我们使用的是请求类的getParameter方法来获得请求的数据的

   现在我们重启tomcat服务器,就可以通过浏览器的url访问我们的register页面

   点注册之后我们就会向RegisterServlet进行一个Get请求

   回到idea我们可以看到RegisterServlet的doGet方法输出了内容

   至此一个简单的网页请求后台业务完成,nice~

Post样例

  post请求只需把我们的method改成post

  然后我们的servlet重写doPost方法即可

   我们重启服务器,访问我们的register.html提交数据

   我们可以看到提交成功,但提交的数据乱码了

 Post方法解决乱码

  由于客户端是以UTF-8字符编码集将表单数据传递给服务端的,因此服务器也需要设置UTF-8字符编码接受。

  我们使用从ServletRequest接口继承而来的setCharacterEncoding方法设置字符集

   这样我们的数据就不会发生乱码了

  

原文地址:https://www.cnblogs.com/qq2210446939/p/13991705.html