基于Struts框架的BS程序开发

上传人:gg****m 文档编号:215059702 上传时间:2021-11-24 格式:DOCX 页数:4 大小:49.29KB
返回 下载 相关 举报
基于Struts框架的BS程序开发_第1页
第1页 / 共4页
基于Struts框架的BS程序开发_第2页
第2页 / 共4页
基于Struts框架的BS程序开发_第3页
第3页 / 共4页
基于Struts框架的BS程序开发_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于Struts框架的BS程序开发》由会员分享,可在线阅读,更多相关《基于Struts框架的BS程序开发(4页珍藏版)》请在金锄头文库上搜索。

1、基于Struts框架的程序开发1、什么是MVC?M (Model),模块,主要是指实现业务功能的后台程序;V (View),显示,给用户看的部分,在Struts框架中简单的说就是JSP;C (Contorller),控制,控制整个应用程序的程序流程,在Struts框架中Z需要完成 struts-config.xml文件的配置即可实现2、一个完整的Struts程序的构成1) M部分:Struts的后台业务逻辑都是通过Action来完成的。因此,一个Struts程序必须包含 一个 ActionoB/S模式的应用程序与普通网站的区别是:B/S模式的应用程序更倾向于应用,说 直接一点就是数据管理(增、

2、删、改),表单是数据管理不可缺少的一部分,因此 一个Struts程序中通常还需要包含一个ActionFormoStruts的ActionFomi自动填充机制使M和V能够较独立的存在,在编写M部分的 程序时不必关心V是什么样,只需要关心ActionForm中有些什么内容即可。2) V部分:这部分主要是一个JSP文件(大多数Struts程序也都只需要一个JSP文件)。Struts 框架中的JSP与普通JSP的最大区别就是Struts框架中的JSP中能够使用很多Struts 标签,从而避免在JSP中出现大段的Java代码,而且原则上也不允许在使用Smits 框架的JSP中嵌入java代码。(WHYj

3、ava代码意味着程序逻辑处理,而程序逻 辑处理是M模块的功能,在严格意义的V模块中是不允许出现于程序逻辑相关的 内容的)3) C部分:Struts框架己经将这部分内容封装,除非有特殊需要,一般情况下只需要在 struts-config.xml中进行正确的配置即可。3、Struts程序的执行过程客户请求证给发砂r信原(典行失敗Action恿回Act ionForvrard?tfrServlet Filter 过酒No AdionFoxn/左制誥接收苗t JAct ionFora型健Act ionFo“工-M.诃用Act瞰r_ (execute 方法.快行成功】验证虑功)I表里寿数倂以L,Java

4、Bean的方式 保芬起未_厨宙Act wnFo 的validate 方法、 _ 丿产主错逞信且酸证失败)L bormnext I3 struts-config.xml vfbrmbean name=MI lelloFom, type=Mhello.HelloFormMr一public final class IlelloKorm extends Actionl;onn reselO;validateO;2. wcb.xml 仃actkSn fonVard name=HSayHelloH path=R/l.db hello.jsp11 / 关联final class HelloAction ex

5、tends Action ;ecuie()return (mapping.findForwardCSayl Iello,r);4、让一个Action包含更多的业务模块功能DispatchAction在Struts中,一个Action中只能有一个实现业务逻辑的execute方法,只能完成业务的 某一个模块,如只能增加一条数据或者只能修改一条数据。如果需要完成另一个模块, 则需要添加一个新的Action,这样就会造成一个业务含有多个Action和ActionFornio我 们都知道在Struts中,每个Action和ActionForm都需要在配置文件中添加相应的配置 信息才能止常使用,如果Act

6、ion和ActionForm过多,无疑会增加struts配置的工作暈。 而H struts的配置只能通过手工完成,过多的配置信息也使出现错误的可能性大大增加。我们可以通过以下方法來解决这种问题: 在提交表单时附带一个参数说明当前要执行什么操作,然后再在Action +进行判断,作 相应的处理。这样会造成另外一个问题,Action中有大段的逻辑判断,使程序的可读性 降低。其实在Struts中有一种特殊的Action Dispatch Action,在这种Action中AT以定义多个 实现业务模块的方法,方法名也可以自定义,只需要在提交表单时同时提交需要调用的 方法名,并在趾置文件中指出哪个参数记

7、录着需要调用的方法名,Struts便会自动调用 相应方法。有了 Dispatch Action,我们可以在一个Action中通过不同方法完成一个业务的不同模块, 对于一个完整的业务,只需要在配置文件中添加一个Action的配置即可。下面举例说明女口何使用Dispatch Action:完成业务的 Action 为 ExampleAction (从 DispatchAction 继承),其中定义了 add、update 和delete三个方法,分别完成业务数据的增加、修改和删除三个模块功能。在struts-config.xml中为此Action添加配置:这段配置中标红的parameter就是用来

8、告诉struts框架,哪个参数传递的是需要调用的方 法名,这里配置为step在JSP中通过js提交的代码如下:document.forms(O).action = 7 ExampleAction.do?step=add;document.fomis(0).submit()其中的红色部分将参数step的值设置为add通过上面的配置,当用户点击JSP中的提交代码时,struts框架将会自动调用 ExampleAction中的add方法实现业务数据的增加处理。5、使用Struts框架开发程序的注意事项1) MVC各层的功能要清晰,不该做的事情一定不要做2) JSP中尽可能使用Struts标签完成所需

9、功能,不到万不得已绝对不允许直接嵌入java 代码3) M层和V层之间传递数据时尽可能使用ActionForm,尽量避免直接使用 request.setAttribute()W request.getAttribute()4) ActionForm的自动填充机制与画面项目的name有紧密的联系,因此画面项目的命 名要严格遵守struts框架的命名规范5) ActionForm只是用于传递数据的bean, 一般情况下应该只含有各字段的getter和 setter,尤其是不应该含有任何与业务相关的逻辑。6) ActionForm中的内容除了由Struts自动填充外,只允许在Action中改变7) Requests Response这些特殊对象一般情况下不允许做为参数进行传递

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号