struts2根据struts2完全学习手册自己总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、struts2简介1struts2的配置文件:(1)struts.xml配置示例:?xmlversion=1.0encoding=UTF-8?!DOCTYPEstrutsPUBLIC-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN=defaultnamespace=/extends=struts-defaultdefault-action-refname=index/actionname=indexresulttype=redirectActionparamname=actionNameHelloWorld/paramparamname=namespace/example/param/result/action/package!--Addpackageshere--/struts(2)struts.properties配置文件##$Id:struts.properties7223282008-12-0201:56:24Zdavenewton$##LicensedtotheApacheSoftwareFoundation(ASF)underone#ormorecontributorlicenseagreements.SeetheNOTICEfile#distributedwiththisworkforadditionalinformation#regardingcopyrightownership.TheASFlicensesthisfile#toyouundertheApacheLicense,Version2.0(the#License);youmaynotusethisfileexceptincompliance#withtheLicense.YoumayobtainacopyoftheLicenseat##:Changingthenumberofpropertiesinthisfilerequires#amodificationto/org/apache/struts2/config/SettingsTestto#updatethenumberofexpectedproperties...whichisdifferent#thanthenumberofpropertiesinthisfile.struts.i18n.encoding=ISO-8859-1struts.locale=de_DEstruts.multipart.saveDir=\tempstruts.multipart.maxSize=12345###Loadcustompropertyfiles(doesnotoverridestruts.properties!)struts.custom.properties=test,org/apache/struts2/othertest#addedtheMockTagtothepathofTagsthattheTagDirectivewillsearchthroughstruts.velocity.tag.path=org.apache.struts2.views.velocity.ui,org.displaytag.tagsstruts.ui.templateDir=template###Loadcustomdefaultresourcebundlesstruts.custom.i18n.resources=testmessages,testmessages2###XSLTCachestruts.xslt.nocache=true###URLtagincludeParamsdefaultstruts.url.includeParams=get(3)web.xml配置文件(管理所有web事项不属于struts2)?xmlversion=1.0encoding=UTF-8?web-appid=WebApp_9version=2.4xmlns=:xsi=:schemaLocation=://java.sun.com/xml/ns/j2ee/web-app_2_4.xsddisplay-nameStrutsBlank/display-namefilterfilter-namestruts2/filter-namefilter-classorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter/filter-class/filterfilter-mappingfilter-namestruts2/filter-nameurl-pattern/*/url-pattern/filter-mappingwelcome-file-listwelcome-fileindex.html/welcome-file/welcome-file-list/web-app2struts2控制器(1)核心控制器:FilterDispatcher(在web应用中负责拦截所有的用户请求)如果用户的请求以.ation结尾,则该请求被转入struts2框架处理。(2)业务控制器:Action(在struts2中起作用的实际上不是用户自定义的Action,而是系统自动生成的action代理,但该代理是以用户自定义的action为目标的)Action举例:packagecom.user.action;publicclassLogin{privateStringuserName;privateStringpassword;publicStringgetUserName(){returnuserName;}publicvoidsetUserName(StringuserName){this.userName=userName;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}publicStringexcute(){if(admin.equals(userName)&&(password.equals(password))){returnsuccess;}else{returnerror;}}}由以上代码可知:struts2中的action完全是普通的java类。Struts2中action接口不是必须实现的,任何包含有execute()方法的pojo(plainordinaryjavaobject)对象都可以作为struts2的action对象。3struts2标签库%@pagelanguage=javaimport=java.util.*pageEncoding=gbk%%@taglibprefix=suri=/struts-tags%(引入struts标签)!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.01Transitional//ENhtmlheadtitlestruts2标签/title/headbodycenterh3通讯录/h3hr/s:formaction=addpersons:textfieldname=namelabel=姓名/s:textfieldname=sexlabel=性别/s:textfieldname=telephonelabel=电话/s:textfieldname=addresslabel=地址/s:textfieldname=weblabel=网页/s:submitvalue=添加//s:form/center/body/html二、struts2起步1.Struts2简单示例:(1)配置web.xml文件a.配置filterfilter/filterb.配置filter映射filter-mapping/filter-mapping(一般配置为拦截所有url用户请求/*)(2)Action业务控制器a.定义属性b.Getxxx()和setxxx()c.Action默认的执行方法(execute())d.返回逻辑视图(3)配置Struts.xmla.配置struts2应用的字符编码集b.配置actionc.配置返回视图(4)视图文件2.struts2工作流程2.1struts2框架结构2.1.1核心控制器FilterDispatcher处理过程(1)客户提交一个请求(HttpServletRequest).(2)请求被提交到一系列的过滤器(Filter):ActionContextCleanUp-----其他过滤器------FilterDispatcher(3)FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个请求。如果ActionMapper决定调用某个Action,则FilterDispatcher把请求的处理交给ActionProxy.(4)ActionProxy通过ConfigurationManager(struts.xml)询问框架的配置文件,找到需要调用的Action类。(5)ActionProxy创建。同时ActionInvocation通过代理模式调用Action.(6)action执行完毕,ActionInvocation负责根据struts.xml找到对应的返回结果。(2)业务控制器action用户实现的action的实例(3)业务逻辑组件(模型组件)MVC框架里的业务控制器会调用模型组件的方法来处理用户请求,其本身不会对用户请求进行任何实际处理。它只是中间负责调度的调试器。而用户请求,实际上由模型组件负责处理。3.struts2中使用pojo(例子:D:\nondevelopment\struts2例子\struts2中使用POJO)(1)创建java类Person.java(定义属性及其getxxx()和serxxx()方法)(2)创建action类:定义Person对象,并实现getPerson()和setPerson()方法实现execute()方法(3)在Struts.xml中配置此action。并配置结果页面。(4)创建结果页面三、struts2配置详解1、struts2配置分类(1)内部配置文件:struts2框架自动加载,对其自身进行配置。如:struts-default.xm

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功