struts2的struts.properties配置文件详解

合集下载

Struts2配置文件通配符的使用说明

Struts2配置文件通配符的使用说明

Struts2配置文件中使用通配符收藏形式一:调用相同Action中的不同方法<action name="*Action" class="Jcuckoo.LoginRegistAction" method="{1}"><result name="input">/login.jsp</result><result name="error">/error.jsp</result><result name="success">/welcome.jsp</result></action>其中表达式{1}的值name属性值中第一个*的值。

如果用户请求的URL为loginAction.action,则调用Jcuckoo.LoginRegistAction中的login方法;如果用户请求的URL为registerAction.action,则调用Jcuckoo.LoginRegistAction中的register方法;形式二:通过匹配,调用不同的Action的execute方法<action name="*Action" class="Jcuckoo.{1}Action"><result name="input">/login.jsp</result><result name="error">/error.jsp</result><result name="success">/welcome.jsp</result></action>上面没有出现method属性,故默认调用对应的execute方法如果用户请求的URL为LoginAction.action,则调用Jcuckoo.LoginAction中的execute方法;如果用户请求的URL为RegisterAction.action,则调用Jcuckoo.RegisterAction中的execute方法;形式三:动态结果<action name="crud_*" class="Jcuckoo.CrudAction" method="{1}"><result name="input">/input.jsp</result><result>/{1}.jsp</result></action>当处理结果是input时,会转到/input.jsp页面当处理结果是success时,如果crud_create.action,则会执行Jcuckoo.CrudAction中的create方法,并且跳转到/create.jsp;如果crud_delete.action,则会执行Jcuckoo.CrudAction中的delete方法,并且跳转到/delete.jsp;。

Struts2文件配置介绍

Struts2文件配置介绍

Struts2⽂件配置介绍Struts2⽂件配置介绍struts2structs.xml⽂件配置标签package标签<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""/dtds/struts-2.3.dtd"><struts><!-- 配置post请求以及repsone的编码格式 --><constant name="struts.i18n.encoding"value="UTF-8"></constant><!-- 配置请求路径的扩展名 --><constant name="struts.action.extension"value="action,,"></constant><!-- 开启热部署 --><constant name="struts.devMode"value="true"></constant><package name="index"namespace="/"extends="struts-default"><action name=""class="erAction"method="toLogin"><result name="toLogin">/WEB-INF/view/login.jsp</result></action></package><include file="com/forward/test/web/action/struts.xml"></include></struts>配置web应⽤的不同模块,⼀般在⼀个功能模块下配置⼀个package,在当前的package下配置这个模块的多个action name属性给不同的模块起不同的名字,随便写,不重复即可namespace属性给不同的模块设置访问的根路径,可以配置成/extends属性表⽰继承, struts-default 是struts2给我们提供的⼀个packageaction标签action 标签表⽰配置⼀个请求name 属性表⽰请求路径的后缀,⼀般表⽰功能模块中的具体请求,name的名字就代表访问路径的名称class 属性表⽰当有请求过来的时候调⽤的是哪个类中的⽅法,配置全类名method 表⽰class 请求调⽤的是class 中的哪个⽅法,指的是具体的⽅法名result标签result 结果配置,⽤于设置不同的⽅法返回值,可以配置不同的返回值对应不同的视图name 属性表⽰结果处理名称,与action中的返回值对应type 属性表⽰指定哪个result 类来处理显⽰的页⾯,默认是内部转发,可以在struts-default 的⽂件中进⾏查看标签体表⽰相对路径,相对于web应⽤开始常量配置默认的常量配置在structs核⼼包中修改常量配置⽅式及加载顺序对于常量的配置, 默认加载的是structs核⼼包中的default.properties,如果通过以下3种进⾏配置,就会按照默认–>1–>2–>3 的顺序加载,后⾯设置的常量会覆盖之前设置的常量1. 在structs.xml⽂件中,在structs的根标签下,书写constant 标签进⾏配置,在项⽬中主要使⽤这种⽅式2. 在src下创建structs.properties⽂件,将内容复制到此⽂件进⾏修改3. 在web.xml⽂件中,配置context-param 第⼀种⽅式第⼆种⽅式第三种⽅式常⽤常量设置struts.i18n.encoding=UTF-8 ⽤于配置接收参数和向外输出中⽂的编码格式⼀般设置为UTF-8struts.action.extension=action, 指定访问action的路径的后缀名,使⽤, 表⽰可以有两个后缀名,可以是action也可以是没有后缀名struts.devMode = false 指定structs是否是以开发模式运⾏,能够⽀持修改配置⽂件后进⾏热部署,所以我们可以将其设置为true动态⽅法调⽤如果⼀个业务模块有多个⽅法,我们可以使⽤动态⽅法调⽤省略action的配置,设置动态⽅法调⽤有两种⽅法⽅法⼀开启动态⽅法调⽤<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>配置action的时候不写method在访问的时候输⼊⽹址http://localhost:8080/webapp/namespace/name!method ⽅法⼆ 通配符⽅式关闭动态⽅法调⽤对于⽅法名可以使⽤⼀个* 通配符,在后⾯的class和method可以使⽤{索引} 来读取前⾯的内容访问路径localhost:8080/webapp/namespace/class_methodstructs2中的默认配置<constant name ="struts.enable.DynamicMethodInvocation" value ="true"></constant><package name ="helloWorld" namespace ="/User" extends ="struts-default"><action name ="d_" class ="com.zhiyou100.struts.web.action.demo3.Demo3Action" ><result name ="success">/hello World.jsp </result></action> </package><package name ="demo3" namespace ="/User" extends ="struts-default"><action name ="*_*" class ="com.zhiyou100.struts.web.action.demo3.{1}" method ="{2}"><result name ="success">/helloWorld.jsp </result></action></package>method的默认值executeresult的默认值是successresult的type的默认值是dispatcherclass的默认值是ActionSupport 其中有execute ⽅法返回值是success配置package下的默认的action,当访问当前包下,如果找不到指定action,就会⾃动寻找默认的action <package name="default"namespace="/user"extends="struts-default"><default-action-ref name="demoAction"></default-action-ref><action name="demoAction"class="erAction"><result>/WEB-INF/view/404.jsp</result></action></package>结果跳转的⽅式结果的跳转⽅式可以通过result的type属性进⾏设置转发转发到指定页⾯对于type属性,默认是dispatcher ,就是转发到响应界⾯,可以不⽤进⾏配置转发到指定action对于type属性需要设置为chain ,并在其下⽅配置<param> 标签<result name="error"type="chain"><param name="namespace">/</param><param name="actionName"></param></result>重定向重定向到指定界⾯对于type属性,设置为redirect ,就是重定向到界⾯,如果需要进⾏重定向就必须进⾏此处的设置<result name="error"type="redirectAction"><param name="namespace">/</param><param name="actionName"></param></result>。

