Struts2

Posted 花娣丫头小愤青

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2相关的知识,希望对你有一定的参考价值。

Struts2架构

Struts2框架处理大致过程如下:

  1、浏览器发送请求,例如请求/xxx.action

  2、核心控制器StrutsPrepareAndExecuteFilter根据请求决定调用哪个Action

  3、Struts2的拦截器链自动对请求应用通用功能,如workflow、validation或者文件上传等动能

  4、回调Action的execute方法,该方法先获取用户请求参数,然后执行某种数据库操作。实际上action只是一个控制器,它会调用业务逻辑组件来处理用户请求。

  5、Action的execute方法将处理结果存入Stack Context中,并返回一个字符串;StrutsPrepareAndExecuteFilter将根据返回的字符串跳转到指定的视图资源,该资源会读取Stack Context 中的信息,并向浏览器响应数据。

下载地址 http://struts.apache.org/download.cgi#struts2512

建议下载Struts2完整版 Full Distribution 以及文档说明Doc

解压之后如右图所示:

apps:Struts2示例应用

docs:Struts2相关文档

lib:Struts2核心库以及第三方库

src:源码

 

 

 

 

Struts2的配置文件:有两份

-》配置Action的struts.xml文档

  struts.xml中定义了struts2的action,定义Action时,应该指定Action的实现类并定义action处理结果与视图资源之间的映射。

-》配置Struts2全局属性的struts.properties文件

    

 

  采用键值对方式指定了Struts2应用的全局属性。

 

 

 

 

 

 

搭建 Struts2 的环境:
*1 、加入 jar 包: 复制 struts\\apps\\struts2-blank\\WEB-INF\\lib 下的所有 jar 包到当前 web 应用的 lib 目录下.

  asm-3.3.jar
  asm-commons-3.3.jar
  asm-tree-3.3.jar
  commons-fileupload-1.3.1.jar
  commons-io-2.2.jar
  commons-lang3-3.2.jar
 * freemarker-2.3.22.jar
  javassist-3.11.0.GA.jar
  log4j-api-2.3.jar
  log4j-core-2.3.jar
 * ognl-3.0.14.jar
 * struts2-core-2.3.28.1.jar
 * xwork-core-2.3.28.1.jar
*2、在 web.xml 文件中配置 struts2: 复制 apps\\struts2-blank1\\WEB-INF\\web.xml 文件中的过滤器的配置到当前 web 应用的 web.xml 文件中
*3、在当前 web 应用的 classpath 下添加 struts2 的配置文件 struts.xml: 复制 \\apps\\struts2-blank\\WEB-INF\\classes 下的 struts.xml 文件到当前 web 应用的 src 目录下.

其中在struts.xml可以添加DTD约束,由于使用的eclipse。流程仅供参考:

eclipse--->window--->preference--->XML-->XML catalog--->User Specified Enteries ---->add

 

以上是关于Struts2的主要内容,如果未能解决你的问题,请参考以下文章

Struts2struts2处理请求参数及其校验

struts2struts2中的流接收与流发送

Struts2Struts2与Spring整合后,如何指定Action为多例模式

ssh整合

JAVA中框架总结

Struts2学习笔记