本书所讲的是Django:一个可以使Web开发工作愉快并且高效的Web开发框架。 使用Django,使你能够以最小的代价构建和维护高质量的Web应用。从好的方面来看,Web 开发激动人心且富于创造性;从另一面来看,它却是份繁琐而令人生厌的工作。 通过减少重复的代码,Django 使你能够专注于 web 应用上有 趣的关键性的东西。为了达到这个目标,Django 提供了通用Web开发模式的高度抽象,提供了频繁进行的编程作业的快速解决方法,以及为“如何解决问题”提供了清晰明了的约定。 同时,Django 尝试留下一些方法,来让你根据需要在framework之外来开发。本书的目的是将你培养成Django专家。 主要侧重于两方面:第一,我们深度解释 Django 到底做了哪些工作以及如何用她构建Web应用;第二,我们将会在适当的地方讨论更高级的概念,并解释如何 在自己的项目中高效的使用这些工具。 通过阅读此书,你将学会快速开发功能强大网站的技巧,并且你的代码将会十分 清晰,易于维护。 本书的代码清晰,易维护,通过学习,可以快速开发功能强大的网站。
虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架。
在深入了解Struts2的OGNL语言之前,先来了解一下什么是表达式语言以及为什么要使用表达式语言。表达式语言(Expression Language)可以在Web应用中完成特定的任务,例如变量求值、获取对象、对对象进行简单的操作,这些特性都可以使得应用编写起来更加方便简洁,在后面的例子中可以看到表达式语言的使用是怎样减少程序员需要编写的代码量。很显然表达式语言的宗旨和Web框架是一致的,通过表达式语言可以事半功倍的完成原来用Java代码完成的任务。OGNL(Object Graph Navigating Language)即对象导航图语言,是表达式语言的一种。通常用来绑定Java对象的属性,用一个表达式就可以读取和设置对应Java对象的属性,所以可以用来沟通Web组件和业务逻辑的模型部分。它是Jakarta“属性存取语言”项目和JSTL的表达式语言的良好替代。
使用JSF建立一个真实的Web应用程序不是没有意义的任务,这篇文章介绍了如何将JSF与Sping Framework和Hibernate集成,并且给出了使用这些技术建立这个真实的Web应用程序的最佳实践和设计指导。JavaServer Faces(JSF)技术是J2EE应用程序的一个新的用户接口框架,它非常适合基于MVC(Model-View-Controller)体系结构的应用程序。已经有大量的文章介绍JSF。然而,很多文章都是站在理论研究的层面上,没有挑战一个真实的企业开发。很多问题没有解决,例如,JSF怎样全面适合MVC体系结构?JSF如何与其他JAVA框架集成?业务逻辑应该放在JSF的backing beans里面吗?怎样处理JSF里面的安全问题?最重要的是你怎样使用JSF建立一个真实的Web应用程序?这篇文章涉及所有这些问题。它向你展示如何集成其他特定的Java框架,Spring Framework和Hibernate,它示范怎样去创建一个叫JCatalog的Web应用程序,一个在线的产品目录系统。这篇文章使用JCatalog例子,介绍了Web应用程序设计的每一个阶段,包括业务需求收集,分析,技术选择,高层体系结构和详细设计。这篇文章论述了JCatalog里面好的和不好的技术,示范了应用程序设计中一些关键方面的方法和步骤。
Freemarker是模板引擎,也可以说是一种表现层的框架,它有自己的模板指令,开发者如果不熟悉这些语法,很难进行表现层的开发。Struts2框架技术对Freemarker做了很好的支持,开发人员只要熟悉Struts2的标签即可进行开发Freemarker模板文件,如果您还不熟悉具体的Struts2及标签应用请参考其他文献资料,本文主要阐述Struts2与Freemarker的配置方法。
EasyJWeb是基于java技术,能实现企业级JavaWeb应用程序快速开发的MVC框架。框架设计构思来源于国内众多项目实践,框架的设计及实现借鉴当前主要流行的开源Web框架(Rails、Struts、JSF、Tapestry),吸取其优点及精华,是一个完全由来自中国的开源爱好者开发、文档及注释全中文的开源框架。
Webwork提供了一套不依赖于显示层技术的标签库。这一章我们将概括性的描述每一个标签, 比如此标签支持的属性,标签的行为等等。大多数的标签都可以用于所有的模板语言(参考 JSP Tags, Velocity Tags,和FreeMarker Tags),但是有一些只能用于特定的模板语言。 无论什么时候一个标签不能完全的支持每一个模板, 该标签会在参考文档中注明。webwork中的标签分为两种类型: 通用标签和HTML标签。 除了功能和职责外这两种类型标签最大的区别是HTML标签支持模板(templates)和主题 (themes)。除了基本的参考外,我们将提供个个标签在所支持模板语言中的例子。
虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这 一技术。本文将详细讨论session的工作机制并且对在Java web application中应用session机制时常见的问题作出解答。
包括:常用的Struts 2.0的标志(Tag)介绍;Struts2.0的Action讲解;在Struts2.0中国际化(i18n)您的应用程序;转换器(Converter)——Struts 2.0中的魔术师;在Struts2.0中实现表单数据校验(Validation);Struts2的基石——拦截器(Interceptor);在Struts2中实现IoC;在Struts2中实现文件上传;在Struts2中实现CRUD;Struts2中的OGNL;Strus2的新表单标志的使用;Struts2与AJAX。
Convention Plugin作为替换替换Codebehind Plugin来实现Struts2的零配置。包命名习惯来指定Action位置;命名习惯制定结果(支持JSP,FreeMarker等)路径;类名到URL的约定转换;包名到命名空间(namespace)的约定转换;遵循SEO规范的链接地址(即:使用my-action 来替代 MyAction); 基于注解的Action名;基于注解的拦截机(Interceptor) ;基于注解的命名空间(Nameespace);基于注解的XWork包;
介绍了struts2常用的标签,还有OGNL表达式的使用,在各标签的使用方法。
Struts2 Core 2.0.12 API英文版
Struts1.3.8 API英文版。
虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Strut2没有继承Struts1的血统,而是继承了WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因为Struts 2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证;而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架。