loginaction.java

来自「struts+Spring+Hibernate经典入门源码」· Java 代码 · 共 54 行

JAVA
54
字号
package com.softeem.login.action;

import java.sql.Connection;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.softeem.login.model.UserDAO;
import com.softeem.login.model.UserDTO;

public class LoginAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		String forward = "success";
		Connection con = this.getDataSource(request).getConnection();
		LoginForm loginForm = (LoginForm) form;
		System.out.println(loginForm.getUsername()+" "+loginForm.getPassword());
		UserDTO dto =new UserDTO();
		BeanUtils.copyProperties(dto, loginForm);
		UserDAO dao = new UserDAO(con);
		boolean valid = dao.validLogin(dto);
		con.close();
		if(valid)
		{
			//将成功登陆的用户信息放在session范围里
			HttpSession session = request.getSession();
			session.setAttribute("USERINFO", dto);
			//创建两个Cookie,并设置它们的存活时间,最后种到客户端
			Cookie cookie1 = new Cookie("USERNAME",dto.getUsername());
			Cookie cookie2 = new Cookie("PASSWORD",dto.getPassword());
			int seconds = loginForm.getRemark()*24*3600;
			cookie1.setMaxAge(seconds);
			cookie2.setMaxAge(seconds);
			response.addCookie(cookie1);
			response.addCookie(cookie2);
			return mapping.findForward(forward);
		}
		return mapping.getInputForward();
	}

	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?