Struts2 的入门

 首先去Stuts2 的官网  http://struts.apache.org/    按Download 下载相应的版本 




Full Distribution : 完整版(建议下载),包括下面的所有文件

Example:Struts2的示例程序

Essential dependencies only:轻量发布版,只包含必需的依赖包

All dependencies:所有的依赖包

Documenation:文档(使用文档,参考手册,API文档)

Sorece:源码(开源)

因为截图有点麻烦 我就不截图了  楼主下载的是Full Distribution的版本:

解压后有五个文件夹
apps:Struts2的示例程序;
docs:API帮助文档,查找程序中编写 的类和方法
backport:JDK支持JAR
lib:核心类库和第三方JAR包
src:源码

接下来讲导入
可以根据你自己的需求导入相应的jar包
可以把JAR包放入放到WEB-INF下的lib下(绑死在项目下)
(建议放到User Libraies 库中)(不过现在IDEA还有都用MAVEN管理了)


一般都会用到以上jar包,反正有需要自己再加就是了

Struts的体系图,了解一下运行过程

关于图中的Key:

  • Servlet Filters:过滤器链,客户端的所有请求都要经过Filter链的处理。
  • Struts Core:Struts2的核心部分,但是Struts2已经帮我们做好了,我们不需要去做这个
  • Interceptors,Struts2的拦截器。Struts2提供了很多默认的拦截器,可以完成日常开发的绝大部分工作;而我们自定义的拦截器,用来实现实际的客户业务需要的功能。
  • User Created,由开发人员创建的,包括struts.xml、Action、Template,这些是每个使用Struts2来进行开发的人员都必须会的。


  • 1.FilterDispatcher是整个Struts2的调度中心,也就是MVC中的C(控制中心),根据ActionMapper的结果来决定是否处理请求,如果ActionMapper指出该URL应该被Struts2处理,那么它将会执行Action处理,并停止过滤器链上还没有执行的过滤器。
  • 2.ActionMapper 会判断这个请求是否应该被Struts2处理,如果需要Struts2处理,ActionMapper会返回一个对象来描述请求对应的ActionInvocation的信息。
  • 3.ActionProxy,它会创建一个ActionInvocation实例,位于Action和xwork之间,使得我们在将来有机会引入更多的实现方式,比如通过WebService来实现等。
  • 4.ConfigurationManager是xwork配置的管理中心,可以把它看做struts.xml这个配置文件在内存中的对应。
  • 5.struts.xml,是开发人员必须光顾的地方。是Stuts2的应用配置文件,负责诸如URL与Action之间映射关系的配置、以及执行后页面跳转的Result配置等。
  • 6.ActionInvocation:真正调用并执行Action,它拥有一个Action实例和这个Action所依赖的拦截器实例。ActionInvocation会按照指定的顺序去执行这些拦截器、Action以及相应的Result。
  • Interceptor(拦截器):是Struts2的基石,类似于JavaWeb的Filter,拦截器是一些无状态的类,拦截器可以自动拦截Action,它们给开发者提供了在Action运行之前或Result运行之后来执行一些功能代码的机会。
  • 7.Action:用来处理请求,封装数据。

  • 二、运行流程

1.当用户的发出请求,比如http:localhost:8080/Struts2/helloworld/helloworldAction.action,请求会被Tomcat接收到,Tomcat服务器来选择处理这个请求的Web应用,那就是由helloworld这个web工程来处理这个请求。
2.Web容器会去读取helloworld这个工程的web.xml,在web.xml中进行匹配,但发现,由struts2这个过滤器来进行处理(也就是
StrutsPrepareAndExecuteFilter),根据Filter的配置,找到FilterDispatcher(Struts2的调度中心
3.然后会获取FilterDispatcher实例,然后回调doFilter方法,进行真正的处理
PS:FilterDispatcher是任何一个Struts2应用都需要配置的,通常情况下,web.xml文件中还有其他过滤器时,FilterDispatcher是放在滤器链的最后;如果在FilterDispatcher前出现了如SiteMesh这种特殊的过滤器,还必须在SiteMesh前引用Struts2的ActionContextCleanUp过滤器



http://blog.csdn.net/wjw0130/article/details/46371847  转载的,可以去看这个博客比较详细 安静



了解完就可以写个小点的案例了,可以去看下基本用法。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值