这么说吧,就是不知道是如何出错的,就是无理由的乱码,一脸懵逼。
前端页面所有可设置的编码都是UTF-8,后台是Java做的,一个Servlet继承BaseServlet,之后输出从表单获取的数据在控制台,是乱码,查了一天网上都是幼儿级别的乱码,可我的错在哪????
前端代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>登录页面</title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/bootstrap.min.css">
<link href="${pageContext.request.contextPath}/css/login.css" rel="stylesheet">
<script src="${pageContext.request.contextPath}/JS/jquery-1.11.3.min.js"></script>
<script src="${pageContext.request.contextPath}/JS/bootstrap.min.js"></script>
</head>
<body>
<div id="form_container2" style="padding-top: 25px;">
<form action="${pageContext.request.contextPath}/loginServlet?method=userRegist" method="post">
<input type="text" class="form-control" name="u_username" placeholder="用户名"id="regist_account">
<input type="password" class="form-control" name="u_password" placeholder="密码" id="regist_password1" />
<input type="password" class="form-control" placeholder="确认密码" id="regist_password2" />
<input type="text" class="form-control" name="u_telephone" placeholder="手机号" id="regist_phone" />
<input type="text" class="form-control" placeholder="默认验证码123" id="regist_vcode" />
<!--<button id="getVCode" type="button" class="btn btn-success" >获取验证码</button>-->
<input id="getVCode" type="button" class="btn btn-primary" value="点击发送验证码" "sendCode(this)" />
<input type="submit" value="注册" class="btn btn-primary" id="regist_btn" />
</form>
</div>
</div>
</body>
</html>
后端代码
package travel.web.servlet;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import travel.domain.User;
import travel.service.UserService;
import travel.serviceImpl.UserServiceImp;
import travel.utils.MyBeanUtils;
import travel.utils.BaseServlet;
public class loginServlet extends BaseServlet {
//注册功能的实现
public String userRegist(HttpServletRequest request, HttpServletResponse response) throws Exception {
// 设置字符编码
request.setCharacterEncoding("UTF-8");
// 接收表单数据参数
Map<String, String[]> map = request.getParameterMap();
User user = new User();
MyBeanUtils.populate(user, map);
System.out.println(user);
// 调用业务层注册功能
UserService UserService = new UserServiceImp();
try {
UserService.userRegist(user);
// 注册成功,向用户邮箱发送信息,跳转到提示页面
request.setAttribute("msg", "注册成功,请登录!");
} catch (Exception e) {
// 注册失败,跳转到提示页面
request.setAttribute("msg", "注册失败,请重新注册!");
}
return "/login.jsp";
}
}