02-Struts2的工作流程及配置文件

02-Struts2的工作流程及配置文件

Struts2的工作流程及配置文件--- ---Struts2.0的流程图从图中看到Struts2的工作流程如下:1.服务器接收到的请求首先经过一组过滤器链(实际中的其他过滤器可能还包括诸如Spring 的字符过滤器CharactorEncodingFilter、V elocity的过滤器等,一般FilterDispatcher位于过滤器的最后一个执行),过滤器链按照你在web.xml中的配置顺序在接收客户请求时顺序执行,在向客户发送响应时反序执行,Struts2的核心FilterDispatcher在web.xml中的配置如下:<filter><filter-name>setCharactor</filter-name><!-- 配置字符过滤--><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter><filter-name>struts2</filter-name><!-- 配置Struts2过滤器--><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter><filter-mapping><filter-name>setCharactor</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>注意:如果你使用的是W ebLogic6.1作为应用服务器,需要使用FilterDispatcherCompatW eblogic61替代FilterDispatcher。

Struts2知识点总结

Struts2知识点总结

Struts2基础知识Struts2概述1.Struts2框架应用javaee三层结构中的web层框架。

2.Struts2框架在struts1和webwork基础之上发展的全新框架。

3.Struts2所解决的问题:在以往实现一个功能时,都需要写很多的servlet,从而造成后期维护上的不方便。

图解:4.现在比较稳定的Struts2版本struts-2.3.24-all.zip5.web层常见框架1.struts2.springMVCStruts2框架入门1.导入jar包1.在lib里面有jar包,但不能全部导入,因为里面含有一些spring包,是不能使用的,导入会导致程序不能运行。

2.到app目录里面复制案例的jar包是最好的方法。

2.创建action3.配置action类的访问路径1.创建struts2核心配置文件,该核心配置文件位置和名称是固定的,位置必须在src下面,名称为struts.xml 。

2.引入dtd约束,可以在案例文件中找到,复制在struts.xml文件中即可。

3.action的配置*注意访问路径:http://域名/端口号/项目名/action名.action注意:.action可以省略,但建议不要省略,为了兼容一些老版本的浏览器。

4.配置Struts2的过滤器,可以在案例中的web.xml文件中找到,复制粘贴即可。

Struts2执行过程图解:Struts2配置1.是一种常量标签2.修改Struts2的默认常量值1.常用方式在struts.xml中进行配置。

