1. 程式人生 > >登入提交資訊的處理頁面action層

登入提交資訊的處理頁面action層

登陸頁面的資訊提交到servlet進行處理。

package com.wh.action;

import java.io.IOException;
import java.net.URLEncoder;

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 javax.servlet.http.HttpSession;

import com.wh.entity.User;
import com.wh.servie.LoginService;
import com.wh.servie.LoginServiceImpl;

@SuppressWarnings("serial")
public class LoginServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	// TODO Auto-generated method stub
	String function=request.getParameter("function");
	if("login".equals(function)) {
		this.login(request,response);
	}else if("reLogin".equals(function)) {
		this.reLogin(request,response);
	}
}

private void reLogin(HttpServletRequest request, HttpServletResponse response) throws IOException {
	// TODO Auto-generated method stub
	response.sendRedirect("/loginProject/login.jsp");
}

private void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	// TODO Auto-generated method stub
	String username=request.getParameter("username");
	String password=request.getParameter("password");
	//寫一個儲存資訊的coolie
	String remember=request.getParameter("remember");
	if(remember!=null) {
	Cookie usernameCookie=	new Cookie("username", URLEncoder.encode(username, "utf-8"));
	Cookie passwordCookie=	new Cookie("password", URLEncoder.encode(password, "utf-8"));
	usernameCookie.setMaxAge(24*60*60);
	passwordCookie.setMaxAge(24*60*60);
	response.addCookie(usernameCookie);
	response.addCookie(passwordCookie);
	}else {
		Cookie[]cookies=request.getCookies();
		for(Cookie cook:cookies) {
			if(cook.getName().equals(username)||cook.getName().equals(password)) {
				cook.setMaxAge(0);
			}
			response.addCookie(cook);
		}
	}
	User user=new User(username,password);
	LoginService loginService=new LoginServiceImpl();
	Boolean bool=loginService.login(user);
	/*request.setAttribute("bool", bool);
	request.getRequestDispatcher("/loginStatu.jsp").forward(request, response);*/
	if(bool==true) {
		request.getRequestDispatcher("/loginSuccess.jsp").forward(request, response);
		HttpSession session=request.getSession();
		session.setAttribute("user", user);
	}
	else {
		HttpSession session=request.getSession();
		session.setAttribute("errorMessage", "登陸失敗,請重新登陸");
		response.sendRedirect("/loginProject/login.jsp");
	}
}
}