输入访问路径
http://localhost:8010/struts2/Hello.action
发送请求到过滤器(过滤器在服务器启动时创建)
(servlet在第一次访问时创建)
在过滤器中实现以下功能
第一步操作:
(1)获取到请求路径
(2)得到路径里面Hello的值
第二步操作:
(1)到src文件目录下面找到struts.xml文件,使用dom4j进行解析,得到struts.xml文件中的内容
(2)拿着Hello中的值到xml文件中找到action标签na,匹配name属性中的值是否一样
第三步操作:
(1)匹配name属性的值都是一样的
(2)找到name属性所在的action标签里面另一个属性class的值
(3)得到action的全路径
(4)使用反射来实现功能
反射的代码:
Class clazz=Class.forName(“action的全路径”);//得到名称时execute的方法
Method m=clazz。getMethod(“execute”);//方法的执行
Object obj=m.invoke();
第四步操作:
(1)得到action方法的返回值
(2)在struts.xml文件中,找到action标签里面有result标签,匹配result标签的name属性,看是否一样
(3)跳转到配置页面中