2.其它两种方式1.在src下面创建struts.properties文件并修改。

2.在web.xml文件中进行修改。

3.Struts2最常用的常量struts.il8n.encoding=UTF-8,解决表单在通过post方式提交中文时,中文乱码的问题。

Struts2笔记(一)可使用全局页面。

1、配置方法:在package标签下配置2、注意:该标签只能在一个package标签中使用,如果有多个标签,需要重新定义。

Struts2中 struts.xml的Action配置详解

Struts2中 struts.xml的Action配置详解

Struts2中struts.xml的Action配置详解使用package可以将逻辑上相关的一组Action,Result,Interceptor等组件分为一组,Package 有些像对象,可以继承其他的Package,也可以被其他package继承,甚至可以定义抽象的Package。

由于struts.xml文件是自上而下解析的,所以被继承的package要放在继承package的前边。

Namespace将action分成逻辑上的不同模块,每一个模块有自己独立的前缀。

使用name space可以有效的避免action重名的冲突,例如每一个package都可以有自己独立的Men u和Help action,但是事项方式各有不同。

Struts2标签带有namespace选项,可以根据namespace的不同向服务器提交不同的package的action的请求。

“/”表示根namespace,所有直接在应用程序上下文环境下的请求(Context)都在这个pa ckage中查找。

“”表示默认namespace,当所有的namespace中都找不到的时候就在这个namespace中寻找。

例如,有如下配置:CODE:<package name="default"><action name="foo" class="mypackage.simpleAction><result name="success" type="dispatcher">greeting.jsp</result></action><action name="bar" class="mypackage.simpleAction"><result name="success" type="dispatcher">bar1.jsp</result></action></package><package name="mypackage1" namespace="/"><action name="moo" class="mypackage.simpleAction"><result name="success" type="dispatcher">moo.jsp</result></action></package><package name="mypackage2" namespace="/barspace"><action name="bar" class="mypackage.simpleAction"><result name="success" type="dispatcher">bar2.jsp</result></action></package>1 如果请求为/barspace/bar.action查找namespace:/barspace,如果找到bar则执行对应的action,否则将会查找默认的n amespace,在上面的例子中,在barspace中存在名字为bar的action,所以这个action 将会被执行,如果返回结果为success,则画面将定为到bar2.jsp2 如果请求为/moo.action根namespace('/')被查找,如果moo action存在则执行,否则查询默认的namespace,上面的例子中,根namespace中存在moo action,所以该action被调用,返回success 的情况下画面将定位到moo.jsp、Action配置在struts2框架中每一个Action是一个工作单元。

struts2

struts2

