- 浏览: 26212 次
- 性别:
- 来自: 成都
最新评论
文章列表
Java Web开发,我们在这里谈到一个简单的,基础的,也是通用的技术-Servlet。如果要学好JavaWeb,个人认为,Servlet是首要必须学好的技术。因为我们之后的框架技术,多数是在他基础上扩展,或者是依赖于他来扩展的。
首先,我们来谈谈Servlet的生命周期,我们来看下面这幅图
我们能在这张图上看到Servlet的完整的生命周期。
首先,我们通过浏览器发送Http请求到Servlet容器,也就是Tomcat服务器中。
当服务器接收到请求之后,会判断是否是第一次调用该Servlet,如果是第一次调 ...
无论是反射调用对象方法属性,还是利用内省的机制来读取属性描述器从而获得对象属性进行操作,都是Java所提供的一种别样的类型操作方式。但是除了Java本身提供的对对象的内省操作方式外,其他机构在此基础上也封装了一些更便于使用的包来实现这样的操作。我们曾经接触过的很多框架,也正是在这些包提供支持的基础上,再封装出来一系列自己的API的。这些包中,比较经典也是大多数人都接触过的,当然还是Apache公司推出的common系列的包。其中commons-beanutils正式Apache推出的使用便捷方式调用JavaBean的API。让我们看看他的神奇之处吧。
首先,使用b ...
做了这么久Java程序开发,反射(Reflect)的概念倒是知道了不少,可是还有一种方式是跟反射有紧密联系的,我们平时很少谈及到,这就是内省(Introspector)了。
那什么是内省呢?
内省(Introspector)是Java 语言对Bean类属性、事件的一种缺省处理方法。例如类 A 中有属性 name, 那我们可以通过 getName,setName 来得到其值或者设置新的值。通过 getName/setName 来访问 name 属性,这就是默认的规则。
Java 中提供了一套 API 用来访问某个属性的 getter/sett ...
趁热打铁,让我们继续了解反射调用字段的相关,这里我们还是沿用User这个类,我们在里面设置了几个不同修饰符,不同类型的变 量,见代码:
//静态的String类型的变量
public static String field1 = "tangyu";
//共有的String类型变量
public String field2 = "qianjin";
//私有的int类型变量
private int field3 = 55;
我们有了这些字段,现在我们在测试类中试试用反射如何去调用他们:
@Tes ...
我们来接着实验以下反射调用普通的方法是怎样一种机制
下面是我在User类中增加的许多方法
//普通的无参无返回值public方法
public void execute1(){
System.out.println("execute1()");
}
//普通的有参数,有返回值的public方法
public boolean execute2(boolean isok){
return isok;
}
//普通的有三个参数,返回值是int数组的方法
public int[] execute4( ...
“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。但是JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。
以上就是Java反射的一个介绍,很多配置型框架的底层,也都用到了反射的原理来实现动态的 ...
该文章仅为记录自己第一次构建Spring3.x 和 MyBatis3.x的一些经验,为了给很多刚刚接触构建该类项目的朋友借鉴,老鸟请绕道,谢谢!
1. 准备工作:
a. spring-framework-3.0.6.RELEASE-with-docs.zip
spring的包,必须的,这个你懂的,有可能还需要下载一些依赖包,支持Annotation。
b. mysql-connector-java-5.1.13-bin.jar
mysql的连接包,若是其他数据库,请下载相应包
c. commons-log ...