java web用户登录流程_基于ssh开发web项目-用户登录流程

1. pm/WebContent/admin/index.jsp

输入用户名和密码,JavaScript代码初步校验(checkName和checkPwd保证其至少三个字符),表单提交action,名字为login.oo,命名空间为/admin。

functionsub() {if(checkName()&&checkPwd()) {return true;

}return false;

}

2./pm/WebContent/WEB-INF/web.xml

在web.xml中定义Filter来拦截用户请求。第一部分为作者自定义拦截器,区别于struts默认的拦截器struts2filter;filter-class指拦截器实现类;filter-mapping指拦截器拦截的URL地址。

authorizefilter

com.bbkmobile.iqoo.common.security.SecurityFilter

authorizefilter

*.jsp

*.oo

struts2filter

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2filter

/*

3./pm/src/struts.xml

struts.xml配置了Action和用户请求之间的对应关系。命名空间为/admin ,与之前相符;extends表示继承了default包;action以通配符定义,则表示method名和name相同均为login;该Action的实现类为adminAction;所以,对应去找命名空间为/admin的adminAction类的login方法。

/admin/register.jsp

/admin/login.jsp

/admin/login.jsp

/admin/login.jsp

/admin/test.jsp

4./pm/src/admin/AdminAction.java

public String login() throwsException {try{if(adminService.userExists(user)) {

adminService.richUserVO(user);

putUserIntoSession();

session.put("USER_PRIORITY", user.getPriority());

session.put("USER_ID", user.getUserid());

session.put("USER_INFO", user);

session.put("USER_DEPID", user.getDept_id());

String userName=user.getName();

session.put("USER_NAME", userName);return "login"; //登陆成功

} else{

addActionError("用户名、密码错误!");return "relogin";

}

}catch(Exception e) {

e.printStackTrace();

addActionError("用户名、密码错误!");

addActionMessage("用户名、密码错误!msg");return "relogin"; //登陆失败

}

}

5. /pm/src/admin/service/impl/AdminServiceImpl.java

public boolean userExists(UserInfo user) throwsException {returnadminDAO.exists(user);

}

6. /pm/src/admin/dao/impl/AdminDaoImpl.java

public boolean exists(UserInfo user) throwsException {if (null !=findByNoAndPwd(user)) {return true;

}return false;

}public User findByNoAndPwd(UserInfo user) throwsException {

Session s= null;try{

s=getSession();

Query q=s

.createQuery("from User as po where po.employeeNo=? and po.password=?");

q.setString(0, user.getEmployeeNo());

q.setString(1, user.getPwd());

List> ls =q.list();if (null != ls && ls.size() > 0) {return (User) ls.get(0);

}else{return null;

}

}catch(Exception e) {throwe;

}finally{if (null !=s) {

releaseSession(s);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值