摘要: 要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。元注解: 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解: 1.@Target, 2.@Retention, 3.@Documented, 4.@Inherited 这些类型和它们所支持的类在java.lang.annotation包中可以找到。下面我们看一下每个元注解的作用和相应分参数的使用说... 阅读全文
posted @ 2013-11-09 23:33 泉水叮~咚 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 检查字符串是否为空或null或仅仅包含空格 String test = ""; String test1=" "; String test2 = "\n\n\t"; String test3 = null; System.out.println( "test blank? " + StringUtils.isBlank( test ) ); System.out.println( "test1 blank? " + StringUtils.isBlank( test1 ) ); System.o 阅读全文
posted @ 2013-11-06 10:32 泉水叮~咚 阅读(273) 评论(0) 推荐(0) 编辑
摘要: Java ClassLoader详解 类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Apple... 阅读全文
posted @ 2013-11-05 23:31 泉水叮~咚 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 一个正常的线程中断: 从运行到真正的结束,应该有三个阶段: 正常运行. 处理结束前的工作,也就是准备结束. 结束退出. Java曾经提供过抢占式限制中断,但问题多多,例如的Thread.stop。另一方面,出于Java应用代码的健壮性的考虑,降低了编程门槛,减少不清楚底层机制的程序员无意破坏系统的概率,这个问题很多,比如: 当在一个线程对象上调用stop()方法时,这个线程对象所运行的线程就会立即停止,并抛出特殊的ThreadDeath()异常。这里的“立即”因为太“立即”了, 一个线程正在执行:Java代码 synchronizedvoid{x=3;y=4;} synchroniz... 阅读全文
posted @ 2013-11-05 22:52 泉水叮~咚 阅读(491) 评论(0) 推荐(0) 编辑
摘要: Struts2(上)一、 经典的MVC模式二、 Struts1.x对MVC的实现三、 Struts1.x的主要组件和作用组件作用ActionServlet中央控制器Action分控制器,调用JavaBean实现业务逻辑,Action可以分为Action、DispatchAction等不同类型ActionForm封装参数,实现服务器验证,文件上传等Forward转发到目的地,可以是JSP,也可以是另一个ActionStruts-config.xml配置文件,配置有ActionForm,Action,Forward等,通过XML解析,然后使用反射技术使用该文件Struts标签库和JSTL类似,和S 阅读全文
posted @ 2013-10-31 14:24 泉水叮~咚 阅读(721) 评论(0) 推荐(0) 编辑
摘要: jsp中result的默认类型为dispatcher。dispatcher:与效果相同redirect:与response.sendRedirect("")效果相同response.sendredirect("http://www.foo.com/path/error.html");重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面 阅读全文
posted @ 2013-10-31 13:27 泉水叮~咚 阅读(307) 评论(0) 推荐(0) 编辑
摘要: http://www.360doc.com/content/10/0712/10/1720440_38421273.shtml#使用jdbc方式连接数据库时会使用一句代码Class.forName(StringclassName).这句话是什么意思呢?首先说一点Class.forName(StringclassName)这个方法的作用是装载className这个字符串指定的类。官方文档返回与带有给定字符串名的类或接口相关联的Class对象。调用此方法等效于:Class.forName(className,true,currentLoader)其中currentLoader表示此类的定义类加载器 阅读全文
posted @ 2013-10-31 10:34 泉水叮~咚 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 1. pageEncoding:jsp页面编码: jsp文件本身的编码2. contentType: web页面显示编码:jsp的输出流在浏览器中显示的编码3. html页面charset:web页面输入编码: 输入框输入的字体编码4. setCharacterEncoding:request.setCharacterEncoding(),response.setCharacterEncoding()web服务器输入的请求流: web Server相应浏览器的请求数据5 .setContentType:response.setContentType()web服务器输出的响应流: web Ser 阅读全文
posted @ 2013-10-31 09:40 泉水叮~咚 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 一、准备工作及实例1.解压struts-2.1.6-all.zipapps目录:struts2自带的例子程序docs目录:官方文档。lib目录:存放所有jar文件。Src目录:源文件存放地2.六个基本包struts2-core-2.1.6.jar:开发的核心类库freemarker-2.3.13.jar:struts2的UI标签的模板使用freemarker编写commons-logging-1.0.4.jar:日志包ognl-2.6.11.jar:对象图导航语言,通过它来读写对象属性xwork-2.1.2.jar:xwork类库,struts2在其上进行构建commons-fileuploa 阅读全文
posted @ 2013-10-30 15:29 泉水叮~咚 阅读(871) 评论(0) 推荐(0) 编辑
摘要: 此前对于AOP的使用仅限于声明式事务,除此之外在实际开发中也没有遇到过与之相关的问题。最近项目中遇到了以下几点需求,仔细思考之后,觉得采用AOP 来解决。一方面是为了以更加灵活的方式来解决问题,另一方面是借此机会深入学习Spring AOP相关的内容。本文是权当本人的自己AOP学习笔记,以下需求不用AOP肯定也能解决,至于是否牵强附会,仁者见仁智者见智。对部分函数的调用进行日志记录,用于观察特定问题在运行过程中的函数调用情况监控部分重要函数,若抛出指定的异常,需要以短信或邮件方式通知相关人员金控部分重要函数的执行时间 事实上,以上需求没有AOP也能搞定,只是在实现过程中比较郁闷摆了。需要打印日 阅读全文
posted @ 2013-10-30 14:41 泉水叮~咚 阅读(229) 评论(0) 推荐(0) 编辑