熬之滴水穿石:JSP--HTML中的JAVA代码(9)

来源:互联网 发布:属于淘宝禁售商品刀 编辑:程序博客网 时间:2024/04/28 04:30
                                          42--Struts
在Web的MVC模式下,往往我们实现一个系统业务时往往会有多个用例。这些用例着附在这些这个模式上,你可能会编写出多个的控制器、模型、视图。这样的话,就会出现诸多的重复代码。在Servlet中既要 处理请求,处理模型,分派,转发等多个任务,这样的Servlet各自为战,缺少了功能的内聚性。之前所说的方式中就有诸多的问题:首先表单验证,转换,处理都是各自进行的需要考虑集中处理机制,另外控制器读取模型时都采取硬编码的方式,所以这部分的固化导致调用模型这块相当的生硬。Struts正是为解决这一问题而来的。它给予MVC模式极大的支持。
Structs的出现可以让接受请求时,控制器只需要在声明的XML文件中找到正确的验证组件即可。控制器可以调用这个表单进行验证,如果验证成功或失败都会相应返回哪个视图。有了声明的XML文件,控制器就可以查到请求动作的组建,然后由它调用。有了声明的XML文件,控制器也可以找到相应的视图。恩!这便是Struts的强大之处,当然这样的强大就是建立在配置文件的基础上的,也许你配置文件的配置内容会超过你的编码内容。在Struts中关键的还是Servlet,在Struts中叫Action Servlet.这个Servlet是Struxts自带的。还有一个表单bean,这个便是处理各种HTML表单的。这些Bean其实就是java bean了。Aciton Servlet调用表单bean上的设置方法,把数据转换和逻辑处理都在这里面处理。Action对象,相当于一个动作,有回调的方法叫execute。在这个方法中你可以调用模型。最为重要的就是这个配置文件了Struts-config.xml文件了,这也是一个映射文件:请求的URL到action,action到bean,及action到视图。structs的出现让控制器的事情大大的减少。Structs还有一个别名叫作前端控制器。前端控制器可以理解就是一个组件,所有的请求都会通过一个控制器,然后控制器再派发到相应的处理环节。
Structs的声明式控制,允许请求在URL,验证对象,调用模型对象及视图之间建立声明的映射方式。action.execute()方法有一个指示型的ActionForward,这个可以让ActionServlet知道分派给哪个视图。Struts框架提供了自己的定制标记,验证是Structs的一个特色,这个验证框架可以无须在代码中编写验证方法,验证表单的规则在xml中配置。对于异常处理也可以采取声明的方式进行。Struts还提供了plugIn接口,init()方法和destroy()方法可以创建自己的插件来完善应用的框架。
好了,JSP相关的内容就到这里结束了。下个单元,让我们进入SPRING!
                                                         (未完待续........)
原创粉丝点击