网易云课堂-《struts2》

课时1

  • Struts2: WebWork2基础上发展而来,MVC框架,无侵入式设计。

       提供了拦截器,类型转换器,支持多种表现层技术(JSP, freeMarker, Velocity)

       输入校验可以指定方法进行校验,提供全局范围,包范围和Action范围。

侵入和非侵入式设计

侵入式设计有时候表现为客户端需要继承框架中的类,而非侵入式设计则表现为客户端实现框架提供的接口。

侵入式设计带来的最大缺陷是,当你决定重构你的代码时,发现之前写过的代码只能扔掉。而非侵入式设计则不然,之前写过的代码仍有价值。

什么是拦截器 

拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。

在Webwork的中文文档的解释为——拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。

谈到拦截器,还有一个词大家应该知道——拦截器链(Interceptor Chain,在Struts 2中称为拦截器栈Interceptor Stack)。拦截器链就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时,拦截器链中的拦截器就会按其之前定义的顺序被调用。

  • 搭建开发环境: 1.jar   至少需要:  struts2-core,xwork,ognl,freemarker,commons-logging,commons-fileupload

2.编写配置文件

3.在web.xml中加入Struts MVC 框架启动配置

          

课时2

     <package name="struts2" namespace="/test" extends="struts-default">
<action name="helloworld" class="tutorial.HelloWorld"
method="execute">
<result name="success">/WEB-INF/page/hello.jsp </result>
</action>
</package>
  1. package:把一组业务相关的Action放在同一个包下
  2. name:名称唯一,供其他包继承时使用
  3. namespace:作为访问该包下Action路径的一部分,减少重复代码
  4. struts-default:Struts2很多核心功能都是拦截器来实现,struts-default定义了这些拦截器和result类型

        ${}EL表达式,${message}一定要有getMessage方法

    EL表达式

最新文章

  1. 人工智能 - AI
  2. XUtils 3 使用
  3. wxPython学习
  4. R实战之热点图(HeatMap)
  5. dp --- CSU 1547: Rectangle
  6. Microsoft Dynamics CRM 2013 安装程序及SDK 下载地址
  7. Hadoop Mac OSX 安装笔记
  8. MyEclipse编码设置
  9. 函数flst_get_last
  10. 写一个最简单的 Server
  11. java进程
  12. Disqus – About Disqus
  13. C++/C# 开发高级案例资料一次送!关注加群领取哦!
  14. Cucumber启动类配置
  15. Leetcode 26. Remove Duplicates from Sorted Array (easy)
  16. STL 容器区别:vector、list、deque、set、map的底层实现
  17. 洛谷 P2680 运输计划 解题报告
  18. selenium验证码和错误截图
  19. python实现并发爬虫
  20. web前端----jQuery操作标签

热门文章

  1. Java中正则表达式的使用
  2. C# 线程(三):如何操纵一个线程
  3. VS生成事件
  4. Android下利用SQLite数据库实现增删改查
  5. JS 实现新浪微博, QQZone 等的分享
  6. JAVA中在Myeclipse里把表导入成相应的poco实体类
  7. SAP屠夫---折旧在13-16调整期间的烦恼(转)
  8. Maven clean时候出现异常
  9. Python 调用自定义包
  10. JSON字符串如何转化成对象?