/topic/128973struts2表单标签1、struts资源文件中文解决方法在命令行中输入以下命令native2ascii -encoding gb2312 ApplicationResources.properties ApplicationResourcesgbk.properties第一个文件为资源文件,第二个为新生成的文件,将新生成的文件拷入工程就可以了2、开发struts2流程1.创建web工程2.拷贝commons-fileupload-1.2.1.jar,commons-logging-1.0.4.jar,freemarker-2.3.13.jar,ognl-2.6.11.jar,struts2-core-2.1.6.jar,xwork-2.1.2.jar,放入web-inf--lib中3.在web.xml文件中添加struts2的核心Filter,过滤客户端发送过来的请求,代码如下<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>org.apache.struts2.dispatcher.FilterDispatcher为struts2中提供的一个控制器4.创建struts.xml文件,放在src目录下.代码如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""/dtds/struts-2.0.dtd"><struts><package name="strutsqs" extends="struts-default"></package></struts>5.在src目录下创建一个类,创建几个属性及对应的get,set方法6.创建public String execute() throws Exception方法,7.在struts.xml文件中添加如下代码:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""/dtds/struts-2.0.dtd"><struts><package name="strutsqs" extends="struts-default"><action name="login" class="ers.action.LoginAction"><result name="success">/Main.jsp</result><result name="failed">/Login.jsp</result></action></package></struts>3、创建拦截器:1.创建类继承AbstractInterceptor,覆盖intercept方法,代码如下public String intercept(ActionInvocation invocation) throws Exception {LoginAction action=(LoginAction)invocation.getAction();String result=invocation.invoke();return null;}2.在struts.xml文件中配置如下<package name="strutsqs" extends="struts-default"><interceptors><interceptor name="myInterceptor" class="ers.interceptor.LoginInterceptor"> <param name="name">简单拦截器</param></interceptor></interceptors><action name="login" class="ers.action.LoginAction"><result name="success">/Main.jsp</result><result name="failed">/Login.jsp</result><result name="input">/Login.jsp</result><interceptor-ref name="myInterceptor"></interceptor-ref></action></package>也可以创建拦截器栈<interceptors><interceptor name="myinterceptor1"class="com.haitian.bbs.interceptor.MyInterceptor"></interceptor> <interceptor name="myinterceptor2"class="com.haitian.bbs.interceptor.MyInterceptor2"></interceptor> <interceptor-stack name="stack1"><interceptor-ref name="myinterceptor2"></interceptor-ref><interceptor-ref name="myinterceptor1"></interceptor-ref><interceptor-ref name="defaultStack"></interceptor-ref></interceptor-stack></interceptors>4.标签中引用资源文件内容<s:textfield name="age" key="regist.age" value="%{getText('regist.password')}"></s:textfield><s:select list=”#{‘1’:getText(‘sex.man’),’0’:getText(‘sex.women’)}”<s:text name=”bel”/>5.创建资源文件在src下创建messageResource_zh_CN.properties文件在src下创建struts.properties文件,添加struts.custom.i18n.resources=messageResource_zh_CN 6.Action中访问servlet APIActionContext ctx=ActionContext.getContext();ctx.getApplication()获得application对象ctx.put(“”,””);//相当于request.setAttribute(“”,””);ctx.getSession()//获得session对象get(Object key);//类似于调用HttpServletRequest的getAttribute(String name);方法Map getApplication();返回一个Map对象,该对象模拟了应该的ServletContext实例Map getSession();返回一个Map对象,该Map对象模拟了HttmpSession实例Map getParameters();获取所有的请求参数,类似于调用HttpServletRequest对象的getParameterMap方法Void setSession(Map session);直接传入一个Map实例,将实例里的key-value对转换成session的属性名\属性值HttpServletRequest request=ServletActionContext.getRequest();7.Action访问资源文件Action 继承ActionSupport调用this.getText(“ername”);Jsp访问资源文件<s:text name=”bel”/>8.资源文件_各国代码资源文件命名格式:baseName_language_country.propertiesLocale[] localeList=Locale.getAvailableLocales();for(int i=0;i<localeList.length;i++){System.out.println(localeList[i].getDisplayCountry()+”=”+localeList[i].getCountry()+””+localeList[i ].getDisplayLanguage()+”=”+localeList[i].getLanguage());}9.将struts.xml分开在struts.xml中添加如下代码,将其它配置文件导入<struts><include file=”struts-part1.xml”/>..</struts>被包含的配置文件是标准的struts2配置文件,一样包含dtd 信息、strut2配置文件的根元素,此时struts.xml文件中不能再定义action10全局结果result<global-results><result name="">/te.jsp</result></global-results>11模型驱动1创建一个JavaBean,生成setter,getter方法2创建action类实现ModelDriven接口12.创建拦截器1创建类继承AbstractInterceptor,覆盖intercept(ActionInvocation invocation)方法2. ActionContext ac=arg0.getInvocationContext();Map session=ac.getSession();获得session对象Object obj=session.get(“CURRENTUSERBEAN”);//获得session中是否存在此对象If(obj==null)没有登陆过Return “login”;ElseReturn invocation.invoke();3.LoginAction la=(LoginAction)invocation.getAction();获得被拦截的Action 实例4.String result=invocation.invoke();调用execute方法,将拦截方法返回的字符串做为拦截器的返回值或者返回其它字符串,此字符串与struts.xml文件中的result标签中的结果对应。

STRUTS2入门教程(全新完整版)

STRUTS2入门教程(全新完整版)

一、发展历史及简介发展历史Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages、Servlet、标签库以及面向对象的技术水准。

Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。

这个框架之所以叫"Struts",是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。

这也是一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。

当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。

同样,软件工程师使用Struts为业务应用的每一层提供支持。

它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。

我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。

如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。

早期Smalltalk程序语言便采用了MVC(Model-View-Controller)模式(Patterns)以增加程序代码弹性,MVC模式将程序代码整理切割为三部分,Model部分是业务与应用领域(Business domain)相关逻辑、管理状态之对象,Controller部分接收来自View所输入的资料并与Model部分互动,struts业务流程控制(Flow Control)之处,View部分则负责展现资料、接收使用者输入资料。

在Java应用中,JFC/Swing、AWT、JSP皆是可用作View的技术规格,而JavaBean与Enterprise JavaBean规格则可用于Model程序代码,一旦应用程序以MVC模式加以适当的分割,Model部分程序代码可在不同使用者接口外观的应用程序中重复使用。

随着JSP与Servlet技术大量应用于以Web为基础的应用程序,Java开发人员群体认为应以较佳的模式以提升Web应用程序的可维护性与重复使用性。

struts.xml配置详解

