`
yeluowuhen
  • 浏览: 155767 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

基于Struts的第一个项目(续)

阅读更多
    在前面写的项目中,加入一个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的批量上传

    Struts是Apache软件基金会的一个开源项目,它是一个用于构建企业级Java Web应用程序的MVC(Model-View-Controller)框架。 批量上传的核心在于处理大量文件的上传逻辑,包括文件选择、文件读取、数据流处理、错误...

    [浪曦原创]Struts系列 第5讲 Struts的验证框架Validate使用续一(zk001)

    Struts是Apache软件基金会下的一个开源项目,它是一款基于MVC设计模式的Java Web开发框架。在Struts中,验证框架Validate是实现业务数据验证的重要工具,它帮助开发者确保用户输入的数据符合预设的规则,从而提高...

    Struts2程序需要的java包

    在开发基于Struts2的应用时,正确引入所需的Java包至关重要,因为这直接影响到程序的性能和可维护性。MyEclipse作为集成开发环境(IDE),在创建项目时会自动引入大量默认库,但并非所有库都适用于每个Struts2应用。...

    Struts2Hibernate3.2Spring2.0

    在这个实例中,"浪曦原创"浪曦OA与工作流系统 第3讲 Struts2+Hibernate3.2+Spring2.0整合续二(风中叶).exe很可能是教学视频或演示程序,帮助学习者理解如何将这三个框架整合到一起。教程可能涵盖了如何配置Struts2的...

    网络u盘小项目

    1. **Struts2框架**:Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。在这个项目中,Struts2主要负责处理用户请求,将这些请求映射到特定的动作类,动作类执行业务逻辑后返回结果给视图层...

    JAVA上百实例源码以及开源项目源代码

    多人聊天+用户在线 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写的山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求的时候,验证用户登录,创建一个该...

    毕业设计:基于SSH的租车管理系统

    Struts框架则作为展示层的核心,它定义了请求的处理流程,将用户的请求映射到特定的Action,Action执行完毕后返回一个结果,这个结果可以是跳转到另一个页面,也可以是动态生成的视图内容。Struts2支持Tiles模板,...

    基于SSH的小区资源租赁管理系统

    【基于SSH的小区资源租赁管理系统】是一个采用Spring、Struts2和Hibernate三大主流Java Web框架构建的应用,旨在高效管理小区内的资源租赁业务。这个系统经过精心设计和开发,已达到无bug的稳定状态,用户只需调整...

    SWFloadup的一次尝试

    通过这次尝试,博主可能遇到了各种挑战并解决了它们,分享了如何在Struts1项目中成功集成SWFUpload的实践经验。这对于其他开发者来说,是一个有价值的参考资料,可以帮助他们在类似项目中少走弯路。通过学习这篇博客...

    java各种文件上传例子

    首先,Struts是一个基于MVC(模型-视图-控制器)设计模式的Java EE Web应用程序框架。在Struts中处理文件上传,你需要使用`org.apache.struts.upload.FormFile`接口。这个接口提供了一些方法来获取上传文件的信息,...

    基于jsp+ssh的滑雪场管理系统源码数据库论文.doc

    传统的管理模式已经无法满足日益复杂的业务需求,因此,开发一个基于jsp+ssh的滑雪场管理系统显得尤为重要。该系统旨在提升滑雪场的运营效率,优化管理流程,为管理者提供决策支持,同时提高客户满意度。 1.2 系统...

    67506221ssh2Down

    总之,“67506221ssh2Down”项目是一个基于SSH2框架,使用MyEclipse开发的Web应用,具备文件上传和下载功能。项目涵盖了Spring的业务逻辑管理、Struts的请求处理和视图展现,以及Hibernate的数据持久化。在实际开发...

    音像店租赁管理系统的设计与实现

    1. **Struts2**:Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建可扩展且易于维护的Web应用程序。它提供了一种结构化的方式来组织应用的逻辑,使得业务处理和视图呈现分离,提高了代码的可读性和可...

    iBATIS实战

    第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 业务逻辑层 ...

Global site tag (gtag.js) - Google Analytics