`
kewen342757003
  • 浏览: 143532 次
社区版块
存档分类
最新评论
文章列表
1.动作的作用: (1)封装一系列响应某个请求的具体工作。      动作使用execute()方法来处理的一些列业务逻辑,如果业务逻辑复杂,我们可以将这些业务逻辑构成一个业务组件,再将这个组件注入到动作中。Struts2框架支持依赖注入(dependency injection),后续学习关于spring的整合。 这样做可以使代码更加整洁、耦合度更低。 (2)从请求到视图的框架自动数据传输中作为数据的携带者。      可以将期望承载的数据实现为javaBean属性,之后配置对应数据名称的动作属性,框架将完成中间的传递工作。 (3)帮助框架决定哪个结果是应该对应响应而给出的视图。      一 ...
1.声明架构的两种方式:XML配置; Java注解 2.package元素  、namespace、与URL地址的关系: http://+localhost:8080+/manningSampleApp+/chapterTwo+/Hello.action 协议    +主机名:端口     +Servlet上下文      +namespace  +动作名.action 3.关于数据存储 helloWorld程序中,数据是存在Action中传递的,看起来似乎与前面说的数据都存在ValueStack中有所矛盾。其实实际情况是,数据先存在了Action中,然后整个Action对象都存入了Valu ...
1.Struts2概览:MVC模式 MVC(Model-View_Controller)设计模式:即模式、视图、控制器 2.三个核心框架组件 (1)控制器:FilterDispatche     Struts中使用的MVC变体被称为前端控制器(front controller)MVC。 在Struts2中,控制器总是第一个被触发的组件,它负责为URL找到对应的Action。      FilterDispache在struts2中扮演这个控制器的角色。 可以通过注解和XML两种方式进行配置,让框架为URL找到对应的Action。 由于Struts2 是朝着零配置发展的,所以注解的方式更好一点。 ...
1.构造函数 简单来说JS中的构造函数就是关键字 this function hero(n,l) { this.name = n; this.level = l; } var hero1 = new hero(NeverMore,25); // hero1 = {name:NoverMore, level:25}; var hero2 = new hero(Pudge,25); // hero1 = {name:Pudge, level:25}; 这样的这个东西就可以算是构造函数,下面就是用这个构造函数新建的两个hero对象。 构造函数通常没有返回值。 2. ...
最近在搞一个工程整改优化工作,之前的模块工程数量庞大,结构复杂,其中一项非常重要的工作就是分析各个工程之间的依赖关系,于是找到了这个工具,可以分析每一个工程打出来的jar包依赖和被依赖的类,jar包等等,很方便,也可以用来做项目工程的管理工作等等。 首先大家需要一个压缩包,下载地址如下: http://sourceforge.net/projects/jboss/files/JBoss%20Tattletale/ 解压一下就可以了使用了,不需要做任何操作。 之后比我的这个工具解压在了D:\TTanalysis\tattletale-1.2.0.Beta2这个路径下   那么我的执行命令行就 ...
1.arguments可以用来判断传入参数的数量 function f(x,y,z) { if(3 != arguments.length) { throw error xxxxxxx; } arguments 并不是真正的数组,只是一个类似数组的 Argument对象。 2.方法传值多余需求参数,则多余的参数会被省略;如果少于需求参数,则会传入undefined作为参数。 3.没有return语句的函数,以及直接return的函数,返回值都是undefined 4.虽然JS是一种宽松的语言,对于参数类型没有强制要 ...
5.数组方法 (1)join()方法      使用指定分割符将字符串分割开,并且拼接成String,如果不指定分隔符,默认使用“,”      var a = [1,2,3];     var s = a.join();   s == "1,2,3" (2)sort()方法      按照制定顺序给数组元素排序 (3)concat()方法      理解为添加元素方法      var a = [1,2,3];     a.concat(4,5); //这是  a = [1,2,3,4,5] (4)slice()方法      理解为切片,取片段方法      var ...
1.通过运算符“.”进行对象属性的存储。 2.关联数组(associative array) 简单来说就是这样: var Hero_Name = get_Name_FromXXX(); var Hero_Level = get_Level_FromXXX(); Dota[Hero_Name] = Hero_Level; 我有一个英雄,是从页面获取了名字,再从页面获取了 ...
操作符==在可能的情况下,会自动进行类型转换。===则不会 with的作用是把对象临时地置于scope chain的第一位,在执行完毕后则清除 for/in 语句: for (var prop in object) { alert(prop); } 这两张和java对应的表达式和操作符都差不多  没什么特别的地方   所以合起来写了
4.垃圾收集器 这个基本上java中的垃圾回收机制差不多,当JS的解释器发现这个变量不再有用的时候,就会释放掉这变量所占用的内存。 5.全局对象(global object)与局部对象(call object) js解释器会在任何JS代码执行前,隐式创建一个全局对象,其中包含了一切有可能在后续使用到的隐式声明的变量。例如:Math  parseInt等。 某一个函数执行前,也会创建一个局部对象用于存储局部变量。以防止同名的全局变量覆盖了局部变量的值。 对象中的属性和变量  ,这两个概念在JS中毫无区别。 6.执行环境(上下文)(execution context) 每次当javascri ...
1.变量类型 JS中的一个变量,可以赋不同类型的数值给它。因为JS是一个缺少类型规则的语言,在必要的时候,它的数据可以自动转换类型。 2.变量的声明 任何一个变量在使用前都必须声明(declare); var i; var sum; 也可以使用一个关键字var 生命多个变量: var i, sum; 声明变量的同时可以直接进行初始化赋值: var i = 5; 可以在for循环中直接声明变量: for(var i = 0 ;i<10;i++); var声明的变量是永久的,不能用delete删除。 重复声明变量仅仅相当于重复给一个变量赋值,如果使用未声明的变量,就会隐式赋值。 ...
1.JS支持的数据类型 javascript中的数据类型分为基本数据类型和引用数据类型 : 基本数据类型包括number,string,boolean,null,undefined 引用数据类型包括object,function,array 记录一个保留小数点后几位的方法 toFix(2) --保留小数点后两位(自动四舍五入); 将字符串类型转为数字的方法 parseInt("123 abc") = 123; parseFloat("123.123 ggggg ") = 123.123; 非数字的部分,不会解析。 2.对象 可以把JS中的对象理 ...
1.字符集: JS使用Unicode 编码适用于任何种类语言的16字符集。 有些语言使用的  ASC II 是只适用于英文的 7位字符集                 ISO Latin-1 是只适用于英文和西欧语言的 8位字符集 上述两种字符集都属于Unicode的子集,所以JS中可以使用任何语言进行编码。 2.JS语言区分大小写: 虽然JS脚本语言中区分大小写,但是与JS紧密相连的HTML却是不区分大小写的。 由于HTML中可能使用到JS中定义的变量等,而HTML又是不区分大小写的,所以JS中的命名尽量不要用大小写不同来区分不同变量。   也便于后续代码的维护工作。 3.可选分号: ...
1.Struts2 简单来说就是实现了请求和视图(前台页面)的分离。 2.Struts.xml中,package标签,实际意义与JAVA代码中定义的package是一样的,用于把下属的一堆Action都包起来,区别重复命名。 <package name="main" namespace="/&quo ...
学习Spring框架+Hibernate   配置了一个小工程,总结一点配置方面需要注意的地方: 1.使用C3P0连接池,对应的属性配置。 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="oracle.jdbc.driver.OracleDriver" ...
Global site tag (gtag.js) - Google Analytics