当前位置:编程学习 > JAVA >>

下面是java中的登录action,帮忙详细注释每一行代码

public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;
AdminsDAO dao = new AdminsDAO();
ActionMessages messages = this.getMessages(request);
if(loginForm.getType().equals("admin"))
{
List list = dao.getSession().createQuery("from Admins where adminId = '"+loginForm.getUserId()+"' and password = '"+loginForm.getPassword()+"' and type = '"+loginForm.getType()+"'").list();
if(list.size()==1)
{
Admins admin = (Admins)list.get(0);
request.getSession().setAttribute("user",admin);
dao.closeSession();
return mapping.findForward("success");
}
else
{
messages.add(Globals.ERROR_KEY,new ActionMessage("login.failed"));
this.addErrors(request, messages);
dao.closeSession();
return mapping.getInputForward();
}
}
else
{
List list = dao.getSession().createQuery("from Client where clientId = '"+loginForm.getUserId()+"' and password = '"+loginForm.getPassword()+"' and type = '"+loginForm.getType()+"'").list();
if(list.size()==1)
{
Client client = (Client)list.get(0);
if(client.getIsused().equals("1"))
{
messages.add(Globals.ERROR_KEY,new ActionMessage("login.locked"));
this.addErrors(request, messages);
dao.closeSession();
return mapping.getInputForward();
}
else
{
request.getSession().setAttribute("user",client);
dao.closeSession();
return mapping.findForward("success");
}
}
else
{
messages.add(Globals.ERROR_KEY,new ActionMessage("login.failed"));
this.addErrors(request, messages);
dao.closeSession();
return mapping.getInputForward();
}
}
}
} 注释 struts1+hirbernate --------------------编程问答-------------------- 有什么好处? --------------------编程问答--------------------
引用 1 楼 yzw19932010 的回复:
有什么好处?

就是,难道LZ对这段代码一点也不知? --------------------编程问答-------------------- 代码自己整理下,乱糟糟的,代码清楚了,你也就会看的舒服了 --------------------编程问答-------------------- 自己写的代码,让别人帮忙注释。别人怎么知道你的业务流程? --------------------编程问答-------------------- 无语,if else 里面代码一样  还要判断登录类型干嘛 重复代码!! --------------------编程问答-------------------- 能不能帮忙看下我的系统,帮我整理一下,帮帮忙吧 --------------------编程问答-------------------- 很急需你的帮助 --------------------编程问答-------------------- 能不能今天给我整理一下啊,我都被它弄疯了
--------------------编程问答-------------------- 晕,这代码很好看懂吧? --------------------编程问答-------------------- 可是我不懂啊,能不能帮帮我啊 --------------------编程问答-------------------- 能帮我看看系统吗 --------------------编程问答-------------------- --------------------编程问答--------------------
public ActionForward execute(ActionMapping mapping, ActionForm form,
 HttpServletRequest request, HttpServletResponse response) {
//获得页面表单提交过来的值  
LoginForm loginForm = (LoginForm) form;
//实例化dao
AdminsDAO dao = new AdminsDAO();
//servlet声明, 错误集
ActionMessages messages = this.getMessages(request);
//如果用户登录类型为admin 
if(loginForm.getType().equals("admin"))
{
//查询数据库 
List list = dao.getSession().createQuery("from Admins where adminId = '"+loginForm.getUserId()+"' and password = '"+loginForm.getPassword()+"' and type = '"+loginForm.getType()+"'").list();
//如果有记录
if(list.size()==1)
{
//将这条数据保存到admins实体中
Admins admin = (Admins)list.get(0);
//将admin保存到request值域
request.getSession().setAttribute("user",admin);
//关闭session
dao.closeSession();
//成功后返回的页面
return mapping.findForward("success");
}
else
{
//没有记录,添加错误记录
messages.add(Globals.ERROR_KEY,new ActionMessage("login.failed"));
this.addErrors(request, messages);
dao.closeSession();
return mapping.getInputForward();
}
}
else
{
//登录类型为顾客
List list = dao.getSession().createQuery("from Client where clientId = '"+loginForm.getUserId()+"' and password = '"+loginForm.getPassword()+"' and type = '"+loginForm.getType()+"'").list();
//如果有数据
if(list.size()==1)
{
//保存顾客数据
Client client = (Client)list.get(0);
//如果isused状态为1(不明白isused这字段代表什么意思)
if(client.getIsused().equals("1"))
{
//添加错误记录
messages.add(Globals.ERROR_KEY,new ActionMessage("login.locked"));
this.addErrors(request, messages);
dao.closeSession();
return mapping.getInputForward();
}
else
{
//将值保存到request值域
request.getSession().setAttribute("user",client);
dao.closeSession();
return mapping.findForward("success");
}
}
else
{
//如果没有该顾客数据,添加错误记录
messages.add(Globals.ERROR_KEY,new ActionMessage("login.failed"));
this.addErrors(request, messages);
dao.closeSession();
return mapping.getInputForward();
}
}
}
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,