A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 CrazyProgram 于 2013-4-27 22:38 编辑
  1. package zhiwei.deng.web.bbs.control;

  2. import java.io.IOException;
  3. import java.lang.reflect.InvocationTargetException;
  4. import java.util.Enumeration;

  5. import javax.servlet.ServletException;
  6. import javax.servlet.http.HttpServlet;
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;

  9. import zhiwei.deng.web.bbs.domain.User;
  10. import zhiwei.deng.web.bbs.form.RegisterForm;
  11. import zhiwei.deng.web.bbs.service.UserService;

  12. import com.sun.org.apache.commons.beanutils.BeanUtils;

  13. public class RegisterServlet extends HttpServlet {
  14.         public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
  15.                 doPost(request,response);
  16.         }
  17.         public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
  18.                 request.setCharacterEncoding("utf-8");
  19.                 Enumeration<String> enums = request.getParameterNames();
  20.                 User user = new User();
  21.                 while(enums.hasMoreElements()){
  22.                         String name = enums.nextElement();
  23.                         String[] values = request.getParameterValues(name);
  24.                         System.out.println(name);//username的参数
  25.                         System.out.println(request.getParameter(name));//这个显示乱码了é????????
  26.                         try {
  27.                                 BeanUtils.setProperty(user, name, values);
  28.                         } catch(Exception e) {
  29.                                 e.printStackTrace();
  30.                         }
  31.                 }
  32.                 //进入数据格式校验
  33.                 RegisterForm registerForm = new RegisterForm();
  34.                 boolean flag = registerForm.validate(user);
  35.                 if(flag){
  36.                         //校验通过
  37.                         try {
  38.                                 UserService userService = new UserService();
  39.                                 userService.addUser();
  40.                                 request.setAttribute("message", "用户注册成功");
  41.                                 request.getRequestDispatcher("/WEB-INF/jsp/message.jsp").forward(request, response);
  42.                         }catch (Exception e) {
  43.                                         e.printStackTrace();
  44.                                         request.setAttribute("message", "用户注册失败");
  45.                                         request.getRequestDispatcher("/WEB-INF/jsp/message.jsp").forward(request, response);
  46.                         }
  47.                         request.getRequestDispatcher("/WEB-INF/jsp/message.jsp").forward(request, response);
  48.                 }else{
  49.                         request.setAttribute("registerForm", registerForm);
  50.                         request.getRequestDispatcher("/WEB-INF/jsp/register.jsp").forward(request, response);
  51.                 }
  52.         }
  53. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

5 个回复

倒序浏览
我一般都是用request.setCharacterEncoding("gb2312");意思就是说把你的request.setCharacterEncoding("utf-8");换成这个试下。
回复 使用道具 举报
hyw840705183 发表于 2013-4-27 20:03
我一般都是用request.setCharacterEncoding("gb2312");意思就是说把你的request.setCharacterEncoding("utf ...

还是不行的。。不过我找到了,谢了·
回复 使用道具 举报
不用谢,你是用什么方法呢
回复 使用道具 举报
  1. package util;
  2. import java.io.IOException;  

  3. import javax.servlet.Filter;  
  4. import javax.servlet.FilterChain;  
  5. import javax.servlet.FilterConfig;  
  6. import javax.servlet.ServletException;  
  7. import javax.servlet.ServletRequest;  
  8. import javax.servlet.ServletResponse;  

  9. public class CharacterEncodingFilter implements Filter {

  10.         @Override
  11.         public void destroy() {
  12.                 // TODO Auto-generated method stub
  13.                

  14.         }

  15.         @Override
  16.         public void doFilter(ServletRequest arg0, ServletResponse arg1,
  17.                         FilterChain arg2) throws IOException, ServletException {
  18.                 // TODO Auto-generated method stub
  19.                 arg0.setCharacterEncoding("utf-8");  
  20.                 arg2.doFilter(arg0, arg1);  
  21.         }

  22.         @Override
  23.         public void init(FilterConfig arg0) throws ServletException {
  24.                 // TODO Auto-generated method stub

  25.         }

  26. }
复制代码
设置过滤器,在过滤器里设置utf8,注意一定要和你的页面编码一直;
回复 使用道具 举报
hyw840705183 发表于 2013-4-27 22:42
不用谢,你是用什么方法呢

  过滤器,,跟上面写的差不多
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马