Jsp framework
-------struts
概述:
1、Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。
2、采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。
3、下载地址:http://jakarta.apache.org/struts
背景:
1、Struts最早是作为Apache Jakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高Java Server Pages、Servlet、标签库以及面向对象的技术水准。
2、Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。它的目的是为了减少在运用MVC设计模型来开发Web应用的时间。
功能:
1. 包含一个controller servlet,能将用户的请求发送到相应的Action对象。
2. JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。
3. 提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。
了解更多:
Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。
除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。
关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
如何学习struts:
Struts的重要是Struts_config.xml中的八大元素,你可以把重点放在这里。
其次Struts中的标签重点掌握:html标签,bean标签,和logic标签即可,这样完全就可以用Struts开发出web应用程序了。
Struts中的html标签,和普通的html标签类似,一般有web基础的人掌握起来都非常快。为什么用这个标签的原因是由于Struts的提交表单action方式和这个标签里的<html:action ..>是捆绑在一起的,必用。
bean标签是为了表单中的form准备的,modu2中的VO在Struts中可用form来配合表单提交,信息储存,信息显示。
logic标签是用于遍历从action中返回的list集合(用起来很方便)。不用在页面写那些<%%>之类的Java语句。
总的来说,标签大多就是为了简化页面代码,甚至页面零代码,这样看起来整洁,便于维护和美工。
三种框架之中,建议选写Struts,后Hibernate,最后再摸Spring.
另孙卫琴的《精通Struts:基于MVC的Java Web设计与开发》 很不错。推荐~
知识链接—mvc:
Web applications based on JavaServer Pages sometimes commingle database code, page design code, and control flow code. In practice, we find that unless these concerns are separated, larger applications become difficult to maintain.
One way to separate concerns in a software application is to use a Model-View-Controller (MVC) architecture. The Model represents the business or database code, the View represents the page design code, and the Controller represents the navigational code.
The term "MVC" originated with the SmallTalk Model-View-Controller framework. In Smalltalk MVC, the View updates itself from the Model, via the "Observer" pattern. The original MVC pattern is like a closed loop: The View talks to the Controller, which talks to the Model, which talks to the View.
But, a direct link between the Model and the View is not practical for web applications, and we modify the classic MVC arrangement so that it would look less like a loop and more like a horseshoe with the controller in the middle.
In the MVC/Model 2 design pattern, application flow is mediated by a central Controller. The Controller delegates requests - in our case, HTTP requests - to an appropriate handler. The handlers are tied to a Model, and each handler acts as an adapter between the request and the Model. The Model represents, or encapsulates, an application's business logic or state. Control is usually then forwarded back through the Controller to the appropriate View. The forwarding can be determined by consulting a set of mappings, usually loaded from a database or configuration file. This provides a loose coupling between the View and Model, which can make applications significantly easier to create and maintain.
While MVC is a convenient paradigm, many workers find that applcations may utilize more than three layers. For example, within the Model, there is often distinct business logic and data access layers.
The framework provides the control layer for a Model 2 web applications. Developers can use this layer with other standard technologies to build the business, data access, and presentation layers.