request请求编码处理

request用来获取浏览器的请求信息,请求的方式分为get请求和post请求。

get请求会把参数显示到地址栏(超链接或通过地址栏直接请求),post请求用来提交表单。

get请求的参数在url之后,post请求的参数在请求体中

如果请求的参数含有中文,需要对其请求进行编码进行设置

post:

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");//处理post请求的编码,只对post请求有效
        String name = request.getParameter("username");
        System.out.println(name);

    }

get:

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /**
         * 页面请求的编码是utf-8,request获取请求的参数默认使用iso-8859-1编码,所以会乱码
         */
        String id = request.getParameter("id");
        byte[] bytes = id.getBytes("ISO-8859-1");//把得到的id解码,得到原来的utf-8字节数组
        id = new String(bytes, "UTF-8");//再对这个utf-8数组进行二次编码
        System.out.println(id);

    }

ps:getBytes()是将一个字符串转化为一个字节数组。

时间: 2024-10-21 15:40:12

request请求编码处理的相关文章

iOS开发之Socket通信实战--Request请求数据包编码模块

实际上在iOS很多应用开发中,大部分用的网络通信都是http/https协议,除非有特殊的需求会用到Socket网络协议进行网络数 据传输,这时候在iOS客户端就需要很好的第三方CocoaAsyncSocket来进行长连接连接和传输数据,该第三方地 址:https://github.com/robbiehanson/CocoaAsyncSocket,读者可以自行google或者baidu搜索 这个库的用法,网上有很多资料,而且用法不难. 在一些对Socket通信使用需求不是很高的应用中,比如需要

Java中request请求之 - 带文件上传的form表单

常用系统开发中总免不了显示图片,保存一些文件资料等操作. 这些操作的背后,就是程序员最熟悉的 enctype="multipart/form-data"类型的表单. 说起file类型的input,我们往往会遇到问题: 最为常见的就是编码格式-中文乱码.解决中文乱码最好的方式就是我们的项目全部使用 utf-8 格式的国际编码,因为它是可变字节长度的编码,对于占用2字节的中文绰绰有余了.另外就是使用 String s2 = new String(s1.getBytes(“ISO-8859-

全站请求编码过滤器

1 *自定义的: 2 >代码: 3 public class EncodingFilter implements Filter{ 4 private String charset="utf-8"; 5 public void destroy(){ 6 } 7 public void doFilter(ServletRequest req,ServletResponse resp, 8 FilterChain chain){ 9 HttpServletRequest request

servlet中response,request,编码和路径问题

内容: * response * request * 编码 * 路径 服务器处理请求的流程: 服务器每次收到请求时,都会为这个请求开辟一个新的线程. 服务器会把客户端的请求数据封装到request对象中,request就是请求数据的载体!(袋子) 服务器还会创建response对象,这个对象与客户端连接在一起,它可以用来向客户端发送响应.(手机) response response:其类型为HttpServletResponse ServletResponse–>与协议无关的类型 HttpSer

各种编码问题产生原因以及解决办法---------响应编码,请求编码,URL编码

 响应编码 产生原因以及解决办法: 示例: 1 package cn.yzu; 2 import java.io.IOException; 3 import javax.servlet.ServletException; 4 import javax.servlet.http.HttpServlet; 5 import javax.servlet.http.HttpServletRequest; 6 import javax.servlet.http.HttpServletResponse; 7

servlet请求编码与响应编码问题(编码不一致可能会导致乱码)

html中的编码 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">这里不设置成中文编码无法写中文. jsp中的编码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> conte

Request请求

<1> HTMLPage.htm请求页 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head> <body> <!--如果不指定method属性,那么method的默认值就是get--> <form action="Default.aspx"> <input t

javaWeb中request请求转发和response重定向

1.访问资源 运用forward方法只能重定向到同一个Web应用程序中的一个资源. 而sendRedirect方法可以让你重定向到任何URL. 2.request.get Forward代码中的"/uu"则代表相对与WEB应用的路径. 举例: Servlet 和 目标文件的包路径: Servlet  代码:中 doPost 和doGet代码: request 重定向url地址 或者是是相对于 本项目 (WEB13)  http:localhost:8080/WEB13+url     

Servlet的学习之Request请求对象(3)

本篇接上一篇,将Servlet中的HttpServletRequest对象获取RequestDispatcher对象后能进行的[转发]forward功能和[包含]include功能介绍完. 首先来看RequestDispatcher对象的“转发”功能: 在<Servlet的学习(五)>中说过,使用ServletContext对象的getRequestDispatcher方法可以获得转发对象RequestDispatcher对象,将请求进行转发给其他的Servlet或者JSP处理,同时在该篇的结