struts.xml配置详解

struts.xml是我们在开发中利用率最高的文件,也是Struts2中最重要的配置文件。

分别介绍一下几个struts.xml中常用到的标签1、<include>利用include标签,可以将一个struts.xml配置文件分割成多个配置文件,然后在struts.xml 中使用<include>标签引入其他配置文件。

比如一个网上购物程序,可以把用户配置、商品配置、订单配置分别放在3个配置文件user.xml、goods.xml和order.xml中,然后在struts.xml中将这3个配置文件引入:struts.xml:01<?xml version="1.0"encoding="UTF-8"?>02<!DOCTYPE struts PUBLIC03"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 04"/dtds/struts-2.0.dtd">0506<struts >07<include file="user.xml"/> 08<include file="goods.xml"/> 09<include file="order.xml"/>10</struts >user.xml:01<?xml version="1.0"encoding="UTF-8"?>02<!DOCTYPE struts PUBLIC03"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 04"/dtds/struts-2.0.dtd">0506<struts >07<package name="wwfy"extends="struts-default">08<action name="login"class="er.LoginAction"> 09<!--省略Action其他配置-->10</action>11<action name="logout"class="er.LogoutAction"> 12<!--省略Action其他配置-->13</action>14</package>15</struts >2、<constant>在之前提到struts.properties配置文件的介绍中,我们曾经提到所有在struts.properties文件中定义的属性,都可以配置在struts.xml文件中。

struts2中struts.xml文件详解

struts2中struts.xml文件详解

<result-types>
<result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
<result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>
</action>
</package>
</struts>
上面代码的两个动作的class属性都指向同一个类,name为这个类起了两个动作别名:test和my。在动作my中,使用了method属性指定要要运行的方法名为my。
在MyAction类中必须要有my方法,代码如下:
<struts>
<package name="demo" extends="struts-default"
>
<action name="test" class="action.MyAction">
</action>
<action name="my" class="action. MyAction" method="my">
<?xml version="1.0" encoding="UTF-8" ?>

Struts2的配置文件详解

