MyStruts2框架的实现

0、程序的目录结构

     

1、使用到的知识

  • XML的解析(Dom4j)
  • Servlet技术
  • Java内省(BeanUtils)(参数拦截器)
  • ThreadLocal线程本地化类
  • 递归调用

2、需要的Jar文件

      

3、框架整体的设计思路

      

4、struts.xml配置文件的结构

<?xml version="1.0" encoding="UTF-8"?>
<struts>
	<!--拦截器的信息 -->
	<interceptor class="com.mystruts2.interceptor.ParamInterceptor" />

	<!--配置一些常量信息 -->
	<constant name="struts.action.extension" value="action" />

	<!-- Action的配置 -->
	<action name="helloAction" method="execute"
		class="com.mystruts2.action.HelloAction">
		<result name="success">/index.jsp</result>
	</action>

</struts>

5、创建解析struts.xml的ConfigurationManager

      在该类中,需要提供三个方法分别获得struts.xml的配置信息。

  1. 获得Constant配置
  2. 获得Interceptor的配置信息
  3. 获得Action配置信息

     

6、实现struts2里面的数据中心ActionContext

      数据中心ActionContext,应该有下面的数据域

  • 值栈
  • Request
  • Response
  • Session
  • ServletContext
  • Param

      

7、ActionInvocation的创建

     ActionInvocation负责完成拦截器链的调用以及Action的方法的调用,以及数据中心的初始化。具体如下,

  • 准备数据中心ActionContext
  • 准备拦截器链Interceptor
  • 准备Action实例
  • invoke()方法

      

8、StrutsPrepareAndExcuteFilter的创建

      拦截浏览器的请求,根据浏览器的请求和struts.xml的配置,找到相应的Action。执行Action的方法,完成页面的跳转。

9、代码下载


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值