
本文主要对Struts2的工作流程作源码级别的深入分析。在后面也会对Struts2的结果类型、拦截器、异常处理进行剖析。
所有的一切都要从Struts2控制器StrutsPrepareAndExecuteFilter开始(就简称SPEF吧)。
当Tomcat启动时,实例....
Read more …

打开struts-2\docs\WW\tag-reference.html可以看到Struts2提供的所有标签。其中分为“通用标签”和“UI标签”两大部分。如下图:
一、通用标签
1、数据标签
1)<s:property>:用来执行OGNL表达式,最为常....
Read more …

ValueStack是Struts2数据传输背后的机制,其基础是OGNL。想了解ValueStack的工作机制,必须先理解OGNL。
一、OGNL
1、简介
OGNL(Object Graphic Navigation Language),对象图导航语言。下面解释何为对象图导航:
....
Read more …

本文思路:
首先讲解Struts2中的结果类型和拦截器,之所以把这两个知识点放在一起,也是受struts-default包中将这两者放在一起定义所启发。
最后讲解了Struts2中的文件上传和下载,因为这个是拦截器和结果类型的典型应用。
一、结果(视图)类型详解
All re....
Read more …

一、封装请求参数
作为MVC框架,必须要负责解析HTTP请求参数,并将其封装到Model对象(JavaBean)中。
1、Struts2 提供了以下三种数据封装的方式:
1) 用动作类作为模型对象:参数注入
扩展:参数注入是由一个名字为params拦截器完成的。
....
Read more …

一、简介
Struts2是一个非常优秀的MVC框架,由传统的Struts1和WebWork两个经典框架发展而来。
Struts2是一个表现层技术(☆),它改变了三层架构中表现层的编码方式,固定了编码步骤,提高了编码效率。关于软件开发中的三层架构见《开发模型和三层架构》一文。
采用S....
Read more …
1838.png)
责任链设计模式(Chain of Responsibility)的应用有:Java Web中的过滤器链、Struts2中的拦截器栈。
先看一个问题:
给定一个字符串“被就业了:),敏感信息,<script>”,对其中的HTML标记和敏感词进行过滤或替换。
本文主要以该问题设....
Read more …
16.png)
1、在线支付的两种解决方案
1)与银行直连
这种方式网站需要针对不同的银行开发不同的支付程序,编程工作量很大,并且银行接入规范一旦发生变动,网站程序也要跟着改,维护工作量极大。
2)接入第三方支付
优点:系统只需要与第三方支付公司打交道,第三方支付公司根据用....
Read more …
19.png)
使用邮件发送的场景:
新用户注册时的激活Email
重置或找回密码时的确认Email
会员生日的祝福Email
活动、广告Email
1、基本概念
1)邮件服务器
邮件服务器可以向用户提供邮件服务,【想想Web应用服务器、数据库服务器,都是类似的】它主要负责....
Read more …

一、泛型的反射
泛型的基础知识见:http://www.flyne.org/article/248
首先必须清楚以下概念:
ArrayList<E>称为泛型类型,其中的E称为类型变量
ArrayList<Integer>称为参数化的类型(paramet....
Read more …