Struts2的配置文件详解
Struts2的命名空间的作用等同于struts1里模块的作用。
1.3.包含配置:
在Struts2中可以将一个配置文件分解成多个配置文件,那么我们必须在struts.xml中包含其他配置文件。
<struts>
<includefile="struts-default.xml"/>
<includefile="struts-user.xml"/>
erName= userName;
}
/**
*@returnthepassword
*/
publicString getPassword() {
returnpassword;
}
/**
*@parampasswordthepasswordtoset
*/
publicvoidsetPassword(String password) {
</action>
</package>
</struts>
如上示例的配置,配置了一个名为default的包,该包下定义了一个Action。
1.2.命名空间配置:
考虑到同一个Web应用中需要同名的Action,Struts2以命名空间的方式来管理Action,同一个命名空间不能有同名的Action。
Struts2通过为包指定namespace属性来为包下面的所有Action指定共同的命名空间。
l public Map getSession():返回一个Map对象,该Map对象模拟了HttpSession实例。
l public void setSession(Map session):直接传入一个Map实例,将该Map实例里的key-value对转换成session的属性名-属性值对。

01、struts2(Struts2开发入门 、常用配置、参数传递) - 副本

01、struts2(Struts2开发入门 、常用配置、参数传递) - 副本

1. Struts2简介1.1. 什么是Struts21.1.1. Struts2的概念Struts2是轻量级的MVC框架,它主要解决了请求分发的问题,重心在于控制层和表现层。

轻量级,指的是Struts2具有较低的侵入性,就是它对我们业务代码的依赖程度很低,简单来说,在使用Struts2框架时,我们的业务代码中基本上不需要import它的包。

Struts2实现了MVC,满足了MVC设计思想。

在我们使用Struts2做开发的时候,就相当于使用了MVC,这是Struts2自动帮助我们实现的,是默认的、隐含的,我们不需要再写特别的代码来实现MVC了。

作为一个框架,Struts2提供了一系列的API,我们可以使用它们来简化代码的编写,从而提升开发效率。

这些API复用程度很高,对业务代码的依赖性也很小,甚至很多是Struts2自动调用的,因此在很大程度上,我们的开发变得可以复用。

Struts2解决请求分发的问题,我们会在后面为什么使用Struts2中讲解。

重心在控制层和表现层,是纵观整个Struts2理论课程来看的,从中我们会体会到这一点,随着大家对Struts2的逐步了解,届时我们再回顾这一点。

1.1.2. 什么是MVCMVC是代码的分层思想,是软件设计领域经典的设计模式。

它根据代码功能的不同,将一个软件的代码分为3部分,即模型、视图、控制器,这3部分代码的含义和功能如下。

1、M-Model 模型模型(Model)的职责是负责业务逻辑。

包含两层:业务数据和业务处理逻辑。

比如实体类、DAO、Service都属于模型层。

2、V-View 视图视图(View)的职责是负责显示界面和用户交互(收集用户信息)。

属于视图的组件是不包含业务逻辑和控制逻辑的JSP。

3、C-Controller 控制器控制器是模型层M和视图层V之间的桥梁,用于控制流程。

比如:在Servlet项目中的单一控制器ActionServlet。

struts2限制请求体集合大小的参数

struts2限制请求体集合大小的参数

struts2限制请求体集合大小的参数在Struts2 中,如果你想要限制请求体(通常是HTTP POST 请求的内容)的大小,你可以通过配置Struts2 的struts.xml文件或使用Struts2 的过滤器来实现。

1.在struts.xml中配置:你可以在Struts2 的struts.xml配置文件中设置struts.multipart.maxSize参数来限制上传文件的大小。

这个参数也间接地限制了请求体的大小,因为它主要用于文件上传。

xml<constant name="struts.multipart.maxSize"value="your_size_in_bytes" />这里your_size_in_bytes是你想要设置的最大请求体大小(以字节为单位)。

2. 在Web.xml 中配置:如果你使用的是Struts2 的struts2-filter,你也可以在web.xml文件中设置filter-init-param来限制请求体大小。

xml<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class><init-param><param-name>struts.multipart.maxSize</param-name><param-value>your_size_in_bytes</param-value></init-param></filter>1.注意:2.1.struts.multipart.maxSize主要用于限制文件上传的大小。

struts2国际化配置

struts2国际化配置

前提条件:strut2的必须架包已经引入,struts2的配置文件全部配置完成1.首先创建一个struts.properties在src目录下,服务器启动时候会自动加载该文件,在这个文件中写入struts.custom.i18n.resources=globalMessages,服务器会自动选择前缀为globalMessages资源文件。

(或者你在你的struts.xml文件中添加<constant name="struts.custom.i18n.resources"value="globalMessages"></constant>服务器加载struts.xml的时候会加载国际化资源文件);2.在src目录下创建资源文件英文globalMessages_en.properties 中文globalMessages_zh.properties。

globalMessages_en.properties 文件内容为home=homeglobalMessages_zh.properties文件内容为home=¥u9996¥u98753.在页面端获得资源文件信息。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>My JSP 'test.jsp' starting page</title></head><body><s:text name="home"></s:text></body></html>struts2的国际化分三种情况1.前台页面的国际化,2.Action类中的国际化,3.配置文件的国际化。

struts2配置文件详解

struts2配置文件详解
"/dtds/struts-2.0.dtd">
<struts>
<!-- 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 -->
<constant name="struts.i18n.encoding" value="UTF-8" />
<!-- 标准的UI主题,默认的UI主题为xhtml,可以为simple,xhtml或ajax -->
<cosntant name="struts.ui.theme" value="xhtml" />
<!-- spring 托管 -->
<constant name="struts.objectFactory" value="spring" />
<!--
指定加载struts2配置文件管理器,默认为org.apache.struts2.config.DefaultConfiguration
<!-- 设置默认的locale和字符编码 -->
<constant name="struts.locale" value="zh_CN" />
<constant name="struts.i18n.encoding" value="GBK" />
<!-- 该属性指定Struts 2文件上传中整个请求内容允许的最大字节数 -->

Struts2框架核心配置文件的研究与应用

Struts2框架核心配置文件的研究与应用
第2 3卷
第 2期
计 算 机 技 术 与 发 展
C OMP UT ER T ECHNOL OGY AND DEVEL OPME NT
2 0 1 3年 2月
Vo 1 . 2 3 NO. 2 Fe b. 2 01 3
S t r u t s 2框 架核 心 配 置 文 件 的研 究 与应 用
ቤተ መጻሕፍቲ ባይዱ
2 . C h i n a U n i c o m J i n z h o u B r nc a h , J i n z h o u 1 2 1 0 0 0 , C in h a )
Ab s t r a c t : St r u t s 2 i s a p o we r f ul o p e n s o u r c e f r a me wo r k o f J a v a We b, t h e p r o c e s s i n g p r o c e d u r e o f S t r u t s 2 ra f me wo r k h a s b e e n in f i s h e d b y c o n i f g u r a i t on il f e s . Fo r he t c h a r a c t e is r i t c o f f r a me wo r k c o n ig f u r a io t n i f l e s mo r e c o n t e n t , c o n ig f ra u i t o n c o mp l e x i t y a n d h a r d t o ma s t e r , he t
建 步骤 及构 建方 法 ; 最 后研 究 s t u r t s . p r o p e r t i e s 配置 文件 , 着 重研究 s t r u t s . p r o p e t r i e s中包 含 主要 的 S t r u t s 2属性 及 配置 方 法。

