struts2:前台页面的数据处理,(mvc表单提交处理)。核心模块:强大的MVC、控制器、验证框架、内置标签Hibernate:完成与数据库之间的交互(数据持久化的ORM框架)spring:用于优化程序中的结构,整合struts2和Hibernate所有的框架使用的核心技术:反射反射:通过对象,找到所对应的类的信息(可以调用类里的属性和方法。
Webx简介第一课WebX框架基础WebXPackagingWebx应用的打包方法War——是WebApplicationArchive的缩写Car——是ComponentArchive的缩写多个car可以组装成一个war传统方式Webx方式Car在开发中的应用Car的目录结构和War基本相同,除了不需要文件:WEB-INF/web.xml不需要目录:WEB-INF/lib开发时,可以把car当作war来开发、调试部署时,可以把多个car组合成一个warWebX框架保证,无论下面哪种情况,对程序代码而言都是透明的。
Struts2为提供了一个为用户快速构建应用程序的平台。Struts2是基于OpenSymphony的网络工程框架。Struts2实现模型视图控制器(MVC)设计模式。在Struts2的模型、视图和控制器中分别实现了Action,result和FilterDispatcher。该控制器的工作是将用户的请求(request)映射到适当的action。Struts2的FilterDispatcher进行着控制器的工作。
众所周知,现代电子计算机由5大部件组成:运算器、控制器、存储器、输入设备和输出设备。其中,运算器和控制器合称CPU,是计算机中最为核心的部分。如果我们把整个Struts2框架比作是一个计算机,那么XWork则是Struts2框架中的CPU,是Struts2运行机制的核心。
核心分发器(Dispatcher)的核心驱动作用Dispatcher之所以被称之为Struts2的核心分发器,主要是基于它在整个Struts2框架中的特殊地位。我们经常会使用“起-承-转-合”这4个不同的阶段来描述一个事件的整个过程,对于Struts2而言,Dispatcher实际上就是囊括这4个阶段的核心分发器。
在对Struts2初始化主线的宏观分析中,我们曾经谈到为了帮助更好地管理Struts2中的内置对象,Struts2引入了一个“容器”的概念,将所有需要被管理的对象全部置于容器之中。因而,整个Struts2初始化过程,也始终围绕着这个“容器”展开。
在我已往的Struts 1.x项目经验中,有个问题不时的出现——在创建FormBean时,对于某个属性到底应该用String还是其它类型? 开发Web应用程序与开发传统桌面应用程序不同,Web应用程序实际上是分布个不同的主机(当然也可以同一个主机,不过比较少见)上的两个进程之间互交。这种互交建立在HTTP之上,它们互相传递是都是字符串。换句话说, 服务器可以的接收到的来自用户的数据只能是字符串或字符数组,而在服务器上的对象中,这些数据往往有多种不同的类型,如日期(Date),整数(int),浮点数(float)或自定义类型(UDT)等,如图1所示。因此,我们需要服务器端将字符串转换为适合的类型。
配置Result一个result代表了一个可能的输出。当一个Action类的方法执行完成时,它返回一个字符串类型的结果码,框架根据这个结果码选择对应的result,向用户输出。Results配置由两部分组成:一部分是result映射,另一部分是result类型。
Struts 2.x仍然是一个MVC框架。一般来说,某种软件的第二个版本都是起源第一个版本,但实际上,Struts 2.x是个特例,它并非起源于Struts 1.x,而是起源于WebWork框架 - 另一MVC的框架。因此Struts 2.x与Struts 1.X是没有直接关系的。
使用一个页面控制类,它记录页面信息,如上页,下页,当前页等。在查询的Action中,将这个控制类和查询条件一起传递给数据库访问bean,然后将这两个参数保存在用户session中。在分页控制Action中,利用接收到的分页参数调用数据库访问的bean.
优势:动态编译。无论你修改Entity,Controller或者view,都无需重启服务器.视图采用了Groovy作为模板引擎,让表示层真正做到了开发高效简洁Play的页面模版有一套非常简单易用的tag机制,复用view非常的方便.测试Play可以方便的组织测试数据,而这些数据是一个文本结构,不依赖于特定数据库.也就是说即使你用的是一个内存数据库,你也可以很方便的组织测试数据.Play的"缺陷和问题":Play有很多的静态方法,在Controller和Model中都有,静态方法带来的最大麻烦就是难以继承,这是很恶心的一件事情,这一点可能是Play框架的一个硬伤,不知道以后会不会有更正.拥有精确的错误定位机制,当错误发生的时候,可以精确的定位到错误代码的位置。速度很快,启动快,运行的速度也十分快部署.
Spring MVC架构:Spring MVC是结构最清晰的MVC Model 2实现。它的Action也不叫Action,而是称做Controller;Controller接收request,response参数,然后返回ModelAndView(其中的Model不是Object类型,而是Map类型)。
我们的目标是:能够熟练运用当前流行的java开源框架:Struts、Hibernate以及Spring来构建灵活、易于扩展的多层Web应用程序。
我们所有的章节的Web服务器都是基于Jakarta Tomcat容器。在本章结束的时候,通过运行你建立的Struts应用程序,你可以对Struts的框架机制有个大致的了解
Play Framework是一个Rails风格的Full-stack Java Web框架。1、一个非常简单的开发周期。此框架自动编译和重新装载源文件的任何改变。 2、智能捆绑HTTP参数到Java方法参数。 3、基于Apache Mina的快速HTTP服务器。 4、一个基于Groovy的强大的模板引擎,具有多层继承,定制用户标签的能力,等。 5、优秀的错误报告功能:当发生异常,此框架会直接显示出错代码,甚至是模板代码