前台页面(form)传两个值到servlet,一个是文件,另一个是文字。
servlet接收文字的方法:
Request req = smart.getRequest();
account = new String(req.getParameter("account").getBytes("iso-8859-1"), "gb2312");
但得到的是乱码
前台页面(form)传两个值到servlet,一个是文件,另一个是文字。
servlet接收文字的方法:
Request req = smart.getRequest();
account = new String(req.getParameter("account").getBytes("iso-8859-1"), "gb2312");
但得到的是乱码
这个问题分两个步骤解决:
首先,将前台JSP页面中
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
的UTF-8都改成GBK或GB2312
然后,在servlet中,在doGet或doPost方法中的第一行代码写
request.setCharacterEncoding("GBK");//或GB2312也行;
之后你创建smartUpload的对象..
得到request对象后正常获得JSP中form的各元素值就不会有问题,比如:
SmartUpload mySmartUpload = new SmartUpload();
String account = mySmartUpload.getRequest().getParameter("account");
System.out.println(account);//不会有乱码了;
页面使用UTF-8 然后你在转码!