Struts2知识点总结

Struts2知识点总结

1.struts2 步骤1.创建web项目2.添加struts2的必须jar包3.添加支持(配置web.xml文件)4.创建界面和相应的action5.配置struts.xml文件6.部署运行项目2.struts2的工作流程1. 浏览器发送一个请求。

2. 核心控制器FilterDispatcher根据请求决定调用合适的Action。

3. 拦截器(Intercepter)自动对请求应用通用功能,如验证等。

4. 回调Action的execute方法,该execute方法根据请求的参数来执行一定的操作。

5. Action的execute方法处理结果信息将被输出到浏览器中,支持多种形式的视图。

3.struts2的配置文件1.web.xml2.struts.xml(核心管理Action映射) 自己配置的3.struts-default.xml是struts2框架默认加载的配置文件。

它定义struts2一些核心的bean和拦截器。

这些拦截器是以key-value对的形式配置在struts-default.xml中,其中name是拦截器名字,就是后面使用该拦截器的引用点,value则指定拦截器的实现类。

4.struts.properties(核心管理属性) 自己配置的5.default.properties(核心管理属性)4.<struts>标签下的子标签配置1.<bean type="com.opensymphony.xwork2.ObjectFactory" name="struts"class="org.apache.struts2.impl.StrutsObjectFactory" />2.<include file="struts1.xml"></include>3.<constant name=“key” value=“value” />4.<package></package>5.package标签下的配置1.<action name="loginAction" class="com.action.loginAction"><result name="success">/welcome.jsp</result><result name="error">/index.jsp</result></action>2.<global-results><result></result></global-results>3.<global-exception-mappings><exception-mapping result="error"exception="java.long.Exception"></exception-mapping></global-exception-mappings>……………………………………6.action类实现Action接口和继承ActionSupport7.通过ActionContext类获得context(request),再通过context获得session和application context.put("key","value");session.put("key","value");session.put("key","value");public class ServletActionContext (org.apache.struts2)public static PageContext getPageContext()public static HttpServletRequest getRequest()public static HttpServletResponse getResponse()public static ServletContext getServletContext()8.在action中直接使用一个对象,两种方式:1.在提交表单时name属性为:对象.xxxx2.实现ModelDriven<类类型>接口和其方法。

struts2配置及项目启动

struts2配置及项目启动

1,Struts2的配置:1.1项目的配置:第一步:导包:将D:\software\tool\struts2\struts-2.3.16.1\apps\struts2-blank\WEB-INF\lib中的jar 包全部导入项目的lib文件夹中,其中jar包有:xw o rk-co re-2.3.16.1.j ar asm-3.3.j ar asm-co m m o ns-3.3.j ar asm-t ree-3.3.j ar co m m o ns-f i l eup l o ad-1.3.1.j ar co m m o ns-i o-2.2.j ar co m m o ns-l ang3-3.1.j ar co m m o ns-l o g g i ng-1.1.3.j ar f reem arker-2.3.19.j ar j avassi st-3.11.0.G A.j arl o g4j-1.2.17.j ar o g nl-3.0.6.j ar st rut s2-co re-2.3.16.1.j ar第二步:导入struts.xml文件文件中package可以自己定义。

第三步:编写web.xml文件其内容为struts2的核心拦截器,其他拦截去如果需要,必须写到struts2拦截器上面,否则,不起作用。

第四步:开发antion在后面详细描述;1.2开发action方式一:继承ActionSupport如果用struts2数据校验,必须继承此类。

