再读Struts2之一:总括
框架通常被分为两种,基于Action的框架和基于组件的框架
Struts2就是一个典型的基于Action的框架。
Servlet是控制器,它把所请求的URL与被称为Action的工作单元映射到一起。Action的工作就是通过访问HTTP会话、HTTP请求和表单参数等调用业务逻辑,最后把响应映射到以POJO(plain old java object)形式存在的模型上,来完成特定的功能。最后,Action返回的结果会通过配置文件映射到JSP页面上,JSP会渲染视图并显示给用户。
Tapestry和JSF是典型的基于组件的框架。
这种类型的框架用我的理解来说明一下:当一个页面中出现了多个表单的时候,也就是说一个页面所对应着的不再是一个servlet的时候,就需要有多个方法对应着页面上的动作。所以这个时候就需要组件来帮忙了。组件有很多种,包括输入框,按钮,表单等。这里的每一个组件都对应着Java端的类,这些组件上的动作都对应着java端的类的方法。所以可以在一个页面上面有多个表单,有多个同类型的组件,但是组件已经被id或者其他的什么标志给进行了区分,所以后台完全有能力知道紧接着哪一个方法该运行了。
至于他们的优劣势,不好评论。
Ajax与XMLHttpRequest对象
Struts2和MVC
注:目前的struts2的版本为2.3.14。