ExtJS+SpringMVC+Spring+Hibernate的一种实现(蒋锋代码分析)

  • 时间:
  • 浏览:3
  • 来源:uu快3下载网址_uu快3IOS下载_电脑版

http://my.oschina.net/lichhao/blog/172562

好吧,接下来会发生有哪些呢?

接下来的事情就和ExtJS无关了,将会你发送了三个白多 request。这个request会被tomcat中web项目里配置的SpringMVC拦截下来,哈哈哈,看着眼熟了吧?

方法url,SpringMVC中你一些人手写的Controller每段的java文件就会起作用了。

"login/validate.do"

这个url虽然就直接,(当然我也是去eclipse工程中慢慢瞪眼睛看出来的)如下图一些人看吧:



上述url经过controller的定位,也本来SpringMVC中HandlerMapping每段的定位,找到这个java文件进行除理,下面的工作就很多 交给了SpringMVC和Spring。

上图所示的代码,也本来Spring中Controller的代码朋友来列举一下:

上述过程删改的表达了,完后 我采用Spring+SpringMVC进行读数据库--返回给jsp---由jsp显示数据的过程。

一些,太土了。

原因分析分析着有三个白多 :

1--显示页面,本来纯粹的JSP页面原来很土,工作量也很大。朋友要用的是高端大气的ExtJS很多 ,你的写法肯定不行。

2--这个写法实际上没有 理解SpringMVC的前提下,某种十分粗略的写法。

看过蒋锋老师的代码,认真学习了SpringMVC的教材,我发现,得改,下面是蒋锋老师写的代码。先给阿托老师打个call吧这个网址:http://www.jhopesoft.com/ 还会 看过他的项目、源码以及实例运行demo

quick-build-opensource项目采用ExtJS+Spring+SpringMVC+Hibernate实现

朋友来看一下最基本的三个白多 场景:login登录

说句题外话:虽然正确的代码分析过程应该是导入svn一些运行,一些在eclipse中对照代码修改看效果,一些我还没有 成功导入,很多 就断片得看代码了(利用官网demo和下载来的war文件中的源码,实际二者本应该联动,一些这个形式分析代码是无法联动的)。



登录页面如上图所示,下面朋友来看的是,从显示这个页面,到输入用户名密码点击登录按钮,一些到与数据库交互验证数据的整个过程涉及到的代码。

上图显示的页面看似html实际是采用ExtJS绘制的,ExtJS自成体系,编写完代码完后 须要使用Sencha编译一下,一些生成类似于下面的目录型态:



实际上在eclipse中最终项目的目录型态如下所示



最初访问项目的页面是index.html



如上图所示,是index.html的代码,虽然也真的看不在 有哪些来。一些将会你学习过ExtJS的基础知识,你就我不要 看不懂了,将会ExtJS的型态是固定的,简单地说本来app.js是所有一切的入口,很多 朋友直接去看app.js(从中间的目录型态的照片中,虽随还会 找到app.js)



核心代码导入app.view.Main代码,这个说法比较粗略,方法ExtJS的基础知识,目录型态也是固定的,默认全是在app目录下。







这个login.js文件本来现实整个页面的最主要的文件

朋友看看其中的有关登录按钮的代码:

今天完后 我写的java环境下web应用全是这个形式:

1--一些人写的@Controller中的handler方法采用Spring+Hibernate的方法读取数据,读取到朋友自定义的PO中(从硬盘读取到内存中)。

2--一些采用SpringMVC的ModelAndView的方法addObject()将得到的PO将会PO的List放满ModelAndView的实例中。

3--一些handler方法中setViewName(),return。大慨返回string将会4--ModelAndView给SpringMVC,也本来交给指定的jsp页面以数据。

一些在对应的jsp页面中使用jstl的标签读取返回的数据,并将数据交给html中的标签来显示。

上述过程对应的代码如下:

首先,一些人写的Controller代码,发生对应的web文件夹中

上述代码本来Spring中Controller每段的java代码

返回完后 的工作,由SpringMVC的ViewResolver来做,也本来由框架来做,定位到对应的jsp页面,把数据暴露给它。

一些朋友去jsp页面看看

2--返回值PO怎样被解析

蒋锋老师代码中是这个意思,我还没有 验证啊:PO类型的返回值实际上是三个白多 PO的实例,中间存放着数据。返回给SpringMVC完后 ,由SpringMVC解析成json文件,返回给这个方法的调用者,也本来最现在现在始于的login.js文件中的,返回方法,也本来callback方法。如下图所示:



没有 json文件是有哪些型态呢?一堆括号,一堆冒号,一堆字符串。



朋友现在关心的问题图片是,PO怎样被解析成json文件的。

看下面的博文:

http://blog.csdn.net/fw0124/article/details/4821000083?spm=5176.1000239.blogcont291249.11.FqLHtx歌词大意本来,通过maven导入依赖

上述代码用于现实红框中的内容,重点在于listeners中的click事件,这个事件定义在哪里呢?



ExtJS的规范是原来的,MVVC,如下图



controller每段表示这个js页面的事件相关的controller,本来下面这个文件



没有 还会 看出来事件定义在LoginController.js这个文件中,朋友看看onLoginButton对应的代码:

1--案例代码从数据库获取数据的过程:

这个每段是经典的Spring写法,controller目录中保存SpringMVC的java代码,service目录保存业务逻辑代码,下图基本反映了java每段所有的代码:



看过Dao每段没有 三个白多 java文件(三个白多 interface三个白多 class)

Entity文件夹中全是PO文件,由eclipse集成的Hiberante Tools生成

哇这本来java代码。这个每段在前面博文含高所介绍。

上述代码和过去我一些人写的Spring中的Controller的java代码区别就在于返回值,他的java代码中没有 突然出现ModelAndView,按照web--service--Dao这个目录型态的代码,返回值类型是三个白多 自定义的PO。过去朋友是将PO放满ModelAndView中,一些跳转到JSP页面中再获取其中的数据。现在全是原来了,没有 这个写法究竟有哪些意思呢?

涉及到两每段内容:

1---Spring代码怎样获取数据库中数据的;

2---返回的PO怎样被解析的;

上述代码是js语言环境下方法的定义,朋友在login.js中调用了这个方法

最终在中间代码中调用EU.RS()方法,这个方法定义在原来js文件中如下图:



没有 上述代码究竟起有哪些作用呢?

朋友直接去看ExtUtils.js文件的每段代码,也本来RS()方法的代码:

一些就还会

另外三个白多 参考文档如下:

http://www.cnblogs.com/fangjian0423/p/springMVC-xml-json-convert.html

var callback = function(type, scope, success, result, response, options) {}这个形式的js代码实际上定义三个白多 变量,这个变量的名字是callback,变量的内容是三个白多 function,js的神奇之处。

先定义callback方法,一些中间代码中再调用这个方法。

下图是Ext.callback这个标准方法的说明



上述代码有三每段内容:

1---完善config这个参数(定义了三个白多 callback方法)

2---判断crossdomain,一些从新定义LoginController中callback方法

3---执行ExtJS标准方法Ext.Ajax.request();

第三每段才是实际执行



这个标准方法的含义也很简单,本来向url中发送三个白多 request

url定义在config里,完后 将会定义过了。

1和2的工作虽然全是在动态的定义三个白多 自定义callback方法(注意,是自定义的callback而全是ExtJS系统标准callback)

也本来回到LoginController.js文件中

在Login.js文件中“登录”按钮触发的事件,很简单,核心本来触发ExtJS标准的Ext.Ajax.request()方法,也本来向url发送三个白多 request。

url是有哪些?除理你眼瞎,我把代码再贴一遍: