Struts框架最早是作为Apache Jakarta项目的组成部分问世运做,它继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。Struts框架很好的结合了Jsp,Java Servlet,Java Bean,Taglib等技术。在Struts中,承担MVC中控制器角色的是ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充Action Form(FromBean),并传给动作类(ActionBean)。动作类访问核心商业逻辑,即访问Java Bean或调用EJB。最后动作类把控制权传给后续的JSP文件,由JSP文件生成视图。所有这些控制逻辑利用Struts-config.xml文件来配置。在Struts框架中,视图主要由JSP生成页面完成,Struts提供丰富的JSP标签库,这有利于分开表现逻辑和程序逻辑。模型以一个或多个Java Bean的形式存在。在Struts中,主要存在三种Bean,分别是:Action,ActionForm,EJB或者Java Bean。
Struts框架没有具体定义模型层的实现,在实际开发中,模型层通常是和业务逻辑紧密相连的,并且要对底层数据进行操作。下面介绍一种开发策略,将Hibernate引入到Struts框架的模型层中,使用它来进行数据封装和映射,提供持久化的支持。
4.开发实践
下面结合开发实践,以在J2EE应用中非常普遍的用户登录过程为例,来说明上述体系结构是如何具体运用的。登录的流程非常清晰:用户从登录页面login.jsp输入登录信息,系统对登录信息进行验证,如果正确则成功登录,否则提示相应错误信息。
在开发过程中,使用Eclipse做为开发环境,同时加载了对Struts及Hibernate提供更好的控制和支持的第三方插件MyEclipse,Web服务器使用Tomcat,数据库选用了Mysql。
据模型OR、将关系数据作为 XML 文档存储和检索的机制XTABLES 和 SQL 的 XML 扩展SQLX。
由于开发和部署复杂的基于因特网的应用程序得到了简化,从而显著地加速了使业务过程自动化的步伐。本文的前提是:现今企业所面临的难题是信息集成。企业应用程序不仅需要和数据库交互,还需要和关系数据库并行发展的内容管理系统、数据仓库、工作流系统以及其它企业应用程序交互。在下一节中,我们用一个从实际问题中抽取的方案说明了信息集成的挑战。
JSP是服务器端脚本环境可以用来创建交互式Web应用程序。当服务器收到对JSP文件的请求时,它处理包含在用于构建发送给浏览器的Web页文件中的服务器端脚本。除服务器端脚本外,JSP文件也可以包含HTML(包括相关的客户端脚本)和COM组件调用,这些组件可执行不同任务,如连接到数据库或处理商业逻辑。