锁定老帖子 主题:一个简单web的构想,即将又一个山寨
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-22
最后修改:2009-05-22
大致思路: 根据url映射为各个Action类的method,进行控制器的调用,这样的好处是省略了view的配置。 框架的使用 1.实现一个具体的Action(见下面的Class Blog),并对其进行标记(只对Action类标记一个值)。 2.将标记的Action注入到Guice容器,就是要实现自己的Guice Module。 3.在web启动后,进行Guice注入,在ServeletContextListener中实现。 4.好像没有需要做的了。。。。除了写jsp\javascript\ 实现: 1.Action类大概的设计 Action类都implements Action 接口。Action接口是一个空接口,紧紧用于标识。 每个Action类都标记一个名称,Action的标记与method一起用于与url匹配. 每个Action可以实现多个方法. @ActionAnnotation("blogs") class Blog implements Action{ .... public View new(HttpServeletRequest req,HttpServeletResponse resp){ } //Action中的方法,模仿spring. public View list(HttpServeletRequest req,HttpServeletResponse resp){ Map model=new HashMap(); model.put("list",service.findAll()); return new JstlView("/blogList.jsp",model); } .... } 2.url路径转换器 //将url路径转换成MethodInvocation. public class PathTranslator { public static MethodInvocation translate(String requestPath); } public class MethodInvocation{ private Object object; //invocate action. private Method method; //invocate method of the action public Object inovate(Object... params); } 3.建立一个MainServelet,将PathTranslator转化来的MethodInvocation进行调用.调用结果将返回一个View的对象. 4.View 表示框架视图.可以有JstlView,JsonView,RedirectView等等,不过暂时准备实现这三个。 流程: 1.Client发出http://jander.iteye.com/admin/blogs/list请求; 2.该请求由MainServelet接收,发给PathTranslator翻译; 3.翻译结果出来是一个MethodInvocation对象,隐含我们要调用的Action Object和 method Object; 4.调用MethodInocation.innvocate方法,这将导致调用Action.method(); 5.action.method()返回一个View。 就这样,应该没有问题,争取这两天做出来。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-05-24
真的够简单,,但也完成了,参数接受,-》(处理) -》返回
|
|
返回顶楼 | |
发表时间:2009-05-24
action根本不理页面向导.
直接html连接html 到html上了再用action 返回 json数据 把数据填到必要的区域中. 数据提交除外 |
|
返回顶楼 | |
发表时间:2009-05-24
也听小胖说过完美mvc框架
|
|
返回顶楼 | |
发表时间:2009-05-24
投个新手
你这个简单是简单,优秀web框架的demo也是这么简单来的 倒不如先看看其他web框架,比如springmvc |
|
返回顶楼 | |
发表时间:2009-05-25
mccxj 写道 投个新手
你这个简单是简单,优秀web框架的demo也是这么简单来的 倒不如先看看其他web框架,比如springmvc 你知道我没有看?我以前就是用springmvc的。 我只是在使用过程中,感觉springmvc还是麻烦,才做这个项目的。 |
|
返回顶楼 | |
发表时间:2009-05-25
对大家说一句:
希望大家对设计思路提意见,而不是冷嘲热讽和无声的新手票。 |
|
返回顶楼 | |
发表时间:2009-05-25
jander 写道 对大家说一句:
希望大家对设计思路提意见,而不是冷嘲热讽和无声的新手票。 springmvc2.5的annotation,coc配置 等多就用xml配点bean,还麻烦么? 我是怎么看你的思路都和springmvc不是大同小异的么? 另外,2天弄出来的东西,功能真的够的上项目需求么? ps:无冷嘲热讽之意思 |
|
返回顶楼 | |
发表时间:2009-05-25
mccxj 写道 jander 写道 对大家说一句:
希望大家对设计思路提意见,而不是冷嘲热讽和无声的新手票。 springmvc2.5的annotation,coc配置 等多就用xml配点bean,还麻烦么? 我是怎么看你的思路都和springmvc不是大同小异的么? 另外,2天弄出来的东西,功能真的够的上项目需求么? ps:无冷嘲热讽之意思 我的思路是与spring mvc差不多,毕竟大部分时间就是用它。但也有不同点: 1.我使用guice作为ioc容器。spring和guice谁好,在于个人选择,我也不好说什么,个人不喜欢spring那种以字符串表示对象的方式。 2.因为使用url映射Action的method,比spring少了@RequestMapping这个标签。一个Controller一个这样的标签,项目一大,数量也是惊人不是,麻烦。 另外,我这个框架是不成熟的,我也没有说它是成熟的,只是想把自己的想法表达出来,作为交流的目的,我认为2天时间够了。 |
|
返回顶楼 | |
发表时间:2009-05-25
@RequestMapping可以对每个方法注释一个,一个controller就可以映射多个路径了。
使用org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping 有coc的功能也不错哦。 我的意见,倒不如在springmvc上做扩展,修改,更吻合自己的项目需求更好。。 总觉得mvc这条路,思路都差不多了。呵呵 |
|
返回顶楼 | |