分手快乐 发表于 2015-1-18 11:01:04

发布一篇层层递进Struts1(七)详解DispatchAction

但是一些大型开发或者是保密型比较高的项目都会用java,原因有2点,一:java是开源的,不怕别人留后门,偷我工具,.net就不一样了,保持微软的一向风格,源代码不公开
经由过程后面几篇博客,不晓得人人有无发明这个成绩,固然如今能够天真把持跳转了,可是Action的数目仍是对照多,怎样既能包管跳转天真,还能削减Action的数目?这就是我们这篇博客所说的DispatchAction,如其名,能够了解为“分发式Action”,利用它能够制止为每一个Action创立一个类。
我们先来看一下实例。
UserAction
DispatchAction承继的是Action,它的特性就是把之前的多个Action兼并为一个,当多个Action联系关系较年夜时,能够像如许放在一同,削减Action类的同时,也下降了保护的难度。

packagecom.tgb.drp.web.actions;

importjava.util.Date;
importjava.util.List;

importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;

importorg.apache.commons.beanutils.BeanUtils;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;
importorg.apache.struts.actions.DispatchAction;

importcom.tgb.drp.manager.UserManager;
importcom.tgb.drp.model.User;
importcom.tgb.drp.web.forms.UserActionForm;

publicclassUserActionextendsDispatchAction{

@Override
protectedActionForwardunspecified(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
//挪用营业逻辑操纵
ListuserList=UserManager.getInstance().findAllUserList();
request.setAttribute("userlist",userList);

returnmapping.findForward("list_success");
}

/**
*用户删除
*@parammapping
*@paramform
*@paramrequest
*@paramresponse
*@return
*@throwsException
*/
publicActionForwarddel(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
//猎取从页面表单中提交过去的值
UserActionFormuaf=(UserActionForm)form;

//获得必要删除的userId的汇合
String[]userIdList=uaf.getSelectFlag();

//挪用营业逻辑操纵
UserManager.getInstance().deleteUsers(userIdList);
returnmapping.findForward("del_success");
}

/**
*用户增加
*@parammapping
*@paramform
*@paramrequest
*@paramresponse
*@return
*@throwsException
*/
publicActionForwardadd(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{

//猎取从页面表单中提交过去的值
UserActionFormuaf=(UserActionForm)form;
Useruser=newUser();
BeanUtils.copyProperties(user,uaf);
user.setCreateDate(newDate());

//挪用营业逻辑操纵
UserManager.getInstance().addUser(user);
returnmapping.findForward("add_success");}

/**
*修正用户
*@parammapping
*@paramform
*@paramrequest
*@paramresponse
*@return
*@throwsException
*/
publicActionForwardmodify(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
//猎取从页面表单中提交过去的值
UserActionFormuaf=(UserActionForm)form;
Useruser=newUser();
BeanUtils.copyProperties(user,uaf);

//挪用营业逻辑操纵
UserManager.getInstance().modifyUser(user);
returnmapping.findForward("modify_success");
}

/**
*依据ID查询用户
*
*@parammapping
*@paramform
*@paramrequest
*@paramresponse
*@return
*@throwsException
*/
publicActionForwardfind(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
//猎取从页面表单中提交过去的值
UserActionFormuaf=(UserActionForm)form;

StringuserId=uaf.getUserId();

//挪用营业逻辑操纵
Useruser=UserManager.getInstance().findUserById(userId);

//将user对象从Action传送到JSP页面
request.setAttribute("user",user);

returnmapping.findForward("find_success");
}

}<p>
在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。

愤怒的大鸟 发表于 2015-1-20 12:47:37

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

因胸联盟 发表于 2015-1-29 07:10:06

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

柔情似水 发表于 2015-2-5 23:57:02

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

仓酷云 发表于 2015-2-14 09:32:18

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

山那边是海 发表于 2015-3-4 05:23:06

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

再现理想 发表于 2015-3-11 17:30:45

是一种将安全性(Security)列为第一优先考虑的语言

金色的骷髅 发表于 2015-3-19 03:47:49

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

第二个灵魂 发表于 2015-3-27 07:10:19

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
页: [1]
查看完整版本: 发布一篇层层递进Struts1(七)详解DispatchAction