对于上周学的Struts2 进行一个简单的小结:
Struts2功能主要分为:过滤器, 数据校验,类型转换,结果类型,上下文,拦截器,ognl,i18n,模型驱动。
Struts2的过滤器:StrutsPrepareAndExecuteFilter 这是Struts2的核心,在web.xml中配置
1 <filter> 2 <filter-name>struts2</filter-name> 3 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 4 </filter> 5 <filter-mapping> 6 <filter-name>struts2</filter-name> 7 <url-pattern>/*</url-pattern> 8 </filter-mapping>
struts.xml这个文件的名字必须为struts.xml ,因为在容器启动的时候,自动加载这个文件。具体配置:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" "http://struts.apache.org/dtds/struts-2.1.7.dtd"> <struts> <!-- package:配置包信息 * name:为包起一个名字,用于继承 * namespace:命名空间,相当于一个房间号,默认‘/‘,如果是默认值的话(表示任意房间) * 在程序开发的时候,程序员会根据需要自定义一个命名空间,在该空间下定义自己的连接路径 * extends:继承,要求struts.xml中所有的package都必须继承struts-default,这是struts2的核心包 --> <package name="primer" namespace="/primer" extends="struts-default"> <!--指定默认的action引用,如果该包下没有对应action配置,则启用该配置--> <default-action-ref name="helloWorldAction"></default-action-ref> <!-- action:1、配置访问链接与类之间的映射关系 * name:页面访问的连接helloWorldAction.action,.action是struts2的默认的后缀名(不用添加) * class:处理类的路径,完整的路径 * method:如果没有method方法,默认访问的execute()方法 如果添加method方法,可以通过method用来指定action方法的方法 result:2、配置类的返回值与访问到的页面之间的映射关系 * name:类的返回的值的名字 * <result> /primer/success.jsp </result> 定义返回的页面 --> <!-- * 1>如果没有为action指定class,默认是ActionSupport中的execute方法。 * 2>如果没有为action指定method,默认执行action中的execute() 方法。 --> <action name="helloWorldAction" class="cn.itcast.a_primer.HelloWorldAction"> <!-- * 3>如果没有指定result的name属性,默认值为success。 --> <result name="success"> /primer/success.jsp </result> </action> </package> </struts>
时间: 2024-11-07 19:35:31