1.Struts2概述:
  1. Struts2是一个用来开发MVC应用程序的框架。
  2. Struts2提供了web应用程序开发过程中一些常见问题的解决方案;
    • 对用户输入的数据进行合法性验证
    • 统一的布局
    • 可扩展性
    • 国际化和本地化
    • 支持Ajax
    • 表单的重复提交
    • 文件的上传和下载
    • ... ...
2.Struts2相对于Struts1的优势:
  1. 体系结构更优秀
    • 类更少, 更高效:在Struts2中无需使用“ActionForm” 来封装请求参数
    • 扩展更容易:Struts2通过拦截器完成了框架的大部分工作,在Struts2中插入一个拦截器相当简单
  2. 更容易测试:即使不使用浏览器也能对基于Struts2的应用进行测试
3.Struts2的本质:
  1. Struts2严格来说并非是从Struts1升级而来,而是换了品牌标签的webwork
  2. 从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来显示各种对象模型
4.Struts2环境搭建:
  1. 添加jar包:将jar包添加到应用程序的webContent下的WEB-INF/lib目录下
  2. 在当前应用程序的web.xml文件中配置Struts2
  3. 添加Struts2配置文件Struts2.xml到src目录的根目录下
  4. 关联Struts2的智能提示:
  1. 注意:在使用struts2.3以上版本时,如果启动服务器后出现404 NOT FOUND错误则删除掉lib目录下的struts2-rest-plugin-2.5.14.1.jar
5.使用strut2的优点:
  1. Filter的使用:不需要直接在Filter中编写代码,而是通过struts2的配置文件实现
  2. 取值:只需要使用${属性名}:${requestScope.product.productId }→${productId }
  3. 使用步骤:
    • 在index.jsp页面跳转到/WEB-INF/pages/input.jsp
    • 在input.jsp页面中跳转到Product类中的save方法,save返回一个"details",并通过Struts2的反射跳转到/WEB-INF/pages/details.jsp
    • struts.xml配置文件:
6.详解:
  

最新文章

  1. SynchronousQueue类
  2. hihoCoder太阁最新面经算法竞赛18
  3. [JAVA] 基于TCP的起重机运行模拟器
  4. ma
  5. ZSDR100 跑原材料MRP
  6. POC
  7. 方法:查询MongoDB数据库中最新一条数据(JAVA)
  8. TCP/IP三次握手
  9. linux下为用户添加sudo命令功能
  10. Android app去应用市场评分功能
  11. HDU 1796 容斥原理 How many integers can you find
  12. centOS IP能ping通但是域名ping不通
  13. 结合Socket实现DDoS攻击
  14. Android开发学习之路--MAC下Android Studio开发环境搭建
  15. Mybatis 系列9
  16. 关于flutter插件地图的使用flutter_map
  17. Java成神路上之设计模式系列教程之一
  18. TransmittableThreadLocal 解决 线程池线程复用 无法复制 InheritableThreadLocal 的问题.
  19. 关于微信分享的一些心得之recommend.js(直接复制就行)
  20. WEBBASE篇: 第一篇, HTML知识1

热门文章

  1. MySql中的varchar长度究竟是字节还是字符
  2. python github
  3. Java中如何实现j并发更新数据库同一条数据
  4. POJ-3069 Saruman's Army---区间选点
  5. ZOJ-1655 Transport Goods---dijkstra变形&&最长路
  6. POJ-1700 Crossing River---过河问题(贪心)
  7. jquery mouseout mouseover 多次执行
  8. [机器学习Lesson4]多元线性回归
  9. [LeetCode] Minimum Absolute Difference in BST 二叉搜索树的最小绝对差
  10. [LeetCode] Longest Palindromic Subsequence 最长回文子序列