您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 工作范文 > Struts2知识点
Struts2简介MVC:M:模型层(model)可细分为DAO,实体类(bean\entity),服务类(service\manage);V:视图层(view),如jsp,ftl等C:控制层(control),如action,由struts1、struts2等实现Struts2=Struts1+webwork:以webwork为核心,主要管理V和C层,主要是C层。Struts2项目的搭建新建webproject将所需的jar包放入WEB_INF/lib下,所需的包如下:Web.xml:?xmlversion=1.0encoding=UTF-8?web-appversion=2.5xmlns=:xsi=:schemaLocation=://java.sun.com/xml/ns/javaee/web-app_2_5.xsd!--定义Struts2的FilterDispatcher的Filter--filter!--定义核心Filter的名字--filter-namestruts2/filter-name!--定义核心Filter的实现类--filter-classorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter/filter-class/filter!--FilterDispatcher用来初始化Struts2并且处理所有的Web请求--filter-mappingfilter-namestruts2/filter-nameurl-pattern/*/url-pattern/filter-mapping/web-appstruts.xml?xmlversion=1.0encoding=UTF-8?!--指定Struts2配置文件的DTD信息--!DOCTYPEstrutsPUBLIC-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN!--struts是Struts2配置文件的根元素--struts!--定义struts2处理的请求后缀,以,号分隔--constantname=struts.action.extensionvalue=do,action/constantname=struts.i18n.encodingvalue=UTF-8/constantname=struts.serve.static.browsesCachevalue=false/!--Struts2的Action必须放在指定的包空间下定义--packagename=defaultextends=struts-defaultnamespace=/login!--定义login的Action,该Action的实现类为login.Action类--!--定义处理结果和资源之间映射关系。--actionname=loginclass=LoginActionresultname=error/login/error.jsp/resultresultname=success/login/success.jsp/result/action/package/struts部署到tomcat中即可。注:一些默认配置可在struts2-core-2.3.15.1.jar包中找到,主要为default.properties和struts-default.xmlStruts2的基本流程:Struts2的配置简介Struts2中的default.properties文件注释以及属性的配置方法:文件:!--指定加载Struts2配置文件的配置文件管理器--#struts.configuration=org.apache.struts2.config.DefaultConfiguration!--指定web应用默认的locale--#struts.locale=en_US!--指定web应用默认的编码集,该属性对于处理中文请求参数非常有用--struts.i18n.encoding=UTF-8!--Struts2默认的ObjectBeanFactory,该属性默认值为spring--#struts.objectFactory=spring!--指定spring框架的自动装配类型,默认值为name,即默认根据bean的name属性自动装配--struts.objectFactory.spring.autoWire=name!--指定整合Spring框架时,是否缓存Bean实例,默认值为true--struts.objectFactory.spring.useClassCache=true!----struts.objectFactory.spring.autoWire.alwaysRespect=false!--该属性指定struts2的类型检测机制,通常支持tiger和notiger两种--#struts.objectTypeDeterminer=tiger#struts.objectTypeDeterminer=notiger!--该属性指定处理multipart/form-data的MIME类型(文件上传)请求的框架,默认值为jakarta,即common-fileupload框架--#struts.multipart.parser=cos#struts.multipart.parser=pellstruts.multipart.parser=jakarta!--该属性指定上床文件的临时保存路径--struts.multipart.saveDir=!--该属性指定上传文件中整个请求内容允许的最大字节数--struts.multipart.maxSize=2097152!--该属性指定应用加载用户自定义的属性文件--#struts.custom.properties=application,org/apache/struts2/extension/custom!--指定将http请求映射到指定action的映射器,strut2提供了默认的映射器org.apache.struts2.dispatcher.mapper.DefaultActionMapper。默认的映射器根据请求的前缀与action的name属性完成映射--#struts.mapper.class=org.apache.struts2.dispatcher.mapper.DefaultActionMapper!--该属性指定需要Struts2处理的请求后缀,该属性的默认值是action,即匹配所有匹配*.action的请求都由Struts2处理。如果需要指定多个请求后缀,则以英文逗号隔开--struts.action.extension=action,,!--设置是否通过jar文件提供静态内容服务--struts.serve.static=true!--设置浏览器是否缓存静态内容,当应用处于开发阶段时,可设置为false--struts.serve.static.browserCache=true!--设置struts是否支持动态方法调用--struts.enable.DynamicMethodInvocation=true!--设置struts2是否允许在action名中使用斜线--struts.enable.SlashesInActionNames=false!--指定是否允许在struts2标签中使用表达式语言--struts.tag.altSyntax=true!--设置struts2应用是否使用开发模式。通常在应用开发阶段为true,进入产品发布阶段之后为false--struts.devMode=false!--设置是否每次http请求到达时,系统都重新加载资源文件,通常开发阶段为true,产品发布阶段为false--struts.i18n.reload=false!--指定视图标签默认的视图主题--struts.ui.theme=xhtml!--指定视图主题所需要的莫办文件的位置,默认加载template路径下的模板文件--struts.ui.templateDir=template!--该属性指定模板文件的后缀,默认为ftl,还允许使用ftl(FreeMarker),vm(Velocity)和jsp(jsp模板)--struts.ui.templateSuffix=ftl!--设置当struts。xml文件改变后,系统是否重新自动加载该文件--struts.configuration.xml.reload=false!--指定Velocity框架所需的velocity.properties文件的位置--struts.velocity.configfile=velocity.properties!--指定Velocity框架的Context位置--struts.velocity.contexts=!--指定Velocity框架的toolboxlocation位置--struts.velocity.toolboxlocation=!--指定web应用所在的监听端口。当struts需要生成url时,该属性才提供web应用的默认端口--struts.url.http.port=80!--该属性类似于上面的一个设置,区别是该属性指定的是web应用的加密服务端口--struts.url.https.port=443!--该属性指定Struts2生成url时是否包含请求参数,该属性接收none,get,all三个属性值--struts.url.includeParams=none!--该属性指定Struts2应用所需要的国际化资源文件--#struts.custom.i18n.resources=testmessages,testmessages2!--对于某些javaee服务器不支持HttpServletRequest调用getParameterMap方法,此时可以将该属性设置为true解决该问题--struts.dispatcher.parametersWorkaround=false!--该属性指定Struts2使用的Freemarker管理器--#struts.freemarker.manager.classname=org.apache.struts2.views.freemarker.FreemarkerManager!----struts.freemarker.templatesCache=false!----struts.freemarker.beanwrapperCache=false!--该属性只支持true和false--struts.freemarker.wrapper.altMap=true!----struts.freemarker.mru.max.strong.size=100!--该属性指定XSLTResult是否使用样式表缓存,通常当处于开发阶段时为tr
本文标题:Struts2知识点
链接地址:https://www.777doc.com/doc-3362212 .html