方式二:实现Action 接口方式三:不继承任何类,不识闲任何接口1.3访问通配符通配符:在struts 中配置信息中,可以用*于{1}优化配置<package name="config" namespace="/" extends="struts-default"> 1.4 struts 中路径匹配原则1,访问路径=命名空间+action 的name 属性:public class UserAction extends ActionSupport{<!--<action name="login" class="cn.itcast.a_erAction2" method="login"> <result name="success">/index.jsp</result> </action> <action name="register" class="cn.itcast.a_erAction2" method="register"> <result name="success">/index.jsp</result> </action> --> <action name="user_*" class="cn.itcast.a_erAction2" method="{1}"> <result name="{1}">/{1}.jsp</result> </action></package><package name="config" namespace="/user" extends="struts-default"><action name="user_*" class="cn.itcast.a_erAction2" method="{1}"><result name="{1}">/{1}.jsp</result></action></package>访问的路径为:http://localhost:8080/user/user_login,其中login可以改为别的action 的name属性。

struts.properties文件详解

struts.properties文件详解

struts.properties文件详解struts.properties文件是一个标准的properties文件,该文件包含了一系列的key-value对象,每个key就是一个Struts2属性,该key对应的value就是一个Struts2属性值。

struts.propertis文件通常放在Web应用的WEB-INF/classes路径下。

实际上,只要将该文件放在Web应用的CLASSPA TH路径下,Struts2框架就可以加载该文件。

现在的问题是,struts.properties文件哪些key是有效的?即struts.properties 文件里包含的哪些属性是有效的Struts2属性。

下面列出了可以在struts.properties中定义的Struts2属性。

○1struts.configuration该属性指定加载Struts2配置文件的配置文件管理器。

该属性的默认值是org.apache.struts2.config.DefaultConfiguration,这是Struts2默认的配置文件管理器,如果开发者需要实现自己的配置管理器,开发者可以实现一个实现Configuration接口的类,该类可以自己加载Struts2配置文件。

○2struts.locale指定Web应用的默认Locale。

○3struts.i18n.encoding指定Web应用的默认编码集。

该属性对于处理中文请求参数非常有用,对于获取中文请求参数值,应该将该属性值设置为GBK或者GB2312。

该属性默认值为UTF-8。

提示:当设置该参数为GBK,相当于调用HttpServleRequest的setCharacterEncoding方法。

○4struts.objectFactory指定Struts2默认的ObjectFactory Bean,该属性默认值是spring。

○5struts.objectFactory.spring.autoWire指定Spring框架的自动装配模式,该属性的默认值是name,即默认根据Bean 的name属性自动装配。

struts2是怎么读取properties的资源文件

struts2是怎么读取properties的资源文件

怎么读取struts2.0的资源文件说起这个真是够折磨人的,现在要开始做项目,决定使用struts2.0做,可是大部分都是自己遇习的,没办法就遇到了这个问题,经过本人长期的工作和不停的查看资料,终于攻克了这个难题,现在写在这里已供有同样问题的大家共享.一,在Eclipse创建工程配置开发和运行环境要想读取资源文件必须要下载一个插件,这个插件的名字叫做:plugin,大家不用担心是可以通过Eclipse自己升级和下载的一个插件,所以不需要从网上下载.下面我把怎么配置这个插件的步骤告诉大家.1、展开Eclipse的Help菜单,将鼠标移到Software Update子项,在出现的子菜单中点击Find and Install;2、在Install/Update对话框中选择Search for new features to install,点击Next;3、在Install对话框中点击New Remote Site;4、在New Update Site对话框的Name填入“PropEdit”或其它任意非空字符串,在URL 中填入http://propedit.sourceforge.jp/eclipse/updates/;5、在Site to include to search列表中,除上一步加入的site外的其它选项去掉,点击Finsih;6、在弹出的Updates对话框中的Select the features to install列表中将所有结尾为“3.1.x”的选项去掉(适用于Eclipse 3.2版本的朋友);7、点击Finish关闭对话框;8、在下载后,同意安装,再按提示重启Eclipse,在工具条看到形似vi的按钮表示安装成功,插件可用。

此时,Eclpise中所有properties文件的文件名前有绿色的P的图标作为标识。

二,开始配置资源文件:相信通过步骤一之后,你的Eclipse已经能够使用扩展名为.properties的资源文件了,那怎么使用资源文件呢.1.新建一个为名为struts.properties的资源文件,那么这个时候就出现了分类:(1),如果向其中写入struts.custom.i18n.resources=globalMessages,那么同样建立在src目录下的globalMessages.properties或者globalMessages_zh_CN.properties,就成为全局资源文件,一般来说,全局文件一般放在src文件夹下。

struts2的配置文件

struts2的配置文件
t;
<!-- 定义默认的拦截器 每个Action都会自动引用,如果Action中引用了其它的拦截器,默认的拦截器将无效 -->
<default-interceptor-ref name="mystack"></default-interceptor-ref>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
当前路径为web-inf/classes
struts2的配置文件
类型
struts2共有4类配置文件,
struts.properties:定义框架自身的全局变量。
struts-default.xml:定义框架自身使用的action映射及result定义。
struts-plugin.xml:struts插件使用的配置文件,比如当使用struts和spring结合时就需要在web.xml中引用该配置文件。
-->
<package name="com.kay.struts2" extends="struts-default" namespace="/test">
<interceptors>
<!-- 定义拦截器-->
<interceptor name="timer" class="com.kay.timer"></interceptor>
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档