2.新建servlet-dopost_request_乱码_filter

JavaSE-2-数据类型与运算符
2017年11月3日
JavaWeb项目部署
2017年11月18日

相应实例代码请查看servlet源码

1:doGetdoPost方法的不同

什么时候访问doGet,什么时候访问doPost

访问doGet有三种方式

a:直接访问servlet

b:在servlet后面加参数

c:在form表单提交的时候
指定method = “get”

d:在网页链接的弹开窗口会用到doGet

 
 

什么时候用到doPost
a:orm
表单提交的时候指定method = “post”;

b:ajax 提交的时候指定用post方式 

 
 

dopostdoget的一个比喻。

get 就是你买东西的时候,把商品全放在手上,别人都看得见

post 就是你买的所有商品都装在袋子里 ,别人看不到。

 
 

 
 

2:HttpServletRequest HttpServletResponse

知道了传参的几种方式,那我们在servlet里面怎么能够得到前台页面带过来的参数。

这就需要我们了解doGet方法里面的两个参数对象

HttpServletRequest request, HttpServletResponse response

 
 

a request.getParameter(“”);

b request.getParameterNames enumeration方式获取所有参数

c 出现乱码怎么办

    1>post参数乱码

        request.setCharacterEncoding(“UTF-8”);

        response.setCharacterEncoding(“UTF-8”);

        response.setContentType(“text/html;charset=’utf-8′”);

    2>get参数 方法的乱码怎么解决

 
 

 
 

3:怎么来解决request response 乱码的
问题

1:新建项目的时候,检查项目的编码 UTF-8

2HTML页面,jsp页面编码设置为UTF-8

3:在servlet里面设置

         request.setCharacterEncoding(“UTF-8”);

         response.setCharacterEncoding(“UTF-8”);

         response.setContentType(“text/html;charset=UTF-8”);

4doget方式(两种方式)

    a:先把中文字符串转化为字节,再把字节以制定的编码组合

    b:更改tomcat下面server.xml文件里面
加上URIEncoding=”UTF-8″

5:js传后台出现中文乱码   java.net.URLEncoder 

 
 

 
 

 
 

过滤器 Filter

怎么在项目里面一劳永逸的解决我们的乱码问题,不用每个servlet都去手动设置他们request

response里面的编码格式。

过滤器的作用 :就是对所有匹配的servlet进行一些信息的过滤或者信息的加工。

新建过滤器步骤: 1:新建过滤器关联的java
实现Filter接口

                     2:引入几个方法 init  destroy dofilter方法
(重写,注意过滤链chain的使用),

                     3:在web.xml注册

发表评论

电子邮件地址不会被公开。 必填项已用*标注