登陆用户怎样获取验证码和保存用户到cookie中(三)

2014-11-24 08:20:01 · 作者: · 浏览: 14
for(Cookie cookie:cookies){ if("loginData".equals(cookie.getName())){ String value=cookie.getValue(); String data[]=value.split(":"); String name=data[0]; String pass=data[1]; request.setAttribute("name", name); request.setAttribute("pass", pass); } } } request.getRequestDispatcher("./login.jsp").forward(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }

LoginServlet.java

package www.csdn.day36.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import user.dao.UserDao;
import user.domain.User;
import user.imp.UserDaoImp;


public class LoginServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		UserDao userDao = new UserDaoImp();
		String checkCode = request.getParameter("checkCode");
		StringBuffer createCheckCode = (StringBuffer) request.getSession()
				.getAttribute("checkCode");
		String ccode = createCheckCode.toString();
		// System.out.println(ccode+"============="+checkCode);
		response.setContentType("text/html");
		response.setCharacterEncoding("UTF-8");
		PrintWriter out = response.getWriter();

		// 判断验证码
		if (ccode.equals(checkCode)) {
			// 获取登陆的名称
			String name = request.getParameter("name");
			// 获取登陆的密码
			String pass = request.getParameter("pass");

			User entity = userDao.checkLogin(name, pass);
			if (entity != null) {
				// 运行cookie保存数据
				Cookie cookie = new Cookie("loginData", name + ":" + pass);
				//System.out.println(cookie);
				cookie.setMaxAge(7 * 24 * 60 * 60);
				response.addCookie(cookie);
				out.print("用户名存在");
			} else {
				out.print("用户名和密码错误");
			}

		} else {
			out.print("验证码错误");
		}
		out.close();
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doGet(request, response);
	}

}
login.js

var errorDom;
window.onload = function() {
    //alert("12123");
	errorDom = document.getElementById("error");
	var loginBtnDom = document.getElementById("loginBtn");
	loginBtnDom.onclick = loginCustomer;
};

var loginCustomer = function() {
	var name=document.getElementById("cname").value;
	var pass=document.getElementById("cpass").value;
	var checkCode = document.getElementById("checkCode").value;
	//alert(checkCode);
	var xmlHttp = getXMLHttp();
	var data="name="+encodeURIComponent(name)+"&pass="+encodeURIComponent(pass)+"&checkCode="+encodeURIComponent(checkCode)+"&oper=login";
	xmlHttp.open("GET", "./login.do "+data);

	xmlHttp.send();

	xmlHttp.onreadystatechange = checkLogin;

};

var checkLogin = function() {
	if (this.readyState == 4 && this.status == 200) {
		errorDom.innerText= this.responseText;
	}
};
util.js
function getXMLHttp() {
	var xmlHttp;
	try {
		// firefox Opera
		xmlHttp = new XMLHttpR