-
struts.xml:查看全部
-
web.xml:查看全部
-
一 工作原理 在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响应到客户端浏览器查看全部
-
用myeclipse自动添加struts2框架,result请求的jsp页面不在WebRoot目录或者/WEB-INF/content目录下会导致404错误原因如下: 引用的是myeclipse自带的struts2 core Libraries包,里面包含了新版本特性的struts2-convention-plugin-2.1.8.1.jar包,该jar包代替codebehind-plugin来实现struts的零配置,相关资料可以网上查下。convention-plugin其中的一项约定就是默认所有的结果页面都存储在WEB-INF/content路径下,而我项目中是将页面放在WEB-INF/jsp目录下,所以报404错误。 解决方法有两个: 1、在项目中去掉struts2-convention-plugin-2.1.8.1.jar包; 2、通过设置struts.convention.result.path这个属性的值来改变结果页面到其他路径,如我的项目中如果不去掉这个jar包,就需要在struts.xml的struts节点下配置<constant name="struts.convention.result.path" value="/WEB-INF/jsp" />。查看全部
-
Struts2的基础包:1.、commons-fileupload(上传下载包);2、commons-io(输入输出包);3、commons-lang 3-3.2(基础包);4、commons-logging(日志包); 5、freemarker(模板引擎,通过模板生成文本输出的通用工具);6、structs2-core(核心包);7、xwork-core(一些类基于xwork);8、ognl(表达式);9、javassist-3.11.0.GA.jar(解析java类文件的一个包) 配置web.xml:web项目在启动tomcat时第一个启动的文件就是web.xml 首先定义过滤器 <filter> <filter-name>struct2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 这里写完后按住ctrl点击鼠标左键如果可以跳转则证明正确 </filter> filter的映射 <filter-mapping> <filter-name>struct2</filter-name> <url-pattern>/*</url-pattern> /*是所有的都需要过滤 </filter-mapping> 映射与文件的filter-name应该保持一致 之后再src中创建struts的核心xml struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> </struts> 之后创建action包 创建action类让其继承ActionSupport Struts2中有一个默认的方法不指定方法名的话有一个execute()方法 之后去配置struts.xml中的action文件查看全部
-
Struts2的环境需求:1、Servlet API 2.4及以上;2、JSP API 2.0及以上;3、JDK5及以上<br> PS:在Struts2中会用到Annotation(注解),所以JDK版本需要1.5及以上<br> 搭建Struts2环境步骤如下:查看全部
-
Struts2的发展历史查看全部
-
MVC是模型视图控制器(Model View Controller),一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。 业务逻辑如下:查看全部
-
1、Struts:是流行的成熟的基于MVC设计模式的web应用程序框架; 2、作用:为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。查看全部
-
搭建struts2环境步骤 1 下载相关jar 2 创建web项目 3 创建并完善相关配置文件 4 创建Action并测试启动查看全部
-
mvc是模型视图控制器,一种软件设计典范,用一种业务逻辑,数据,界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面, 在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。查看全部
-
web.xml查看全部
-
详细流程: 1 .首先客户端通过HttpServletRequest向Servlet容器(例如Tomcat)提交一个请求。<br> 2 .这个请求经过一系列的过滤器(Filter),比如ActionContextCleanUp。<br> 3. 接着Struts的核心控制器FilterDispatcher(或最新的过滤器StrutsPrepareAndExecuteFilter)被调用,被核心控制器所过滤到以后,核心控制器FilterDispatcher访问ActionMapper来决定用户是否要请求某个Action <br> 4 .如果ActionMapper决定需要调用某个Action,Struts中的核心控制器FilterDispatcher会将控制权委派给ActionProxy(即Action代理)。<br> 5 .ActionProxy通过对象Configuration Manager(配置管理器)来加载Struts核心配置文件struts.xml,找到需要调用的Action。 6 .如果在struts.xml中找到需要调用的Action以后,ActionProxy会创建一个ActionInvocation的实例,ActionInvocation中包括了所创建的Action实例,同时它也包括拦截器(Intercepter),在调用Action的过程前后,还需要调用非常多的拦截器(Intercepter)。 <br> 7.依次执行完一系列拦截器(1,2,3...)后, 就执行Action,它会调用Action中的业务处理方法进行业务处理,同时这个业务处理方法会返回一个结果Result,实际会返回一个字符串,我们根据这个字符串去调度我们的视图(Template),去匹配result。一般会返回一个JSP页面,或者会调用另外一个Action。 8.当返回视图(Template)以后,还需要将之前执行过的拦截器再依次反向执行一遍(3,2,1...),当这些拦截器被反向执行完以后,才会进行最终的请求的响应,通过HttpServletResponse去响应客户端的请求。查看全部
-
struts2工作原理图 用户的请求HttpServletRequest--->过滤器filter--->ActionMapper(.action)请求---->过滤器---->ActionProxy---->通过ConfigurationManager读取struts.xml中的ActionInvocation具体的Action类---->通过ActionProxy创建Action反向实例---->拦截器--->action,返回result(字符串对象)对应的视图---->拦截器---->HttpServletResponse返回请求查看全部
-
搭建struts2环境步骤 1 下载相关jar 2 创建web项目 3 创建并完善相关配置文件 4 创建Action并测试启动查看全部
举报
0/150
提交
取消