`
minijack
  • 浏览: 21569 次
  • 性别: Icon_minigender_1
  • 来自: 江苏泰州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java面试之struts

阅读更多
Java面试之struts


Struts之我见:

在我看来,struts实际上是通过jsp,servlet以及一些标签库对MVC模式各部分组件都提供了现成的实现组件。有点特别的地方我觉得就是有两点:
1. 应该就是AOP思想的应用。他的控制器部分通过ActionServlet来实现。所有的客户端的请求都统一由ACtionServlet接受,再根据接受的请求参数和Struts配置文件将请求发送至合适的Action去处理。处理完之后结构在以ActionForward对象统一返回给ActionServlet组件,ActionServlet在将其显示给视图层。这里ActionServlet相当于一个切面。
2. Struts中的提供的DTO(Data Transfer Object)视图组件Actionform,在struts中将用户提交的表单数据用ActionForm进行了封装,用于在视图层和控制层之间传递HTML表单数据。这个想法我觉得很好。
????(调查一下不用struts时如何进行???)

struts好处:

Struts把Servlet、JSP、以及一些自定义标签和信息资源整合到一起实现了全套的MVC模式,这样开发人员利用其进行开发时不需要在编码实现全套MVC模式。节省了时间。

Struts工作流程:

在web应用中采用struts框架,web应用启动时会根据web.xml中的配置加载并初始化ActionServlet,ActionServlet从struts配置文件中读取信息。进而根据配置文件中创建和配置各种struts组件。
当有用户请求时:

S1: ActionServlet接受请求时,首先检索是否有用户亲情的actionmapping实例。如果不存在,返回提示请求无效。如果存在,则进行下一步。
S2: 创建ActionForm实例,并将用户提交的表单数据保存到ActionForm对象中。
S3: 根据配置文件中validate属性值,判断是否进行表单验证;验证失败返回失败。验证通过或者是不需要验证的话将进行下一步。
S4: 提交Action,并执行execute方法。返回一个ActionMapping。并执行ActionMapping。最后返回Response。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics