01_Struts2概述及环境搭建
- Struts2是一个用来开发MVC应用程序的框架。
- Struts2提供了web应用程序开发过程中一些常见问题的解决方案;
- 对用户输入的数据进行合法性验证
- 统一的布局
- 可扩展性
- 国际化和本地化
- 支持Ajax
- 表单的重复提交
- 文件的上传和下载
- ... ...
- 体系结构更优秀
- 类更少, 更高效:在Struts2中无需使用“ActionForm” 来封装请求参数
- 扩展更容易:Struts2通过拦截器完成了框架的大部分工作,在Struts2中插入一个拦截器相当简单
- 更容易测试:即使不使用浏览器也能对基于Struts2的应用进行测试
- Struts2严格来说并非是从Struts1升级而来,而是换了品牌标签的webwork
- 从Struts1到Struts2的升级:
Struts1使用ActionServlet作为控制器
|
Struts2使用过滤器作为控制器
|
Struts1中每一个HTML表单都对应一个ActionServlet实例
|
Struts2中HTML表单直接被映射到一个POJO
|
Struts1的验证逻辑编写在ActionServlet中
|
Struts2的验证逻辑编写在Action中
|
Struts1中Action类必须继承org.apache.struts.action.Action类
|
Struts2中任意一个POJO都可以是Action类
|
Struts1使用el和jstl
|
Struts2在页面中使用ognl来显示各种对象模型
|
- 添加jar包:将jar包添加到应用程序的webContent下的WEB-INF/lib目录下
- 在当前应用程序的web.xml文件中配置Struts2
- 添加Struts2配置文件Struts2.xml到src目录的根目录下
- 关联Struts2的智能提示:
- 复制http://struts.apache.org/dtds/struts-2.5.dtd →proferences→xml→xml catalog→粘贴到key中→File System→struts-2.5.14.1\src\core\src\main\resources\struts-2.5.dtd
- 注意:Key Type必须选择URI
- 注意:在使用struts2.3以上版本时,如果启动服务器后出现404 NOT FOUND错误则删除掉lib目录下的struts2-rest-plugin-2.5.14.1.jar
- Filter的使用:不需要直接在Filter中编写代码,而是通过struts2的配置文件实现
- 取值:只需要使用${属性名}:${requestScope.product.productId }→${productId }
- 使用步骤:
- 在index.jsp页面跳转到/WEB-INF/pages/input.jsp
- 在input.jsp页面中跳转到Product类中的save方法,save返回一个"details",并通过Struts2的反射跳转到/WEB-INF/pages/details.jsp
- struts.xml配置文件:

01_Struts2概述及环境搭建的更多相关文章
- 写给前端同学的C++入门教程(一):概述和环境搭建
说明:本人是前端er,因为最近对 UE4(一个游戏开发引擎)产生了兴趣,而这个引擎源开发游戏时需要用到 C++ ,所以就开始入坑 C++ 了.现将自己学习 C++ 的笔记整理并分享出来,以便一些想入门 ...
- MongoDB副本集学习(一):概述和环境搭建
MongoDB副本集概述 以下图片摘自MongoDB官方文档:http://docs.mongodb.org/manual/core/replication-introduction/ Primary ...
- 接口自动化:HttpClient + TestNG + Java(一) - 接口测试概述+自动化环境搭建
1.1 接口测试简介 1.1.1 什么是接口测试 开始学习接口自动化测试之前,我们先要来了解什么是接口,以及什么是接口测试. 我们都知道,测试从级别上划分可以分为 组件测试 集成测试 系统测试 验收测 ...
- Bootstrap(1) 概述与环境搭建
视频教程:http://study.163.com/course/courseMain.htm?courseId=1017002 源码和笔记:http://pan.baidu.com/s/1c06Ri ...
- Linux入门第一天——基本概述与环境搭建
一.Linux简介 1.历史 Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的. Linux是一套免费使用和自由传播的类Unix操 ...
- 001_Java概述与环境搭建
Java由来: SUN公司开发,95年推出,96年推出JDK1.0版本 09年被Oracle(甲骨文)收购 詹姆斯·高斯林被称作“Java之父” JavaSE:Java Standard Editoi ...
- 01-Hadoop概述及基础环境搭建
1 hadoop概述 1.1 为什么会有大数据处理 传统模式已经满足不了大数据的增长 1)存储问题 传统数据库:存储亿级别的数据,需要高性能的服务器:并且解决不了本质问题:只能存结构化数据 大数据存储 ...
- JavaMaven【一、概述&环境搭建】
课程概述 JavaMaven[一.概述&环境搭建] JavaMaven[二.目录结构&HelloMaven] JavaMaven[三.常用指令] JavaMaven[四.坐标& ...
- 基于WDF的PCI/PCIe接口卡Windows驱动程序(1)-WDF概述及开发环境搭建
原文出处:http://www.cnblogs.com/jacklu/p/4619110.html 本科毕业设计是这方面的工作,所以想开几篇博客来介绍使用WDF开发PCI/PCIe接口卡的驱动程序方法 ...
随机推荐
- Java-NIO(九):管道 (Pipe)
Java NIO 管道是2个线程之间的单向数据连接.Pipe有一个source通道和一个sink通道.数据会被写到sink通道,从source通道读取. 代码使用示例: @Test public vo ...
- JEECG中出现Java.sql.SQLException: Value 'xxxx' can not be represented as java.sql.Timestamp的解决办法
出现`Java.sql.SQLException: Value 'xxxx' can not be represented as java.sql.Timestamp',其中xxxx部分对应包含一个看 ...
- win10被微软流氓更新后编译基于visual Studio的web项目报[ArgumentOutOfRangeException: 指定的参数已超出有效值的范围
最近忙得算焦头烂额.就在这个时候.一个不留神.微软的自动更新打开了.这流氓就在我百忙之中强迫我休息了一个多小时. 焦急等待它更新完以后赶紧打开visual studio跑代码.运行好几次都报错.想想不 ...
- [BZOJ 2654]tree(陈立杰)
Description 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树. 题目保证有解. Input 第一行V,E,need分别表示点数,边数和需要的白色 ...
- 计蒜客NOIP模拟赛5 D1T1 机智的 AmyZhi
那年一个雨季,AmyZhi 在校门外弯身买参考书. 这时 SiriusRen 走过来,一言不合甩给她一道“自认为”很难的题: --------------- 给你一个数字 NN(NN 的范围是 11 ...
- codesforces 671D Roads in Yusland
Mayor of Yusland just won the lottery and decided to spent money on something good for town. For exa ...
- 计蒜客 NOIP模拟赛(3) D1T1火山喷发
火山喷发对所有附近的生物具有毁灭性的影响.在本题中,我们希望用数值来模拟这一过程. 在环境里有 nnn 个生物分别具有 A1,A2,⋯,An点生命值,一次火山喷发总计 M轮,每轮造成 1点伤害,等 ...
- [bzoj1488][HNOI2009]图的同构——Polya定理
题目大意 求两两互不同构的含n个点的简单图有多少种. 简单图是关联一对顶点的无向边不多于一条的不含自环的图. a图与b图被认为是同构的是指a图的顶点经过一定的重新标号以后,a图的顶点集和边集能完全与b ...
- ●洛谷P2664 树上游戏
题链: https://www.luogu.org/problemnew/show/P2664题解: 扫描线,线段树维护区间覆盖 https://www.luogu.org/blog/ZJ75211/ ...
- hdu5586 BestCoder Round #64 (div.2)
问题描述 给n个数{A}_{1},{A}_{2}....{A}_{n}A1,A2....An,你可以选择一个区间(也可以不选),区间里每个数x变成f(x),其中f(x)=(1890x ...