request.getParameter乱码
来源:互联网 发布:ipadapp下载不了软件 编辑:程序博客网 时间:2024/06/06 06:33
post请求乱码
<form action="/WEB24/encodeServlet" method="post"> <input type="text" name="username"> <input type="submit" value="提交"> </form>
servlet中打印输入内容
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String str = request.getParameter("username"); System.out.println(str); }
在输入框中输入中文后,打印结果
哈å
在doGet()方法中加入这一句
request.setCharacterEncoding("UTF-8");
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); String str = request.getParameter("username"); System.out.println(str); }
重新输入中文后,打印结果
哈哈
get请求乱码
<form action="/WEB24/encodeServlet" method="get"> <input type="text" name="username"> <input type="submit" value="提交"> </form>
doGet()方法
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String str = request.getParameter("username"); System.out.println(str); }
输入中文后打印结果
哈å
在doGet()方法中加入String name = new String(str.getBytes("ISO8859-1"),"UTF-8");
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String str = request.getParameter("username"); String name = new String(str.getBytes("ISO8859-1"),"UTF-8"); System.out.println(name); }
打印结果
哈哈
全局乱码处理 get请求乱码
在每个servlet中处理乱码比较麻烦,所以使用过滤器处理
jsp中使用get请求
<form action="/WEB24/encodeServlet" method="get"> <input type="text" name="username"> <input type="submit" value="提交"> </form>
过滤器
public class EncodeFilter implements Filter{ @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; //当req调用getParameter()方法时,实际调用的是增强类对象的getParameter方法。 EnhanceRequest enhanceRequest = new EnhanceRequest(req); chain.doFilter(enhanceRequest, response); } @Override public void destroy() { } /** * 装饰着模式 * 增强getparameter()方法 * @author YeLiang * */ static class EnhanceRequest extends HttpServletRequestWrapper{ private HttpServletRequest request; public EnhanceRequest(HttpServletRequest request) { super(request); this.request = request; } @Override public String getParameter(String name) { String parameter = request.getParameter(name); try { parameter = new String(parameter.getBytes("iso8859-1"),"UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return parameter; } } }
web.xml中的配置
<filter> <filter-name>EncodeFilter</filter-name> <filter-class>com.yeliang.encode.EncodeFilter</filter-class> </filter> <filter-mapping> <filter-name>EncodeFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
servlet中的doGet方法没有做操作
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String str = request.getParameter("username"); System.out.println(str); }
打印结果
哈哈
阅读全文
0 0
- request.getParameter(“xxx”)乱码
- Request.getParameter乱码
- request.getParameter 乱码
- request.getParameter 中文乱码
- request.getParameter()中文乱码
- request.getParameter()中文乱码
- Request.getParameter()乱码问题
- request.getParameter()中文乱码
- request.getParameter乱码
- request.getParameter 乱码问题
- request.getParameter中文乱码问题
- request.getParameter 中文乱码解决
- request.getParameter("")的乱码问题
- request.getParameter中文乱码问题
- request.getParameter中文乱码问题
- request.getParameter中文乱码问题
- request.getParameter中文乱码问题
- request.getParameter() 获取中文乱码
- Sublime Text 3 配置文件详解
- java面试题---请用多线程写死锁
- 关于静态资源压缩技术
- Selenium Webdriver元素定位的八种常用方式
- 【2017-08-22】 Java基础复习记录
- request.getParameter乱码
- Java Web 学习笔记之十一:RestEasy统一处理异常
- groovy动态语言
- zookeeper伪集群安装
- C#中的并行与多线程编程
- RecycleView简单使用
- 外网访问本机apache的配置
- JS/CSS Minify(uglify) and Prettify
- java 中的接口和抽象类的异同