问题描述:
在练习servlet时,将所有的业务逻辑抽取到一个公有servlet时,通过反射获取前台传来的参数名称,在一个公有的servlet中定义各自不同业务方法,在方法中设置了编码格式,页面数据显示依然乱码
公有servlet代码如下:
通过反射调用方法BaseServlet代码如下:
前端代码如下:
小结:
再顺一下思路:
1:前台访问GoodsServlet时,传递了一个参数名称为action值为add的数据
2:访问servlet时,会先找一下有没有service方法,所以到GoodsServlet中,先看一下其中有没有service方法,当中没有,因为GoodsServlet继承了BaseServlet,所以就会到它的父类BaseServlet中找有没有service方法,父类中有service方法,所以就会调用
3:前台访问GoodsServlet时,就会先到BaseServlet中,调用它的service方法,所以在这里,就要设置它的编码方式request.setCharacterEncoding(“utf-8”)!!!,在GoodsServlet中的定义的add方法里面设置编码方式是没有用的
4:解决乱码问题的根本还是要理清楚思路,清楚请求方式的调用顺序,在对的地方设置编码格式。