[size=x-large][align=center]Java面试之struts[/align][/size]
[size=large]Struts之我见:[/size]
在我看来,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时如何进行???)
[size=large]struts好处:[/size]
Struts把Servlet、JSP、以及一些自定义标签和信息资源整合到一起实现了全套的MVC模式,这样开发人员利用其进行开发时不需要在编码实现全套MVC模式。节省了时间。
[size=large]Struts工作流程:[/size]
在web应用中采用struts框架,web应用启动时会根据web.xml中的配置加载并初始化ActionServlet,ActionServlet从struts配置文件中读取信息。进而根据配置文件中创建和配置各种struts组件。
当有用户请求时:
S1: ActionServlet接受请求时,首先检索是否有用户亲情的actionmapping实例。如果不存在,返回提示请求无效。如果存在,则进行下一步。
S2: 创建ActionForm实例,并将用户提交的表单数据保存到ActionForm对象中。
S3: 根据配置文件中validate属性值,判断是否进行表单验证;验证失败返回失败。验证通过或者是不需要验证的话将进行下一步。
S4: 提交Action,并执行execute方法。返回一个ActionMapping。并执行ActionMapping。最后返回Response。
[size=large]Struts之我见:[/size]
在我看来,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时如何进行???)
[size=large]struts好处:[/size]
Struts把Servlet、JSP、以及一些自定义标签和信息资源整合到一起实现了全套的MVC模式,这样开发人员利用其进行开发时不需要在编码实现全套MVC模式。节省了时间。
[size=large]Struts工作流程:[/size]
在web应用中采用struts框架,web应用启动时会根据web.xml中的配置加载并初始化ActionServlet,ActionServlet从struts配置文件中读取信息。进而根据配置文件中创建和配置各种struts组件。
当有用户请求时:
S1: ActionServlet接受请求时,首先检索是否有用户亲情的actionmapping实例。如果不存在,返回提示请求无效。如果存在,则进行下一步。
S2: 创建ActionForm实例,并将用户提交的表单数据保存到ActionForm对象中。
S3: 根据配置文件中validate属性值,判断是否进行表单验证;验证失败返回失败。验证通过或者是不需要验证的话将进行下一步。
S4: 提交Action,并执行execute方法。返回一个ActionMapping。并执行ActionMapping。最后返回Response。