- 博客(72)
- 资源 (15)
- 收藏
- 关注
原创 struts2.0中struts.xml配置文件详解
DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" >struts>include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件中
2008-11-24 13:14:00
742
原创 Hibernate获取数据方式与缓存使用
Hibernate获取数据的方式有不同的几种,其与缓存结合使用的效果也不尽相同,而Hibernate中具体怎么使用缓存其实是我们很关心的一个问题,直接涉及到性能方面。缓存在Hibernate中主要有三个方面:一级缓存、二级缓存和查询缓存;一级缓存在Hibernate中对应的即为session范围的缓存,也就是当session关闭时缓存即被清除,一级缓存在Hibernate中是不可配置的部分;二级缓
2008-10-20 13:11:00
695
原创 Java 程序中的多线程
一、为什么会排队等待?下面的这个简单的 Java 程序完成四项不相关的任务。这样的程序有单个控制线程,控制在这四个任务之间线性地移动。此外,因为所需的资源 ― 打印机、磁盘、数据库和显示屏 -- 由于硬件和软件的限制都有内在的潜伏时间,所以每项任务都包含明显的等待时间。因此,程序在访问数据库之前必须等待打印机完成打印文件的任务,等等。如果您正在等待程序的完成,则这是对计算资源和您的时间的一种
2008-07-21 11:53:00
973
原创 同步synchronized方法和代码块
打个比方:一个object就像一个大房子,大门永远打开。房子里有很多房间(也就是方法)。这些房间有上锁的(synchronized方法),和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调用该对象方法的线程比喻成想进入这房子某个房间的人。所有的东西就这么多了,下面我们看看这些东西之间如何作用的。在此我们先来明确一下我们的前提条件。该对象至少
2008-07-18 17:44:00
5150
2
原创 单例模式的经典代码——线程池集合
import java.util.HashMap;/** * 线程池集合类 * 这个类负责在JVM中创建一个唯一的线程池集合, * 集合中有多个线程池,通过ThreadPoolSetCreator去创建 * 这个类采用单例模式实现 * * Copyright: Copyright (c) 2005 * * Company: AsiaInfo.com * * @author Dapple Wa
2008-07-18 17:31:00
4134
原创 线程池与工作队列
线程池主要用来解决线程生命周期开销问题和资源不足问题。通过对多个任务重用线程,线程创建的开销就被分摊到了多个任务上了,而且由于在请求到达时线程已经存在,所以消除了线程创建所带来的延迟。这样,就可以立即为请求服务,使应用程序响应更快。另外,通过适当地调整线程池中的线程数目可以防止出现资源不足的情况。线程池中的所有线程主动从工作队列中寻找需要执行的工作。线程池中的所有线程主动从工作队列
2008-07-18 17:25:00
1060
原创 synchronized 锁的实现方法
在 Java 编程中,所有的对象都有锁。线程可以使用 synchronized 关键字来获得锁。在任一时刻对于给定的类的实例,方法或同步的代码块只能被一个线程执行。这是因为代码在执行之前要求获得对象的锁。class CopyMachine { public synchronized void makeCopies(Document d, int nCopies) { /
2008-07-18 17:18:00
936
原创 左连接和右连接
数据库查询分为单表查询、连接查询、嵌套查询、集合查询。其中连接查询指涉及两个及以上表的查询,有等值连接、非等值连接、自然连接、自身连接、外连接五种。1、等值连接和非等值连接指where子句的查询条件(运由比较算符连接起来的条件,比较运算符有= >= 等)。比如: select student.*,sc.* from student,sc where student.sno=sc.sn
2008-07-15 17:24:00
1622
原创 TagLib 教程
一、概要: 1、JSP标签技术始于JSP1.12、作用:代码复用;JSP页面简洁3、四个步骤: A、创建实现标签功能的JAVA类(Bean或Servlet) B、创建标签库的描述文件 C、web.xml中添加标签库说明 D、JSP页面中添加标签库说明,及使用标签4、标签可以访问的数据范围类型:applicationsessionrequ
2008-07-14 17:27:00
1125
原创 如何学习Hibernate
Hibernate入门容易,掌握精通我也不敢自夸。我第一遍看Hibernate文档的时候也觉得很吃力,但不是因为Hibernate难掌握而感到吃力,是因为Hibernate文档处处都是持久层设计的经验和最佳实践。Hibernate文档准确的来说,绝大部分内容都在讲对象的持久层设计,而不是简单的Hibernate使用,使用问题查Java doc就够了。所以学习Hibernate,
2008-06-26 13:58:00
611
1
原创 Hibernate关系映射的说明
开源框架对数据层的映射包括实体的映射和关系的映射,其中关系的映射是最复杂的。如果你掌握不好关系映射,你干脆就不要用,否则会严重地影响性能。 Hibernate中的实体关系分为四种,基本上与我们在数据库建模中了解到的实体关系是一样的,即一对一关系、一对多关系、多对一关系、多对多关系。我们下面分别给出说明: 一、一对一关系、多对一关系 一对一、多对一关系在代码上的体现是在Jav
2008-06-20 15:24:00
678
原创 Hibernate查询方法与缓存的关系
在开发中,通常是通过两种方式来执行对数据库的查询操作的。一种方式是通过ID来获得单独的Java对象,另一种方式是通过HQL语句来执行对数据库的查询操作。下面就分别结合这两种查询方式来说明一下缓存的作用。通过ID来获得Java对象可以直接使用Session对象的load()或者get()方法,这两种方式的区别就在于对缓存的使用上。● load()方法在使用了二级缓存的
2008-05-27 17:35:00
1130
1
原创 关于hibernate的缓存使用
1. 关于hibernate缓存的问题:1.1.1. 基本的缓存原理Hibernate缓存分为二级,第一级存放于session中称为一级缓存,默认带有且不能卸载。第二级是由sessionFactory控制的进程级缓存。是全局共享的缓存,凡是会调用二级缓存的查询方法 都会从中受益。只有经正确的配置后二级缓存才会发挥作用。同时在进行条件查询时必须使用相应的方法才能从缓存中获取数据。比如
2008-05-27 16:58:00
606
原创 Hibernate缓存
Hibernate缓存是一种提高系统性能的比较好的工具,如果使用合理,则能极大地提高系统性能,但如果使用不合理也会使用系统性能下降。 Hibernate缓存分类:Hibernate缓存我们通常分两类,一类称为一级缓存也叫内部缓存,另一类称为二级缓存。Hibernate的这两级缓存都位于持久化层,存放的都是数据库数据的拷贝,那么它们之间的区别是什么呢?为了理解二者的区别,
2008-05-27 16:47:00
748
原创 Hibernate数据缓存
在Hibernate中,缓存将在以下情况中发挥作用:1.通过id[主键]加载数据的时候2.延迟加载 一级缓存:又称内部缓存,保存了与当前session相关联的数据对象,伴随Session实例的创建而创建,消亡而消亡。因此又称此缓存为Session level cache。一级缓存正常情况下又Hibernate自动维护,如果需要手动干预,可以通过以下方法完成。1.Sess
2008-05-27 16:00:00
537
原创 目前最好的JSP分页技术
前言 在使用数据库的过程中,不可避免的需要使用到分页的功能,可是JDBC的规范对此却没有很好的解决。对于这个需求很多朋友都有自己的解决方案,比如使用Vector等集合类先保存取出的数据再分页。但这种方法的可用性很差,与JDBC本身的接口完全不同,对不同类型的字段的支持也不好。这里提供了一种与JDBC兼容性非常好的方案。 JDBC和分页 Sun的JDBC规范的制定,有时很让人哭笑不得,
2008-05-27 09:23:00
727
原创 线程同步基础知识
我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。 当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团。 同步这个词是从英文
2008-05-15 17:09:00
604
原创 Struts 验证图片
package cn.com.lough.struts.action; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.util.Random; import javax.
2008-05-13 14:14:00
544
原创 实例解析-Java程序的加载过程
package belief.teach1.classProcess; /**//* * Java加载过程 by belief */ // 代表静态final变量的类 class StaticFinalVar ...{ public StaticFinalVar() ...{ System.out.println("静态fin
2008-05-13 13:59:00
547
原创 对象初始化全过程
/**//* *初始化全过程: * *1, 第一次创建MyClass类的对象,或者第一次访问MyClass的static方法或字段时,Java解释器会搜寻classpath,找到MyClass.class。 *2, 装载MyClass.class后,会对所有的static数据进行初始化。这样第一个装载Class对象的时候,会先进行static成员的初始化。 *3
2008-05-13 11:02:00
667
原创 Java Servlet的Filter 技术
Filter技术是servlet2.3新增加的功能。servlet2.3是sun公司与2000年10月发布的,它的开发者包括许多个人和公司团体,充分体现了sun公司所倡导的代码开放性原则。由于众多的参与者的共同努力,servlet2.3比以往功能都强大了许多,而且性能也有了大幅提高。它新增加的功能包括: 1.应用程序生命周期事件控制; 2.新的国际化; 3.澄清了类的装
2008-05-06 17:51:00
884
1
原创 Java Web项目开发到底需要掌握哪些技术
目前,国内外信息化建设已经进入基于Web应用为核心的阶段,Java作为应用于网络的最好语言,前景无限看好。然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情。概括一下,实施Java的WEB项目需要掌握的技术如下:--Java语言--面向对象分析设计思想 --设计模式和框架结构 --XML语言 --网页脚
2008-05-06 09:46:00
1459
原创 一种简单JDBC数据库连接池的实现
1.前言数据库应用,在许多软件系统中经常用到,是开发中大型系统不可缺少的辅助。但如果对数据库资源没有很好地管理(如:没有及时回收数据库的游标(ResultSet)、Statement、连接 (Connection)等资源),往往会直接导致系统的稳定。这类不稳定因素,不单单由数据库或者系统本身一方引起,只有系统正式使用后,随着流量、用户的增加,才会逐步显露。在基于Java开发的系统中,JDB
2008-05-05 17:06:00
980
1
原创 使用commons-digester解析XML文档示例
一.概述解析XML文档方面有不少的方法,也有不少的工具包可用,这里介绍的是来自Apache Jakarta的Digester,使用其解析XML文件非常方便而不需要过多的关心底层的具体解析过程。Digester最早出现在Struts中,后来随着Struts的发展以及其的公用性而被提到commens中独自立项,其底层实现的是SAX解析。 二.正文1.安装与配置使用Digester需
2008-05-05 14:34:00
1258
原创 用apache的dbcp来建立数据库连接池
数据库连接池的好处是不言而喻的,现在大部分的application server都提供自己的数据库连接池方案,此时,只要按照application server的文档说明,正确配置,即可在应用中享受到数据库连接池的好处。 但是,有些时候,我们的应用是个独立的java application,并不是普通的WEB/J2EE应用,而且是单独运行的,不要什么application
2008-05-05 11:53:00
1612
原创 Java数据库设计中的14个技巧
下述十四个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些经验的运用,读者不能生帮硬套,死记硬背,而要消化理解,实事求是,灵活掌握。并逐步做到:在应用中发展,在发展中应用。 1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或
2008-05-05 11:31:00
551
原创 log4j小结
简单的说log4j就是帮助开发人员进行日志输出管理的API类库。它最重要的特点就可以配置文件灵活的设置日志信息的优先级、日志信息的输出目的地以及日志信息的输出格式。 Log4j除了可以记录程序运行日志信息外还有一重要的功能就是用来显示调试信息。程序员经常会遇到脱离java ide环境调试程序的情况,这时大多数人会选择使用System.out.println语句输出某个变量值的方法进
2008-05-05 11:08:00
528
原创 一个简单的log4j例子
log4j.properties文件:log4j.rootLogger=warn, console, filelog4j.logger.mylog=info#console configlog4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.layout=org.apache.log4j.P
2008-05-05 10:46:00
777
原创 Javascript中最常用的55个经典技巧
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键no 可用于Table2. 取消选取、防止复制3. onpaste="return false" 不准粘贴4. oncopy="return false;" oncut="return false;" 防止复制5. IE地址栏前换成自己的图标6. 可以
2008-05-05 09:45:00
669
原创 JSP/Servlet的重定向技术
1.RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在b.jsp都可以获得,参数
2008-05-04 16:47:00
439
原创 Java网络编程
课前索引课前思考 1. 什么是TCP/ IP协议? 2. TCP/IP有哪两种传输协议,各有什么特点? 3. 什么是URL? 4. URL和IP地址有什么样的关系? 5. 什么叫套接字(Socket)? 6. 套接字(Socket)和TCP/IP协议的关系? 7. URL和套接字(Socket)的关系?8.1 网络编程基本概念,TCP/IP协议简介8.1.1 网络基础知识
2008-05-04 14:40:00
660
原创 struts验证框架开发详解
一、启用Validator插件虽然Validator框架是与Struts封装在一起提供的,但在默认状况下Validator并不被启用。为了启用Validator,要向你的应用程序的struts-config.xml文件中添加下面的插件定义。 二、配置validator-rules.xmlStruts示例应用程序带有这个文件的预配置拷贝。在大多数情况下,你不必
2008-04-30 11:09:00
595
原创 Struts相关jar包简介
commons-beanutils.jarCommons-Beanutils 这个是jakarta commons项目中的一个子项目。这个项目开发的目的是帮助开发者动态的获取/设值Java Bean的属性,同时解决每次都要写getXXX和setXXX的麻烦。 commons-digester.jar Digester本来仅仅是Jakarta Struts中的一个工具,用于处理st
2008-04-29 17:09:00
1908
原创 使用Struts Digester来解析XML文件
Apache Commons Digester用来简化xml文件处理,它依赖的组件:BeanUtils、Logging、Collections。在内部是采用SAX来解析XML文件。检修ABC项目中的“面包屑”处理就是使用这种方案。所谓面包屑就是在页面上起到导航作用的连接。比如“文档类别管理-》检修管理-》标准文档类别”。这里我们使用ct-views.xml文件来存放面包屑的所有内容。
2008-04-29 17:01:00
1810
3
原创 Java及相关字符集编码问题研究
1. 概述包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等。在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码就是"e4b8ad e69687"。注意,这两个字没有iso8859-1编码,但可以用iso8859-1编码来"表示"。 2. 编码基本知
2008-04-29 14:34:00
734
原创 Struts学习之Message Resources配置详解
一、概述类MessageResources可以使开发者方便地支持多语言,包括支持多时间格式和数字格式。使用资源包的另一个好处是允许开发者将标签字符串集中存储在一个位置,而不是分散在不同的JSP页面里。例如,对于每个用户的名字的标签"First Name" ,我们可以将它写在资源包中,在适当的地方通过Struts标签简单的进行引用: 这样做将会让你对程序的更改变的简单容易,
2008-04-29 13:40:00
9345
原创 J2EE的入门知识
一、准备篇 1 什么是J2EE?它和普通的Java有什么不同?答:J2EE全称为Java2 Platform, Enterprise Edition。“J2EE平台本质上是一个分布式的服务器应用程序设计环境——一个Java环境,它提供了:·宿主应用的一个运行基础框架环境。·一套用来创建应用的Java扩展API。”(引自《J2EE服务器端高级编程》)
2008-04-22 11:08:00
867
原创 Tomcat 的数据库连接池设置与应用
1.将数据库驱动程序的JAR文件放在Tomcat的 common/lib 中;2.在server.xml中设置数据源,以MySQL数据库为例,如下:在 节点中加入, type="javax.sql.DataSource" password="root" dri
2008-04-22 10:40:00
1326
梁肇新的编程高手箴言
2008-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人