在前面写的项目中,加入一个UserManger类,处理从ActionForm中传来的参数,并加入异常处理机制,当用户名及密码有一个出错时,给出警告。下面是Action类的源码:
public class LoginAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse resp) throws Exception {
// TODO Auto-generated method stub
LoginActionForm laf = (LoginActionForm)form;
String username = laf.getUsername();
String password = laf.getPassword();
String errorInfo="";
try{
UserManager.getInstance().login(username, password);
System.out.println("success");
req.setAttribute("username", username);
return mapping.findForward("success");
}catch(UsernameNotFoundException e){
errorInfo = "未找到用户名为["+username+"]";
e.printStackTrace();
}catch(PasswordErrorException e){
errorInfo = "密码错误";
e.printStackTrace();
}
req.setAttribute("errorInfo", errorInfo);
System.out.println(errorInfo);
return mapping.findForward("error");
}
}
UserMananger的源码如下所示,其中运用到的单一模式:
public class UserManager {
private static UserManager instance = new UserManager();
private UserManager(){
}
public static UserManager getInstance(){
return instance;
}
public void login(String username,String password){
if(!"admin".equals(username)){
throw new UsernameNotFoundException();
}
if(!"admin".equals(password)){
throw new PasswordErrorException();
}
}
}
UsernameNotFoundException及PasswordErrorException继承了RuntimeException类。在修改过程中出现又因为粗心出现结果相反的情形,并且在页面中获得参数,为request.getAttribute()方法。
分享到:
相关推荐
基于struts2的项目,有需要的可以看下,很全面的
本项目只是简单模拟教务管理系统的基本功能,通过熟悉的教务管理系统开发来综合训练Struts2和 Hibernate5框架技术的整合应用,并进一步提高项目实践能力。 项目实现的功能包括学生管理部分,教师管理部分和管理员管理...
基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh...
用Struts2写的BBS,实现的主要功能
本系统是基于Struts框架用MyEclipse集成开发环境开发而成的一个完整的网上论坛。
管理员进行注册登录,登录后对商品进行增加分类,修改,删除,查询。用户登录进行浏览查询,评论与投票。
精通Java EE项目案例-基于Eclipse Spring Struts Hibernate光盘源码分享给大家的实战案例很值得参考,带数据库版!!!!
基于struts2的自定义分页标签实现的一个demo,连接数据库为Oracle
基于struts的CRUD,作为搭配框架的入门
基于Struts 的网上书店系统 开题报告
开发工具:MyEclipse, 技术:基于Struts2,MVC架构思想. 功能较为完善,可以用于毕业设计等
基于struts网上购物系统.............................................................................................
基于struts2的个人信息信息管理系统,功能包括,登录、注册,个人基本信息的增删查改,联系人信息的增删查改,以及日程功能,文件上传与下载。数据库为sql server2012,ide是NetBeans8.2
基于Struts2的企业网站系统设计与实现 已经通过答辩 没分才上传的
基于hibernate和struts2的项目源码
基于struts的bbs网站源码,提供给想要学习研究struts的朋友们。
基于Struts框架开发的网上银行,可以作为大学本科计算机专业的毕业论文项目
基于Struts框架的网上书店毕业论文 <br>
一个在maven环境下编译的基于struts2 spring hibernate整合的用户登录及查询案例
Struts 2+Hibernate+Spring实现论坛系统