您的位置:首页 > 编程语言 > Java开发

手把手struts入门示例 (续)

2008-03-05 16:11 337 查看
上次我们不求甚解的入了门,现在我们再稍微提高提高。
struts是MVC结构的,上次我们只有VC两层,这次我们把业务逻辑分离出来,添加一个M层。文件结构如下:

Model
BusinessLogic: BusinessLogic.java 把业务逻辑独立出来,负责实现加法运算。
View
JSP Page: ①index.jsp ②queryForm.jsp ③showResult 负责用户交互(还是上次的文件,不用改动)
Control
ActionServlet 默认 负责处理request response等
ActionForm AddSampleQueryForm.java 把form里component以属性形式保存。就是负责保存数据罗(也不用改动
Action AddSampleAction.java 它就比较忙了,负责从form里取出数据,实行业务逻辑后把结果保存到bean中,再定向到适当的页面(forward)
其他
Utility Util.java 我们把常用的功能分离出来,这样在其他项目也可以重用

就是说,我们需要添加两个文件BusinessLogic.java 和Util.java ,另外 改动一下AddSampleAction.java


//BusinessLogic.java


package samples.add;






public class BusinessLogic ...{




//实现业务逻辑的方法




public int executeAdd(int parm1, int parm2) ...{


return parm1 + parm2;


}




//生成业务逻辑实体的方法(工厂模式)




public static BusinessLogic getInstance() ...{


return new BusinessLogic();


}


}




//Util.java


package samples.add;






public final class Util ...{






public static int atoi(String str) ...{


int ret = 0;




try ...{


ret = Integer.parseInt(str);


}




catch (NumberFormatException ex) ...{ }




return ret;


}


}




package samples.add;




//修改后的AddSampleAction.java




import org.apache.struts.action.Action;


import org.apache.struts.action.ActionMapping;


import org.apache.struts.action.ActionForm;


import org.apache.struts.action.ActionForward;


import javax.servlet.http.HttpServletRequest;


import javax.servlet.http.HttpServletResponse;






public class AddSampleAction extends Action ...{


public ActionForward execute(ActionMapping mapping,


ActionForm form,


HttpServletRequest request,


HttpServletResponse response)




...{


AddSampleQueryForm queryForm = (AddSampleQueryForm)form;


int parm1 = Util.atoi(queryForm.getParm1());


int parm2 = Util.atoi(queryForm.getParm2());


BusinessLogic businessLogic = BusinessLogic.getInstance();


int result = businessLogic.executeAdd(parm1, parm2);


queryForm.setResult(String.valueOf(result));


return mapping.findForward("success");


}


}



把他们编译后放到classes下AddSampleAction.java所在的文件夹中。
这样我们就实现了一个麻雀虽小,五脏俱全的struts程序了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: