摘要: Jsp页面传值的方法 一.通过Form表单提交传值 客户端通过Form表单提交到服务器端,服务器端通过 Java代码 request.getParameter(String xx); 来取得参数(xx)为参数名称。通过get/post方式进行提交 二.通过隐藏域传值 通过在表单中加入一个隐藏域来提交 阅读全文
posted @ 2017-04-17 12:16 luffy_chen 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 一、分析 Java语言的异常处理机制可以确保程序的健壮性,提高系统的开发效率,但是Java API提供的异常都是比较低级(这里的低级指的是“低级别的异常”),只有开发人员才能看的懂,才明白发生了什么问题。对于终端用户来说,这些异常基本上是天书,与业务无关,是纯计算机语言的描述。 这就需要我们对异常进 阅读全文
posted @ 2017-03-27 16:37 luffy_chen 阅读(3170) 评论(0) 推荐(0) 编辑
摘要: 1、如果查询的两表大小相当,那么用in和exists差别不大,如果两个表中一个较小一个较大,则子查询表小的用exists,子查询表大的用in. 2、not in逻辑上不完全等同于not exists,如果你误用了not in,小心你的程序存在Bug.而且not exists 比not in要快。 3 阅读全文
posted @ 2017-03-27 16:30 luffy_chen 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 1、LINQ特有的编程结构隐式类型本地变量:C#的var关键字允许定义不显式指定实际数据类型的本地变量。不过由于编译器将根据初始值推断其数据类型,所有该变量仍然是强类型的。对象和集合初始化语法:它允许我们在创建类或结构变量的同时设置其属性。Lambda表达式:C#Lambda操作符(=>)可以用来构建Lambda表达式,并且在调用以强类型的委托作为参数的方法时,也十分有用。扩展方法:C#扩展方法不使用子类就能够像已知类中添加新的功能。同样,它还可以向不能有子类的密封类和结构中添加新的功能。在编写扩展方法时,第一个参数必须使用this限定符,用来表示被扩展的类型。扩展方法只能定义在静态类中 阅读全文
posted @ 2012-03-19 11:48 luffy_chen 阅读(3651) 评论(0) 推荐(0) 编辑
摘要: 1、在.NET Framework里,回调仍是可能的,它们的功能是由使用更为安全和面向对象的委托(delegate)来完成的。本质上来讲,委托是一个类型安全的对象,它指向程序中另一个以后会被调用的方法(或多个方法)。委托类型包含3个重要的信息:它所调用的方法的名称;该方法的参数(可选);该方法的返回值(可选)。2、C#委托类型定义会生成一个密封类,它含有3个编译器生成的方法,这3个方法的参数与返回值基于委托声明。同时在使用C#中delegate关键字创建委托的时候,也就间接声明了一个派生自System.MulticastDelegate的类,这个类时期继承类可以访问包含由委托对象维护的方法地址 阅读全文
posted @ 2012-03-17 11:35 luffy_chen 阅读(1526) 评论(0) 推荐(0) 编辑
摘要: 1、与非泛型容器相比,泛型容器的一些优势如下:A、泛型提供了更好的性能,因为它们不会导致装箱或拆箱的损耗;B、泛型更类型安全,因为他们只包含我们指定的类型。C、泛型大幅减少了构建自定义集合类型的需要,因为基础类库提供了几个预制的容器。2、只有类、结构、接口和委托可以使用泛型,枚举类型不可以。3、集合初始化语法。只能对支持Add()方法的类使用集合初始化语法,这是ICollection<T>/ICollection接口决定的。4、使用List<T>类。List<T>类是System.Collections.Generic命名空间中最常用的类型,因为它可以动态调 阅读全文
posted @ 2012-03-16 16:44 luffy_chen 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 1、构建可枚举类型(IEnumerable和IEnumerator)1 public IEnumerator GetEnumerator()2 {3 //返回数组对象的IEnumerator4 return carArray.GetEnumerator();5 }2、用yield关键字构建迭代器方法 1 public IEnumerable GetTheCars(bool ReturnRevesed) 2 { 3 //返回数组对象的IEnume... 阅读全文
posted @ 2012-03-16 15:16 luffy_chen 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 1、接口就是一组抽象成员的集合,表示某个类或结构可以选择去实现的行为,一个类(或者一个结构)可以支持任意数量的接口,因此也就支持了多种行为。接口与抽象基类的区别:a、虽然类定义了一组抽象成员,但它完全可以再定义许多构造函数、字段数据、非抽象成员(具有实现)等;而接口只能包含抽象成员。b、由抽象父类创建的多态接口有一个主要的限制,那就是只有派生类型才支持由抽象父类定义的成员。接口类型就是来解决这个问题的,在定义了接口之后,它就可以被任何层次结构、任何命名空间或任何程序集中的任何类型实现。c、传统抽象基类的另外一个限制就是每一个派生类型必须处理这一组抽象成员并且提供实现,接口则无此限制。2、接口不 阅读全文
posted @ 2012-03-16 11:10 luffy_chen 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 1、可以在派生类型中访问父类的公共成员,但是私有成员只能被定义它的类访问;C#要求一个类只能有一个直接基类。2、C#提供关键字sealed来防止发生继承,如果将类标记为sealed,编译器将不会允许我们从这个类型派生。3、C#结构总是隐式密封的,我们永远不可以从结构继承结构,从类继承结构或从结构继承类,结构只能用于建模独立的、用户定义的数据类型。4、使用base关键字控制基类的创建5、protected关键字。在基类中定义受保护成员的好处在于:派生类不再需要使用公共方法或属性来间接访问数据了。不能从对象实例中直接访问受保护数据。6、如果希望构建新类来使用密封类的功能,唯一的办法就是使用包含/委 阅读全文
posted @ 2012-03-15 17:44 luffy_chen 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 1、Static关键字a、C#类(或结构)可以通过static关键字来定义许多静态成员。如果这样的话,这些成员就只能直接从类级别而不是对象引用调用。b、静态成员只能操作静态数据或调用类的静态方法。View Code 1 class Teenager 2 { 3 public static Random r = new Random(); 4 public static int GetRandomNumber(short upperLimit) 5 { 6 r... 阅读全文
posted @ 2012-03-15 15:50 luffy_chen 阅读(358) 评论(0) 推荐(0) 编辑