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