近期转入开发一个项目中,项目使用了零配置,突发奇想也试着写一个类似的程序出来,大概思路:
1. 用过滤器过滤请求路径,转入自定义filter;
2. 分析请求的action或带方法名的url,如: /index/login!valid.action。
3. filter初始化的时候,将用户定义类action处理类加载起来,键值对的形式([{login: com.test.loginAction},{index: com.test.indexAction}]);
4. 根据请求key,反射实例化处理action对象,调用其对应方法;
使用需知(先导入struts3.jar):
1、必须在web.xml中配置过滤器com.struts3.core.interfaceArea.impl.Struts3FilterDispatcher类
2、action类名称使用驼峰命名法命名并且以Action结尾,例LoginAction,说明:请勿使用简单的Action作为名称,并且必须继承com.struts3.core.interfaceArea.impl.Struts3Action类;
3、action需重写父类initPageUrl方法,并且调用addURL方法,注册页面跳转,如:addURL(SUCCESS, "/index.jsp"),execute方法为默认处理方法,可不重写;
OK,发布到tomcate,访问main处理方法:http://192.168.167.207:8080/TestStruts3/test!main.action
访问java处理方法:
http://192.168.167.207:8080/TestStruts3/test!java.action
总结: 仅为练习之用,功能只支持页面跳转篇,没日志,国际化等内容,多多指教,可以接受
附件为例子,作业完成。
转载于:https://blog.51cto.com/guangge/1194075