SSH笔记四 整合struts2
2009-09-23 00:00:00 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簻椤掋垺銇勯幇顖毿撻柟渚垮妼椤粓宕卞Δ鈧獮濠勭磽閸屾艾鈧懓顫濋妸鈺佺疅缂佸顑欓崥瀣煕椤愵偅绶氱紓鍐╂礋濮婂宕掑▎鎴М濠电姭鍋撻梺顒€绉甸幆鐐哄箹濞n剙濡肩紒鎰殜閺屸€愁吋鎼粹€茬敖婵炴垶鎸哥粔鐢稿Φ閸曨垰鍐€妞ゆ劦婢€濞岊亪姊虹紒妯诲蔼闁稿海鏁诲濠氭晲婢跺﹤宓嗛梺缁樺姈缁佹挳宕戦幘璇叉嵍妞ゆ挻绋戞禍鐐叏濡厧浜鹃悗姘炬嫹

4. 配置 user.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="user" namespace="/user" extends="struts-default">
<action name="login" class="userAction" method="login">
<result name="input">/login.jsp</result>
<result name="success" type="redirect">/welcome.jsp</result>
</action>
</package>
</struts>
5. 添加UserAction和UserManager类
package net.selitech.ssim.web.user;
import java.util.Map;
import net.selitech.ssim.dao.SsimUser;
import net.selitech.ssim.user.UserManager;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
/**
* @author: juxuejian
* @filename: UserAction.java
* @date: Aug 10, 2009 , 11:10:47 PM
* @description :
*/
public class UserAction extends ActionSupport{
SsimUser user;
UserManager userManager;
public String login(){
if(getSession("loginedUser")!=null) return SUCCESS;
try {
if (getUserManager().checkLogin(user.getUserEmail(), user.getUserPassword())) {
// 更新登录次数
user = getUserManager().findByEmail(user.getUserEmail());
// 修正手工插入数据后导致int为null的问题
// 将登录用户信息存入 session
setSession("username", user.getUserRealname());
setSession("loginedUser", user);
return SUCCESS;
} else {
}
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return INPUT;
}
public SsimUser getSessionLoginedUser() {
SsimUser currentUser = (SsimUser) getSession("loginedUser");
return currentUser;
}
/**
* 读取 session 中的属性值
* @param name
* @return
*/
public static Object getSession(String name) {
ActionContext ctx = ActionContext.getContext();
Map session = ctx.getSession();
return session.get(name);
}
/**
* 向 session 设置属性值
* @param name
* @param value
*/
public static void setSession(Object name, Object value) {
ActionContext ctx = ActionContext.getContext();
Map session = ctx.getSession();
session.put(name, value);
}
public UserManager getUserManager() {
return userManager;
}
public void setUserManager(UserManager userManager) {
this.userManager = userManager;
}
}
package net.selitech.ssim.user;
import java.util.List;
import net.selitech.ssim.dao.SsimUser;
import net.selitech.ssim.dao.SsimUserDAO;
/**
* @author: juxuejian
* @filename: UserManager.java
* @date: Aug 10, 2009 , 11:10:29 PM
* @description :
*/
public class UserManager {
SsimUserDAO ssimUserDAO;
public boolean checkLogin(String userEmail,String password) throws Exception{
// 是否存在给定用户
SsimUser user = findByEmail(userEmail);
if (user == null) {
//用户不存在
return false;
}
if(user != null && user.getUserPassword() != null && user.getUserPassword().equals(password)) {
return true;
}
return false;
}
@SuppressWarnings("unchecked")
public SsimUser findByEmail(String userEmail){
List<SsimUser> users=ssimUserDAO.findByUserEmail(userEmail);
if(users != null && users.size() > 0) {
return users.get(0);
}
return null;
}
public SsimUserDAO getSsimUserDAO() {
return ssimUserDAO;
}
public void setSsimUserDAO(SsimUserDAO ssimUserDAO) {
this.ssimUserDAO = ssimUserDAO;
}
}
更多精彩
赞助商链接