第三天:struts简单模型案例:

一、编写步骤:

1、新建类ActionMapping 用于保存配置文件(struts.xml) 中的action节点的信息  ----相当于javabean

2、新建类ResultMapping 用于保存配置文件(struts.xml) 中的result节点的信息  ----相当于javabean

3、新建类ActionMappingManager  主要用于加载配置文件 、对配置文件进行一些操作 ,主要方法getActionByName是通过action节点属性name的值进行查询

4、编写业务类 s实现加减乘除四则运算:CalBiz

5、编写action接口

6、实现action接口,实例化业务类执行操作 :AddAction、PlusAction、MulAction、DivAction

7、编写ActionManager 根据获得的全类名动态创建对象   ;主要方法是:createAction(String actionClass)

8、编写核心控制器ActionServlet  

//初始化加载方法

public void init() throws ServletException {

actionMappingManager=new ActionMappingManager();

}

String uri=request.getRequestURI();//获得请求的uri地址

String actionName=uri.substring(uri.lastIndexOf("/")+1,uri.lastIndexOf("."));//截取所需要的字符串

ActionMapping actionMapping=actionMappingManager.getActionByName(actionName);//根据截取后的地址查找action节点相关信息

String actionClass=actionMapping.getActionClass();//全类名

Action action=ActionManger.createAction(actionClass);//动态创建实例化对象

String resultName=action.execute(request, response);//返回逻辑名称

ResultMapping resultMapping=actionMapping.getResultMap().get(resultName);//根据逻辑名称查询

String resultPath=resultMapping.getResultPa

v th();//得到跳转的路劲

request.getRequestDispatcher(resultPath).forward(request, response);//成功跳转

9、编写jsp文件  :index.jsp、success.jsp

10、运行测试

 

二、执行流程:

 

1、在地址栏输入--->http://localhost:8080/Struts2_Demo2/  访问首页

2、再文框中输入值   num1和num2

3、执行跳转被Servlet拦截,Servlet初始化加载  ActionMappingManager ---->ActionMappingManager 调用无惨构造  加载xml文件

4、Servlet获取uri地址并截取相应的信息

5、根据得到的信息,调用方法活的需要加载的类的全类名称

6、执行action中的execute方法跳转的逻辑名称

7、根据逻辑名称调用方法获得跳转的路劲名称

8、执行跳转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值