文章翻译自Struts 2官方文档。
Apache Struts 2体系结构简介
|
|
Struts标签简介
Struts标签帮助你用最少的代码创建有丰富(rich)内容的web应用。通常,在web应用中大多数编码时间都花在了页面上。Struts标签通过减少代码的方式减少了开发时间。
<% User user = ... %> <form action="Profile_update.action" method="post"> <table> <tr> <td align="right"><label>First name:</label></td> <td><input type="text" name="user.firstname" value="<%=user.getFirstname() %> /></td> </tr> <tr> <td><input type="radio" name="user.gender" value="0" id="user.gender0" <% if (user.getGender()==0) { %> checked="checked" %> } %> /> <label for="user.gender0">Female</label> </tr> </table> </form> ...
查看上面的标记,很容易发现没有现代框架辅助的Java web开发为什么是困难的!到目前为止,我们仅仅开发了两个输入框(controls),并且还有更多的输入框需要编写!让我们使用Struts标签重写并完善这个表单。
|
<s:actionerror/> <s:form action="Profile_update" validate="true"> <s:textfield label="Username" name="username"/> <s:password label="Password" name="password"/> <s:password label="(Repeat) Password" name="password2"/> <s:textfield label="Full Name" name="fullName"/> <s:textfield label="From Address" name="fromAddress"/> <s:textfield label="Reply To Address" name="replyToAddress"/> <s:submit value="Save" name="Save"/> <s:submit action="Register_cancel" value="Cancel" name="Cancel" onclick="form.onsubmit=null"/> </s:form> 作为头等特征Struts标签页支持验证和本地化。因此使用Struts标签不仅可以写更少的代码,而且还有更多的工具可以使用。
使用和两个常规输入框相同的代码行数,Struts标签能够创建包含八个输入框的数据录入表单。代码不仅更少,而且更容易阅读和维护。 |
Struts配置文件简介
一个web应用使用部署描述符来初始化如同过滤器和监听器的资源。web部署描述符是一个格式化的XML文档并且名字为web.xml。Struts通过扫描声明在web.xml中的Java包中的类初始化它的资源,或者你也可以通过名为struts.xml的配置文件完全控制Struts的配置。这些资源包括指示输入到服务端Action类的action映射,和选择输出页面的result类型。
下面是一个登陆流程的典型配置(struts.xml):
<struts> <package name="default" extends="struts-default"> <action name="Logon" class="mailreader2.Logon"> <result name="input">/pages/Logon.jsp</result> <result name="cancel" type="redirectAction">Welcome</result> <result type="redirectAction">MainMenu</result> <result name="expired" type="chain">ChangePassword</result> </action> <action name="Logoff" class="mailreader2.Logoff"> <result type="redirectAction">Welcome</result> </action> </package> </struts>
提示:框架提供了通用的默认值,因此我们可以立即开始使用Struts,“非常有创意”。在一个应用中任意的默认值都可以根据需要进行覆盖。
Struts MVC简介
Struts是一个模型视图控制器框架。Struts提供了控制器和视图组件,结合其他技术来提供模型。框架的控制器在应用的模型和web视图之间担任桥梁的角色。
为了使呈现动态数据更容易,框架包含了一个标记标签库。标签与框架的验证和国际化特性相互作用,保证输入是正确的和输出已经本地化。标签库可以和JSP,FreeMarker,或者Velocity一起使用。当然,其他标签库,JSTL和AJAX也可以和Struts标签一起使用或者单独使用。也支持JavaServer Faces。
当收到一个请求时,控制器调用一个Action类。Action类同过和模型(或者,更好的,一个代表模型的接口)交互来检查或更新应用的状态。为了在模型和视图之间转移数据,属性可以放在Action类中或者一个普通的JavaBean。
通常,模型描绘JavaBean对象的一个图像。模型应该做”困难的工作“,Action将扮演“交通警察“或者适配器的角色。框架提供了复杂的,自动的类型转换来简化富领域对象(rich domain objects)到文本类型的HTTP请求之间的数据转换。
Struts是可扩展的。非常扩展。框架部署的每个类都是基于接口的。我们提供了一个应用可能一直需要使用的所有类,你自己可以很容易加上我们遗漏的类。我们提供了这个通用的框架,但是你任然可以用你自己的方式来写应用。
Struts是不是每一个项目的最佳选择?
Apache Struts 2帮助你基于工业标准和已证明的设计模式为企业级应用创建一个可扩展的开发环境。如果你需要写一个只有少数页面的非常简单的应用,这时你可能需要考虑只使用服务端页面的”Model 1“方案。
如果你想编写一个包含许多页面并且随着时间的推移需要维护的更复杂的页面,那么Struts是有用的。更多关于是Model 1适合你还是MVC/Model 2适合你,参考理解JavaServer Page Model 2体系结构。
平台必备条件
Struts 2的要求:
- Servlet API 2.4
- JSP API 2.0
- Java 5
包括可选插件的依赖的完整必备条件列表,参考项目依赖。
提示:也可以获得Java 4的替代JAR集合。参考”J4"分发版。
相关推荐
3. 实现:使用 Struts2 框架实现项目的功能。 4. 测试:对项目进行测试和调试。 5. 部署:将项目部署到生产环境中。 Struts2 框架的技术架构 Struts2 框架的技术架构主要包括以下几个部分: 1. Action:负责处理...
Struts 2是一个强大的MVC(Model-View-Controller)框架,被广泛应用于Java Web应用程序的开发中。在北大青鸟Y2学年的课程中,学生们通常会学习如何利用Struts 2框架来构建一个租房网站,这涉及到多个关键知识点。 ...
6. Struts2框架的实战应用:Struts2框架在实际的Web开发中得到了广泛的应用,例如在开发电商网站、企业管理系统等Web应用时,都可以使用Struts2框架进行开发。通过Struts2框架,开发者可以更加高效和便捷的完成Web...
《精通Struts 2:Web 2.0开发实战》这本书是Java Web开发领域的一本经典教程,专注于Struts 2框架的应用与实践。Struts 2作为一款强大的MVC(Model-View-Controller)框架,是Java EE平台上的重要组成部分,它极大地...
在"Struts2开发依赖包"中,包含了一系列核心库和其他支持库,这些库对于成功地搭建和运行Struts2应用至关重要。以下是一些主要的依赖包及其作用: 1. **Struts2 Core**:这是Struts2的核心库,包含了Action、Result...
2. **开发环境**: 通常,开发者会使用集成开发环境(IDE)如MyEclipse 5.5,并结合服务器如Tomcat 5.5来构建Struts2应用。IDE可以帮助管理项目结构,而服务器负责运行和部署应用。 3. **添加JAR包**: 在项目中,...
- **使用web.xml配置Struts2实现Web项目Struts2应用**: - 在`web.xml`文件中配置Struts2的过滤器`FilterDispatcher`,它是Struts2的核心组件。 - 通过指定过滤器的初始化参数,可以控制Struts2的行为。 - **使用...
在Java世界中,Struts2是许多企业级应用首选的框架之一,因为它简化了复杂的web开发过程,提升了代码的可维护性和可测试性。 Struts2入门: 1. **环境搭建**:首先,你需要一个Java开发环境(JDK)和Apache Tomcat...
在实际应用中,理解并熟练使用Struts2的这些组件和机制,可以提高开发效率,降低维护成本。例如,通过配置Action和拦截器,可以实现请求的统一处理和业务逻辑的解耦。使用OGNL,可以方便地在Action与视图间传递复杂...
Struts2是一个基于MVC(Model-View-Controller)设计模式的框架,它的主要目标是简化Java Web应用的开发过程。在Struts2中,模型负责业务逻辑,视图负责展示数据,控制器则协调模型和视图之间的交互。通过Action类,...
Struts2的核心设计目标是简化MVC应用的开发,通过提供一系列的插件和拦截器,使得开发者可以方便地处理请求、响应以及业务逻辑。它集成了许多其他开源框架,如FreeMarker和Velocity模板引擎、Tiles布局框架、OGNL...
这个"Struts2 开发包"包含了用于开发基于Struts2的应用所需的核心组件和配置文件。以下是对这些关键元素的详细解释: 1. **Struts2核心库(jar包)**:Struts2框架的jar文件是开发的基础,它们提供了框架的运行时...
Struts2是一款强大的Java Web应用程序框架,用于构建和维护MVC(Model-View-Controller)架构的Web应用。...下载并使用这个基本包,开发者能够搭建起一个基本的Struts2环境,进而进行Web应用的开发。
Struts2 知识点 Struts2 是一个基于 Java 语言的开源 Web 应用程序框架,由 Apache 软件...Struts2 是一个功能强大且灵活的 Web 应用程序框架,通过学习和掌握 Struts2 的知识点,可以更好地开发和维护 Web 应用程序。
3. **视图层**:使用JSP页面和Struts的标签库来呈现数据,如商品列表页、用户登录页等。 通过这种方式,每个层次的功能都得到了明确的划分,使得整个系统的架构更为清晰、易于管理和维护。 #### 六、总结 综上所...
本手册“Struts应用开发完全手册(11-15)”涵盖了从第11章到第15章的内容,主要关注Struts框架的核心概念、配置、以及实际应用中的技巧。 1. **MVC模式的理解与应用**: MVC模式是软件工程中的一种设计模式,它将...
Struts2是一个强大的Java...理解并掌握这些jar包的作用和使用方法,对于有效利用Struts2框架进行Web应用开发至关重要。通过熟练运用这些工具,开发者能够更高效地创建出符合业务需求、具有良好用户体验的Java Web应用。
本教程将深入讲解Struts2的基础知识,以及MVC模式在实际开发中的应用。 一、Struts2框架概述 Struts2是Apache软件基金会开发的一个开源框架,它是Struts1的升级版,解决了Struts1的一些局限性。Struts2的核心是...
3. 配置Struts2:设置Struts2的配置文件,定义Action类,这些Action类通常是Spring管理的Bean,这样可以利用Spring的依赖注入功能。 4. 配置Struts2-Spring插件:这个插件允许Struts2的动作类直接在Spring容器中...