一、Struts2简介:

1.什么是Struts2?

著名的SSH三大框架分别为:表现层(Struts)、业务逻辑层(Spring),持久化层(Hibernate).

Struts2是在WebWork2基础上发展而来的MVC框架,尽管Struts2与Struts在名字上很像,但代码编写风格上几乎是完全不一样的。

Struts2比Struts更优秀,修复了Struts的许多Bug和缺点。

2.Struct2框架的优点?

1.Struts2是非侵入式设计

Struts2的Action类为POJO类,即不依赖于Servlet API和Struts API。

2.Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。

3.Struts2提供了类型转换器,可以将特殊的请求参数转换成需要的类型。

4.Struts2支持多种表现层技术,如JSP、freeMarker、vectocity等。

5.Struts2的输入验证可以对指定的方法进行验证。

6.提供了全局范围、包范围和Action范围的国际化资源文件管理实现。

二、搭建Struts2开发环境

1.新建一个Web Project工程。

2.导入所需要用到的Structs2的jar包,这里暂时先只导入Structs核心jar包。

Structs2所有jar包下载地址http://struts.apache.org/download.cgi#struts23163

核心jar包:

xwork-core-2.1.6.jar: Structs2框架的核心类库
struts2-core-2.1.8.1.jar: XWork类库,Structs2在其上构建
ognl-2.7.3.jar:对象图导航语言(Object Graph Navigation Language),Structs2框架通过其读写对象属性。
freemarker-2.3.15.jar:   Structs2的UI标签的模板使用FreeMarker编写
commons-logging-1.0.4.jar: ASF出品的日志包,Structs2框架使用这个日志包来支持Log4J和JDK1.4+的日志记录。
commons-fileupload-1.2.1.jar: 文件上传组件,2.1.6版本后必须加入此文件。

方法一:

方法二:


3.复制Structs2.xml文件到项目的src目录下。

Structs2.xml文件配置模板如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> </struts>

4.在Struct中,Structs2框架式通过Servlet启动的。而在Structs2中,Structs2框架式通过Filter启动的。

Structs2在web.xml中的启动配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter> <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

注意:自动Structs2.1.3以后,下面的FilterDispatcher已经标注为过时

<filter-class>org.apache.structs2.dispatcher.FilterDispatcher</fileter-class>

5.测试Structs2是否搭建成功,发布程序项目,开启tomcat服务。

1.Struts2简介和Struts2开发环境搭建的更多相关文章

  1. Struts2开发环境搭建,及一个简单登录功能实例

    首先是搭建Struts2环境. 第一步 下载Struts2去Struts官网 http://struts.apache.org/ 下载Struts2组件.截至目前,struts2最新版本为2.3.1. ...

  2. Struts2+Spring3+Mybatis3开发环境搭建

    本文主要介绍Struts2+Spring3+Mybatis3开发环境搭建 Struts和Spring不过多介绍. MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBa ...

  3. 工作流--JBPM简介及开发环境搭建

    一. 工作流简介 项目中不断的接触工作流,点点滴滴积累了一些,下面把一些学习到的东西整理记录下来. 工作流一般的适用场景:公文流转.行政审批.订单处理.产品研发.制造过程等.用专业一点的语言来描述工作 ...

  4. Django之Django简介,开发环境搭建,项目应用创建

    软件及Django框架简介 软件框架 一个软件框架是由其中各个软件模块组成的: 每一个模块都有特定的功能: 模块与模块之间通过相互配合来完成软件的开发. 软件框架是针对某一类软件设计问题而产生的. M ...

  5. Python简介及开发环境搭建

    Python简介 Python是一门动态解释性的强类型定义的计算机程序设计语言,是一种完全面向对象的语言,由荷兰人"龟叔"-Guido van Rossum于1989年开发,于19 ...

  6. spring mvc4.1.6 + spring4.1.6 + hibernate4.3.11 + mysql5.5.25 开发环境搭建及相关说明

    一.准备工作 开始之前,先参考上一篇: struts2.3.24 + spring4.1.6 + hibernate4.3.11 + mysql5.5.25 开发环境搭建及相关说明 struts2.3 ...

  7. Sublime Text 3下C/C++开发环境搭建

    Sublime Text 3下C/C++开发环境搭建 之前在Linux Mint 17一周使用体验中简单介绍过Sublime Text. 1.Sublime Text 3安装 Ubuntu.Linux ...

  8. python学习之python开发环境搭建

    Python简介 Python是一种面向对象.解释型计算机程序设计语言.Python语法简洁而清晰,具有丰富和强大的类库等等众多的特性,这是来自百度百科的介绍,在百度百科还能看到它的更详细的介绍信息, ...

  9. PHP入门教程-开发环境搭建

    1.PHP简介: PHP是能让你生成动态网页的工具之一.PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP. 2.学习需要基础: a.HTML b.Ja ...

  10. [ZigBee] 2、 ZigBee开发环境搭建

    本节介绍ZigBee基本开发环境搭建,附件中有本节介绍的软件下载地址~ 链接:http://pan.baidu.com/s/1bLdqxg 1.IAR Embedded Workbench 的安装 S ...

