Struts2学习笔记一 简介及入门程序
Struts2是一个基于MVC设计模式的web应用框架,它本质上相当于一个Sevlet。是Struts1的下一代产品,是在structs1和WebWork技术的基础上进行合并后的全新框架(WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的J2EE Web框架,他也是一个MVC框架)。
虽然Struts的名字与Struts1相似,但其设计思想却有很大的不同。实质上,Struts2是以WebWork为核心的,它采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器与ServletAPI完全脱离开,所以Structs可以理解为WebWork的更新产品。
Struts拥有优良的设计和功能,其优势具体如下:
- 项目开源,使用及扩展方便,天生优势。
- 提供Exception处理机制。
- Result方式的页面导航,通过Result标签很方便的实现重定向和页面跳转。
- 通过简单、集中的配置来调度业务类,使得配置和修改都非常容易。
- 提供简单、统一的表达式语言来访问所有可访问的数据。
- 提供标准、强大的验证框架和国际化框架。
- 提供强大的、可以有效减少页面代码的标签。
- 提供良好的ajax支持。
- 拥有简单的插件,只需放入相应的jar包,任何人都可以扩展Struts2框架,比如自定义拦截器、自定义结果类型、自定义标签等,为Structs2定制需要的功能,不需要什么特殊配置,并且可以发布给其他人使用。
- 拥有智能的默认设置,不需要另外进行繁琐的设置。使得默认设置就可以完成大多数项目程序开发所需要的功能。
常见的Web层框架
- Struts2
- WebWork
- SpringMVC
web层框架都会有一个特点,就是基于前端控制器模式实现的。传统方式的开发,有一次请求就会对应一个Servlet,这样会导致出现很多Servlet。而Struts2将所有的请求都先经过一个前端控制器,在前端控制器中实现框架的部分功能,剩下具体操作要提交到具体的Action中。前端控制器本质就是过滤器,因为需要所有的请求都可以被过滤器拦截,然后在过滤器中实现部分的功能。
Struts2快速入门
1、下载Structs2的开发包,官网:http://struts.apache.org/
2、解压Struts2的开发包:

- apps:该文件夹存用于存放官网提供的Structs2示例程序。war文件可通过zip方式进行解压。
- docs:该文件夹用于存放官网提供的Struts2文档,包括Struts2的快速入门、Struts2的文档,以及API文档等内容。
- lib:该文件夹用于存放Struts2的核心类库,以及Struts2的第三方插件类库。
- src:该文件夹用于存放该版本Struts2框架对应的源代码。
3、使用IDEA,创建一个Struts项目。并导包。我是在之前Hibernate项目的基础上创建的,所以我建的是Module。

输入模块名称,点击完成。

进入刚才解压目录下的apps(示例程序),找到blank,并解压,如下所示:

解压后进入web_Inf下,选择lib目录,复制到我们项目的WEB_INF下


然后,做如下操作,我们才能在项目中使用包。

然后点击OK——>Apply——>OK即可
4、在src下写一个HelloAction类,编写如下代码:

5、完成Action的配置,并创建一个hello.jsp。

6、在web.xml中配置核心过滤器

7、测试。部署到tomcat。






Apply——>OK,Apply——>OK 即可。
由于我有多个项目,会报错:

解决办法是把其他项目的发布路径修改成不一样的就行:

运行结果如下:

Struts2学习笔记一 简介及入门程序的更多相关文章
- Linux内核学习笔记-1.简介和入门
原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序
http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...
- Oracle RAC学习笔记:基本概念及入门
Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章] oracle 10g real applica ...
- Struts2学习笔记①
Struts2 学习笔记① 所有的程序学习都从Hello World开始,今天先跟着书做一个HW的示例. Struts2是一套MVC框架,使用起来非常方便,接触到现在觉得最麻烦的地方是配置文件.我的一 ...
- Spring实战第五章学习笔记————构建Spring Web应用程序
Spring实战第五章学习笔记----构建Spring Web应用程序 Spring MVC基于模型-视图-控制器(Model-View-Controller)模式实现,它能够构建像Spring框架那 ...
- Struts2 学习笔记(概述)
Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- C#.NET学习笔记2---C#.第一个C#程序
C#.NET学习笔记2---C#.第一个C#程序 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com 6.第一个C#程序: ...
随机推荐
- Java引用变量的类型
Java引用变量的类型 1.编译时类型:由声明该变量时使用的类型决定 2.运行时类型:由实际赋给该变量的对象决定 如果编译时类型和运行时类型不一致,就可能出现多态性
- tcp_wrapper
介绍 对基于tcp协议开发并提供服务的应用程序,所提供的一层访问控制工具 基于库调用实现其功能 * 库名:libwrap 判断服务是否能够由tcp_wrapper进行访问控制 1. 动态编译 ldd命 ...
- BUAA软工第0次作业
第一部分:结缘计算机 1.你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?(必答) 我在大学之前甚至连一个萌新都算不上,根本没有任何一点计算机专业的基础. 因此在进入大学之前,计算机对于我 ...
- ajax页面跳转(后台返回的是一个url地址,或者自己传进去的是url地址)
function modifyMerchantInfo(merchant_code) { $.ajax({ url: '/intra/crm/merchant/OrderMgr.htm?method= ...
- Linux之权限管理
一.文件基本权限 1) 基本权限的修改 第一位"-"为文件类型(-代表文件:d代表目录:l代表软链接文件即快捷方式),后面每3位一组. -rw-r--r-- rw- u所有者 ...
- Java中使用UDP实现简单的聊天功能
通过DatagramSocket类来实现.此类表示用来发送和接收数据报包的套接字. 发送端代码如下: import java.io.IOException; import java.net.*; im ...
- 登录对话框(窗体程序)--JAVA基础
1.用到的JFrame(框架)类对象(这里设JFrame类对象是frame)的方法有: frame.add(); 添加组件到frame框架中 frame.setVisible(); 设置框架是否可见 ...
- 【BZOJ1855】股票交易(动态规划,单调队列)
[BZOJ1855]股票交易(动态规划,单调队列) 题面 BZOJ 题解 很显然,状态之和天数以及当天剩余的股票数有关 设\(f[i][j]\)表示第\(i\)天进行了交易,剩余股票数为\(j\)的最 ...
- 打造MacOS版“XShell”
1.背景 XShell作为一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议.作为server端开发,几乎是必备工具了. 很多刚 ...
- Java生成条码二维码
一.概述 可用barcode4j或zxing等第三方库,推荐zxing. barcode4j资料链接:http://barcode4j.sourceforge.net/ zxing资料链接:https ...