在前面写的项目中,加入一个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()方法。
分享到:
相关推荐
Struts是Apache软件基金会的一个开源项目,它是一个用于构建企业级Java Web应用程序的MVC(Model-View-Controller)框架。 批量上传的核心在于处理大量文件的上传逻辑,包括文件选择、文件读取、数据流处理、错误...
Struts是Apache软件基金会下的一个开源项目,它是一款基于MVC设计模式的Java Web开发框架。在Struts中,验证框架Validate是实现业务数据验证的重要工具,它帮助开发者确保用户输入的数据符合预设的规则,从而提高...
在开发基于Struts2的应用时,正确引入所需的Java包至关重要,因为这直接影响到程序的性能和可维护性。MyEclipse作为集成开发环境(IDE),在创建项目时会自动引入大量默认库,但并非所有库都适用于每个Struts2应用。...
在这个实例中,"浪曦原创"浪曦OA与工作流系统 第3讲 Struts2+Hibernate3.2+Spring2.0整合续二(风中叶).exe很可能是教学视频或演示程序,帮助学习者理解如何将这三个框架整合到一起。教程可能涵盖了如何配置Struts2的...
1. **Struts2框架**:Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。在这个项目中,Struts2主要负责处理用户请求,将这些请求映射到特定的动作类,动作类执行业务逻辑后返回结果给视图层...
多人聊天+用户在线 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证用户登录,创建一个该...
Struts框架则作为展示层的核心,它定义了请求的处理流程,将用户的请求映射到特定的Action,Action执行完毕后返回一个结果,这个结果可以是跳转到另一个页面,也可以是动态生成的视图内容。Struts2支持Tiles模板,...
【基于SSH的小区资源租赁管理系统】是一个采用Spring、Struts2和Hibernate三大主流Java Web框架构建的应用,旨在高效管理小区内的资源租赁业务。这个系统经过精心设计和开发,已达到无bug的稳定状态,用户只需调整...
通过这次尝试,博主可能遇到了各种挑战并解决了它们,分享了如何在Struts1项目中成功集成SWFUpload的实践经验。这对于其他开发者来说,是一个有价值的参考资料,可以帮助他们在类似项目中少走弯路。通过学习这篇博客...
首先,Struts是一个基于MVC(模型-视图-控制器)设计模式的Java EE Web应用程序框架。在Struts中处理文件上传,你需要使用`org.apache.struts.upload.FormFile`接口。这个接口提供了一些方法来获取上传文件的信息,...
传统的管理模式已经无法满足日益复杂的业务需求,因此,开发一个基于jsp+ssh的滑雪场管理系统显得尤为重要。该系统旨在提升滑雪场的运营效率,优化管理流程,为管理者提供决策支持,同时提高客户满意度。 1.2 系统...
总之,“67506221ssh2Down”项目是一个基于SSH2框架,使用MyEclipse开发的Web应用,具备文件上传和下载功能。项目涵盖了Spring的业务逻辑管理、Struts的请求处理和视图展现,以及Hibernate的数据持久化。在实际开发...
1. **Struts2**:Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建可扩展且易于维护的Web应用程序。它提供了一种结构化的方式来组织应用的逻辑,使得业务处理和视图呈现分离,提高了代码的可读性和可...
第1章 iBATIS的理念 2 1.1 一个结合了所有优秀思想的混合型解决方案 2 1.1.1 探索iBATIS的根源 3 1.1.2 理解iBATIS的优势 7 1.2 iBATIS适合应用在何处 10 1.2.1 业务对象模型 11 1.2.2 表现层 11 1.2.3 业务逻辑层 ...