-
Action的搜索顺序: 1,判断包package是否存在 存在:2:判断action是否存在,如果不存在则去默认的namespace的package里面寻找 3:如果不存在,则报错 不存在:2、检查上一级路径的package是否存在(直到默认的namespace),重复第一步 3、如果没有,则报错 如果请求为/login.action,系统会根据根命名空间("/")中查找名为login的Action,如果在根命名空间中找到了名为login的Action,则该Action处理用户的请求;否则系统将转为在默认命名空间中寻找名为login的Action,如果默认的命名空间中有名为login的Action,则由该Action处理用户的请求。如果两个命名空间中都找不到名为login的Action,那么系统将出现错误。 注意:命名空间只有一个级别。如果请求的URL是/bookservice/search/get.action系统将先在/bookservice/search的命名空间下查找名为get的Action,如果在该系统命名空间内找到名为get的Action,则由该Action处理该用户的请求;如果在该命名空间中没有找到名为get的Action,系统将直接进入默认的命名空间中查找名为get的Action,而不会在bookservice的命名空间下查找名为get的Action。 可以多个包使用同一个命名空间,但是相同的命名空间相当于同一个模块,也就是同一个包。 一个包中可以有name值相同的action,但是后面的action会把前面同名的action覆盖掉查看全部
-
MVC:controller,model,view查看全部
-
处理过程查看全部
-
Struts2内容查看全部
-
只有配置在web.xml文件中的Servlet才会被应用加载,在其中加载web应用的一个核心控制器Controller,对于Structs2框架而言,这个核心控制器是StructsPrepareAndExecuteFilter,在这个控制器中加载Structs2框架 struts.xml是struts2的核心配置文件,负责管理应用中的action映射,拦截器和result定义。 <package name namespace extends abstract>命名空间与url路径有关 <interceptors> <interceptor/> / <default- interceptor-ref/> </interceptors> !定义拦截器或者默认拦截器 <global-results>全局result配置 <action> 标签中包含拦截器,result, 以及param三种标签 <constant>声明key-value对, 与在struts.properties文件中声明相同查看全部
-
一 工作原理 在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action 4 如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy 5 ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类 6 ActionProxy创建一个ActionInvocation的实例。 7 ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。 8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper 二 工作流程 1、客户端浏览器发出HTTP请求. 2、根据web.xml配置,该请求被FilterDispatcher接收 3、根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton 4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。 5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面 6、返回HTTP响应到客户端浏览器查看全部
-
运行struts2的环境要求: (1)Servlet API 2.4 (2)JSP API 2.0 (3)Java JDK 1.5 或者以上 使用步奏: (1)将struts 添加到项目中: Apache官网下载struts库文件,解压; 将lib目录下struts.jar文件复制到项目WEB-INF/lib之下; 其他文件则复制到/WEB-INF文件夹下,然后在该文件夹下创建struts-config.xml配置文件. (2)给项目添加struts2支持 (3)创建Action进行测试 Apache Structs官方网站 http://struts.apache.org/ http://people.apache.org/builds/struts/查看全部
-
commons-fileupload(上传下载包) commons-io(输入输出包) commons-lang 3-3.2(基础包) commons-logging(日志包) freemarker(模板引擎,通过模板生成文本输出的通用工具) structs2-core(核心包) xwork-core(一些类基于xwork) ognl(表达式) javassist-3.11.0.GA.jar(解析java类文件的一个包) 1.新版本的struts2的xwork.jar包已经合并到核心包里了 2. 新版本的过滤器类的class路径是org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter查看全部
-
MVC:controller、model、view查看全部
-
过滤器查看全部
-
更改struts2的后缀 需要在xml配置<constant name="struts.action.extension" value="html"></constant> 不加该标签时可以不加后缀访问,加标签后可使value="";查看全部
-
默认action查看全部
-
Structs内容查看全部
-
MVC:controller、model、view查看全部
-
action 执行顺序查看全部
举报
0/150
提交
取消