Struts2 简介、下载安装及配置

一、MVC思想

1. 诞生
  • 动态Web应用的维护成本越来越大
  • 前端开发人员与后台开
  • 发人员修改同一个页面
2. MVC模式核心思想

常用的基于Web的MVC框架:Struts、JSF、Tapestry、Spring MVC等。

VIew视图(页面)

  • 等待用户输入并提交数据给指定控制器
  • 将结果反馈给用户

Controller控制器

  • 将用户输入的数据传递给业务逻辑模块
  • 根据处理结果选择不同的视图

Model模型

  • 业务逻辑处理
  • 数据库操作
  • 状态数据

MVC的好处:便于解耦(降低程序之间的耦合性),便于维护,便于协同开发

二、起源

struts1 存在一下问题

  • 问题1:支持的表现层技术单一:Struts1只支持JSP作为表现层技术。
  • 问题2:与Servlet API严重耦合:难于测试。
  • 问题n:线程模型    类型转换    数据校验    ……

Struts2

  • Struts2是WebWork的升级,而不是Struts1的升级。
  • Struts2以WebWork优秀的设计思想为核心,吸收了Struts1的部分优点,建立了一个兼容WebWork和Struts1的MVC框架。
  • Struts2与Struts1最大的不同是Struts2使用了大量的拦截器来处理用户请求,从而分离Action与Servlet API。
三、Struts2体系结构

Struts是以前端控制器框架为主体的框架,用户的请求会通过控制器选择不同的Action类来执行具体的操作,在Action类中所有的Servlet对象(request、response、session等)仍然可用。

Struts2 简介、下载安装及配置插图

Struts2的体系结构:必须知道的
  • FilterDispatcher是早期Struts2的核心过滤器,而在Struts2.1.3之后都使用StrutsPrepareAndExecuteFilter作为核心过滤器。
  • 我们需要通过配置文件web.xml装载Struts2框架。
  • 基于Struts2框架的Web程序,需由程序员实现业务逻辑控制器Action、配置文件struts.xml以及视图组件。
  • Struts2框架的配置文件struts.xml,可以配置Action、拦截器Interceptor、结果视图Result。
  • 配置Action的类名时,需要使用Action的完全限定名。
  • Action是线程安全的。

四、下载安装

下载:http://struts.apache.org/download.cgi

目录结构:

  • apps 应用示例
  • docs 相关开发文档
  • lib 类库
  • src全部源码

搭建Struts2 环境步骤

  • 向工程添加Struts2的核心库
  • 在web.xml中配置Struts2的核心过滤器
  • 在src目录下添加Struts2的核心配置文件struts.xml

核心类库:

struts2-core-2.x.x.jar :Struts 2框架的核心类库

xwork-2.x.x.jar :XWork类库,Struts 2在其上构建

ognl-2.6.x.jar :对象图导航语言(Object Graph Navigation Language),Struts 2框架使用的一种表达式语言

freemarker-2.3.x.jar :Struts 2的UI标签的模板使用FreeMarker编写

commons-logging-1.1.x.jar :ASF出品的日志包,Struts 2框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录。

Commons-fileupload :文件上传

 

五、Struts2配置

 

Struts2的核心控制器是过滤器,因此我们需要拦截所有网页的请求URL。

web.xml配置

 <filter>
  	<filter-name>struts2</filter-name>
  	<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
Sruts2.xml 配置

struts2配置文件有固定的结构,获取办法,可从stuts2 根目录搜索struts2.xml。

本人用的是eclipse开发环境不用配置struts.properties。

<package>

  • name
  • extends=”struts-default”

<action>

  • name 路径访问名
  • class 最好使用全限定类目
  • method 方法名

<result>

  • name 对应中返回的字符串
  • type
    • 同包跳转
      • 到JSP dispathcer
      • 到action chain
    • 不同包跳转
      • <param name=”namespace”> </param>
      • <param name=”action”> </param>

全局跳转 <global-results>

命名空间配置

Struts2 接受到一个请求是,它会将请求的URL分为namespace 和action两部分。Struts2会从stuts2.xml中找到namespace/action命名。如果没有找到会在默认名称空间中查找相应action名。

 

 

文章已创建 80

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部