随机推荐

  1. 20145337 GDB调试汇编堆栈过程分析

    20145337 GDB调试汇编堆栈过程分析 测试代码 #include<stdio.h> short addend1 = 1; static int addend2 = 2; const ...

  2. SQL Server中CROSS APPLY和OUTER APPLY的应用详解

    SQL Server数据库操作中,在2005以上的版本新增加了一个APPLY表运算符的功能.新增的APPLY表运算符把右表表达式应用到左表表达式中的每一行.它不像JOIN那样先计算那个表表达式都可以, ...

  3. 转:隐马尔可夫模型(HMM)攻略

    隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价 ...

  4. 剑指Offer面试题:16.合并两个排序的链表

    PS:这也是一道出镜率极高的面试题,我相信很多童鞋都会很眼熟,就像于千万人之中遇见不期而遇的人,没有别的话可说,唯有轻轻地问一声:“哦,原来你也在这里? ” 一.题目:合并两个排序的链表 题目:输入两 ...

  5. 用FlexGrid做开发,轻松处理百万级表格数据

    表格数据处理是我们项目开发中经常会遇到的设计需求之一,所需处理的数据量也较大,通常是万级.甚至百万级.此时,完全依赖平台自带的表格工具,往往无法加载如此大的数据量,或者加载得很慢影响程序执行. 那么, ...

  6. IOS关于LKDBHelper实体对象映射插件运用

    一 插件简介: 其github地址:https://github.com/li6185377/LKDBHelper-SQLite-ORM 全面支持 NSArray,NSDictionary, Mode ...

  7. ASP.NET Core 1.1 静态文件、路由、自定义中间件、身份验证简介

    概述 之前写过一篇关于<ASP.NET Core 1.0 静态文件.路由.自定义中间件.身份验证简介>的文章,主要介绍了ASP.NET Core中StaticFile.Middleware ...

  8. OleDb Source component 用法

    OleDb Source component 主要是从DB中获取数据,传递给下游组件,OleDb Source component的强大之处在于 query data 的mode有四种,如图 Tabl ...

  9. C#设计模式系列:外观模式(Facade)

    外观模式主要解决的问题是:当我们有多个类要处理时,往往要一个类一个类地区调用,没有复用性和扩展性.外观模式通过定义一个界面,把处理子类的过程封装成操作,主要就把用户从复杂的调用过程中解放出来. 1.外 ...

  10. PS批处理的使用

    一. 前言 做开发的时候,最多的时候就是图片的使用了.有时候图片的处理都按照同样的步骤,比如说统一将图片的大小调整为固定大小,或者统一在所有的图片的的某个位置上加入文字或者小图片等等,这时候PS的批处 ...