读书人

用Struts2+MySQL作的名片管理系统

发布时间: 2012-11-03 10:57:42 作者: rapoo

用Struts2+MySQL做的名片管理系统

?

package com.javaeye.rennyit.cardms.main;import java.util.List;import java.util.Map;import org.apache.struts2.ServletActionContext;//import com.opensymphony.xwork2.ActionContext;import com.javaeye.rennyit.cardms.db.CardDAO;import com.javaeye.rennyit.cardms.db.ClassDAO;import com.javaeye.rennyit.cardms.db.UserDAO;import com.opensymphony.xwork2.ActionSupport;//public class UserAction {public class UserAction extends ActionSupport {private static final long serialVersionUID = 1L;private String userName;private String password;public String getUserName() { return userName; }public void setUserName(String userName) {this.userName = userName;}public String getPassword() { return password; }public void setPassword(String password) {this.password = password;}/** * 实现登录信息校验 */public void validateLogin() {if(!UserDAO.isExist(userName, password)) {System.out.println("帐号或密码错误");addFieldError("userName", "帐号或密码错误");}}/** * 登录到系统的判断方法, 实现相关信息的保存到session中 * @return */public String login() {//将登录成功的信息放到Session中//用ActionContext实现/*ActionContext ac = ActionContext.getContext(); Map<String,Object> sessionMap = ac.getSession();sessionMap.put("userName", userName);sessionMap.put("password", password);*///用ServletActionContext实现//将用户的登录信息放入到session中Map<String,Object> session = ServletActionContext.getContext().getSession();session.put("userName", userName);session.put("password", password);//将用户所有的联系人类别名字保存到session中List<String> classNameList = null;classNameList = ClassDAO.getClassNames(userName);session.put("classNameList", classNameList);//将用户所有的联系人类别信息保存到session中List<ClassAction> classList = null;classList = ClassDAO.getClasses(userName);session.put("classList", classList);//将该用户的联系人信息添加到session中List<CardAction> cardList = null;cardList = CardDAO.queryCard(userName);session.put("cardList", cardList);/*int cardNum = cardList.size();System.out.println("Card Number:"+cardNum);for(int i = 0; i < cardNum; i++) {System.out.println(cardList.get(i).getCardId());System.out.println(cardList.get(i).getUserName());System.out.println(cardList.get(i).getName());System.out.println(cardList.get(i).getTel());System.out.println(cardList.get(i).getAddress());}*/return SUCCESS;}/** * 实现注册时信息的检验 */public void validateRegister() {String regUserName = ServletActionContext.getRequest().getParameter("userName");String regPsw = ServletActionContext.getRequest().getParameter("password");String regPswCon = ServletActionContext.getRequest().getParameter("pswConfirm");if(regUserName.equals(""))addFieldError("userName","用户名不能为空");else if(!regPsw.equals(regPswCon))addFieldError("password","两次输入密码不一致");else if(UserDAO.isExist(regUserName))addFieldError("userName","该用户名已存在");}/** * 注册用户登录帐号的方法 * @return */public String register() {String regUserName = ServletActionContext.getRequest().getParameter("userName");String regPsw = ServletActionContext.getRequest().getParameter("password");UserDAO.addUser(regUserName,regPsw);Map<String,Object> session = ServletActionContext.getContext().getSession();session.put("userName", regUserName);session.put("password", regPsw);return SUCCESS;}/* * test this class */public static void main(String[] args) {UserAction test = new UserAction();test.setUserName("rennyit");test.setPassword("rennyit");//System.out.println(test.execute());}}

?

如果有必要,可以将整个项目都打包传上来,强烈欢迎大家帮我指正,提出宝贵的意见,谢谢

1 楼 toeo 2009-04-03 # /**
# * 实现注册时信息的检验
# */
# public void validateRegister() {
# String regUserName = ServletActionContext.getRequest().
# getParameter("userName");
# String regPsw = ServletActionContext.getRequest().getParameter("password");
# String regPswCon = ServletActionContext.getRequest().
# getParameter("pswConfirm");
# if(regUserName.equals(""))
# addFieldError("userName","用户名不能为空");
# else if(!regPsw.equals(regPswCon))
# addFieldError("password","两次输入密码不一致");
# else if(UserDAO.isExist(regUserName))
# addFieldError("userName","该用户名已存在");
# }
#

这个代码不用吧...

struts2 的 ActionSupport下面不是有个validation的方法么..?

你把他重写下...
# private String userName;
# private String password;

这个两个不是在这个类下面的方法么???不用从request里面取得... 2 楼 zhanger 2009-04-03 toeo 写道
这个代码不用吧...struts2 的 ActionSupport下面不是有个validation的方法么..?你把他重写下...#   private String userName;  #     private String password;  这个两个不是在这个类下面的方法么???不用从request里面取得...

首先非常谢谢你帮我指出问题。
如果现在再写的话,确实不用了,当时写的时候都是自己摸着写的,所以有些问题就。。。
validate那个方法是个通用的校验方法,也就是说在login跟register中提交的数据都会被用相同的方法检验,这样应该是不合要求的
后来知道客户端的校验可以通过js来实现
后面那个我确实是用错了,完全没理解问题
自己是学生,然后尝试着学下struts2,错误的地方请多多指正

读书人网 >Mysql

热点推荐