
Java
lectery
这个作者很懒,什么都没留下…
展开
-
[转] Java中的hashCode方法
首先,想要明白hashCode的作用,你必须要先知道Java中的集合。 总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢?这就是Object.equals方法了。但是,如果...原创 2010-09-26 15:32:23 · 108 阅读 · 0 评论 -
Jsp+Servlet+JDBC实现登录注册(一)
1. 搭建环境 2. 在MySQL中建立数据库表表结构如下:Id:无实意主键,采用自增方式生成stuId:学号Name:姓名Password:密码registerDate:注册时间email:Emailphone:电话号码sex:性别对应的SQL语句如...2009-07-13 22:54:42 · 1418 阅读 · 0 评论 -
EJB3.0实现登录注册(二)
9. 编写消息驱动bean消息驱动bean的主要用于接受和处理异步消息,这些信息可能来自一个外部的系统或者同一个应用中的其它组件,之所以称它们为异步,那时因为这些消息可以在任何时候到达,而不同于一般的远程方法调用的结果,是立马直接得到的。同UI的事件处理工作方式类似,消息驱动bean用于监听发送给它的异步消息。值得注意的是,与远程调用方法不同,异步消息的发送者不会停下来去等待对方的响应。消息驱...2009-07-12 22:11:49 · 191 阅读 · 0 评论 -
EJB3.0实现登录注册(一)
环境IDE:Eclipse3.4(JavaEE版)数据库:MySQL5.0服务器:Jboss4.0.5步骤1. 搭建环境2. 在MySQL中建立数据库表表结构如下:Id:无实意主键,采用自增方式生成stuId:学号Name:姓名Password:密码registerDate:注册时间email:Emailphone:电话号码sex:...2009-07-12 22:08:30 · 382 阅读 · 0 评论 -
eclipse代码提示设置
最近使用eclipse突然间代码提示没了:查了一下,找到了几个解决办法: 1. window->Preferences->Java->Editor->Content Assist->Enable auto activation 选项要打勾2. windows-->preference-->workbench-->keys 下设置Con...原创 2009-06-24 11:02:41 · 100 阅读 · 0 评论 -
java rmi中找不到类的解决
当rmi程序提示如下异常时 java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:...2009-01-03 18:21:50 · 661 阅读 · 0 评论 -
用BlazeDS实现Flex与Java通信
最近项目中需要Flex与Java进行通信,初步选定使用BlazeDS。看见网上很多HelloWorld的例子都没运行起来,所以决定把自己的经验总结一下分享给大家。配置Flex和Java Web项目的开发的开发环境,这里就不再赘述了,我使用的是Eclipse JavaEE + Flex Builder。下载BlazeDS压缩包,好像有三种版本(Turkey、bin、source), 我用的...2010-03-12 19:26:59 · 110 阅读 · 0 评论 -
自己写的一个分页标签
由于项目需要自己写了个简单的分页标签,只完成了简单的分页功能,没有提供样式和多分页的处理,下面是代码的DEMO: PagerTag.java package lectery.tag;import java.io.IOException;import javax.servlet.jsp.JspContext;import javax.servlet.jsp.Jsp...2009-06-05 10:25:40 · 159 阅读 · 0 评论 -
Struts2的配置
1.添加jar包 Commons-logging freemarker struts2-core xwork ognl 2.配置web.xml <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.strut...2009-06-04 22:11:49 · 87 阅读 · 0 评论 -
jsp实现文件下载的代码
OutputStream out=response.getOutputStream(); byte by[]=new byte[500]; File fileLoad=new File(path); response.reset(); response.setContentType("application/vnd.ms-excel"); resp...2008-11-28 16:17:09 · 690 阅读 · 0 评论 -
roller源码研究(二)-- 博客中的ping
今天在研究roller的时候发现其中有个ping的功能,之前从未听说过类似的东西。上网查了一下http://www.blogjava.net/H-bomb/archive/2008/01/21/176858.html 写道Traceback Ping在blog系统中广泛使用,简单说来,Trackback是网站与网站之间互相通告的一种方法。例如,当你读了一篇日志,想对此写下自己的感想...原创 2009-11-25 15:01:31 · 103 阅读 · 0 评论 -
Jsp+Servlet+JDBC实现登录注册(二)
1. 开发数据库访问类由于本次实验中只涉及到了一张数据库表,所以代码编写起来相对简单。整体DAO的组织采用了常见的三层结构,在编写过程中参考了Clinton Begin的经典例子JPetStore中有关数据库访问类编写的代码。2. 开发Jsp页面本实验的最终目标是要实现一个注册登录系统,所以jsp页面大致上分为5...2009-07-13 22:58:21 · 903 阅读 · 0 评论 -
Java中GC的工作原理
一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率 ,才能提高整个应用程序的性能。本篇文章首先简单介绍GC的工作原理之后,然后再对GC的几个关键问题进行深入探讨,最后提出一些Java程序设计建议,从GC角度提高Java程序的性能。 GC的基本原理 Java的内...原创 2009-02-23 12:15:28 · 128 阅读 · 0 评论 -
修改struts2中action的拓展名
struts2中action的默认拓展名是".action",而之前的拓展名一直为".do",工作中需要要把struts2的action拓展名改为".do"的形式,查了一下,找到两种方法: 在struts.xml中进行如下配置 <constant name="struts.action.extension" value="do" /> 在web.xml的filter原创 2010-09-26 12:26:33 · 116 阅读 · 0 评论 -
Java内存控制
读取内存信息的函数Runtime.getRuntime().maxMemory(): 获得虚拟机可控制的最大内存数Runtime.getRuntime().totalMemory():得到虚拟机当前已经使用的内存数虚拟机参数-Xms:设置初始堆内存大小,如java -Xms1024m ...-Xmx:设置最大对内存大小-Xss:设置JVM栈内存大小二维数...原创 2011-04-24 21:38:18 · 178 阅读 · 0 评论 -
Java中String与byte[]的转换
String -> byte[]: byte[] bytes = s.getBytes(); byte[] -> String: String str = new String(bytes);原创 2011-04-15 09:43:30 · 137 阅读 · 0 评论 -
iBatis对于空值的处理
使用Ibatis作为数据库持久层的人都有体会,Ibatis 对NULL值的处理并不优雅.本文讨论常见的NULL值处理方案.jdbcType 应该是java.sql.Types 中所列举的类型中的一种.1.String为NULL的处理:拿SQL Server 来说,其中与String对应的类型有很多种,如VARCHAR,NVARCHAR,TEXT...如果存入数据库...2010-02-25 10:39:14 · 211 阅读 · 0 评论 -
iBatis结果集不支持char类型
项目中用ibatis来完成持久化操作偶然间发现ibatis的映射在使用char的时候会出现异常,后来查了一下才发现根本就不支持char类型。无奈之下只好把数据表中的char换成了int,杯具啊~ ibatis支持的类型如下图所示:...2010-02-25 10:14:58 · 181 阅读 · 0 评论 -
[转]ibatis缓存的使用
iBATIS可以在Mapped Statement中使用缓存模型,在内存中缓存常用的数据。属性 cacheModel 定义查询 mapped statement 的缓存。每一个查询 mapped statement 可以使用不同或相同的cacheMod...原创 2010-02-24 09:48:05 · 125 阅读 · 0 评论 -
Java类中的文件路径
很多时候程序需要读取工程中的一些文件(如xml、properties等等),而文件的路径指定往往会困扰我们的开发工作,尤其在web程序的开发中路径问题尤为突出,下面就简单介绍一下java中相对路径的获得方法。getRealPath():仅限使用在servlet中,可以动态获得文件的绝对路径,部署在服务器上的工程通常要查看部署后服务器中的路径。this.getServletContext(...2010-05-05 16:29:12 · 250 阅读 · 0 评论 -
float保留两位小数的方法
有时候需要对float的小数位数进行限制,通常最简单的两种方法如下:使用DecimalFormat:float fv = 1234.56789f ;DecimalFormat df = new DecimalFormat("####.##");System.out(df.format(fv)); 可以先将float变量乘以100转成整数,之后再除以100:...2010-05-05 16:19:12 · 3241 阅读 · 0 评论 -
iBatis中insert语句返回插入后id的方法
一直都在用iBatis来完成数据的持久化操作,可是一直都不知道如何才能把insert后的id返回回来,在网上找了好久终于试成了,与大家分享一下。具体方法是在定义insert 语句的时候在原有的语句后面加上selectKey标签,例如 <insert id="user.insert" parameterClass="user"> insert into user...2010-05-01 16:59:38 · 430 阅读 · 0 评论 -
eclipse中安装svn插件
以前提到过SVN版本控制器和客户端的安装和配置,这里再在说一下在编译器中怎么使用SVN,使其既可以单独使用,也可以配合SVN客户端一起使用。由于编译器种类众多,插件种类也不同,这里只简单介绍下Eclipse的插件安装。我用的版本是Eclipse3.2.2+MyEclipse_5.1.1,由于本身只有CVS而没有集成SVN,所以要想使用SVN做版本控制只好装一个Eclipse插件...原创 2009-02-23 15:13:22 · 85 阅读 · 0 评论 -
roller源码研究(一)-- eclipse中roller环境搭建
最近一直在查找研究一些开源系统的源码,之前锁定了php的blog系统--wordpress,今天又发现的在开源博客系统中少有的java版本--roller,一个java语言编写的web blog。在自己机器上搭了一下,运行起来还不错,准备开始研究它的源代码。 先谈一谈,我把roller作为eclipse中的项目部署的方法吧。(部分内容参考了http://www.blogjava....2009-11-25 13:10:26 · 151 阅读 · 0 评论 -
"组合"&“聚合”之浅见
组合和聚合是比较容易混淆的两个关系,二者有很大的相似性。其中聚合指的是整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构。从而找出一些组成类,该整体类和组成类之间就形成了聚合关系。例如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等。需求描述中“包含”、“组成”、“分为…部分”等词常意味着聚合关系。也表示类之间整体和部分的关系,但是组合关系中部分和整...2009-05-19 22:14:36 · 134 阅读 · 0 评论 -
数据库连接池的配置
概述 目前数据库连接池产品是非常多的,DBCP、C3P0、Proxool等都是非常优秀的产品。连接池的性能和稳定性会对我们的程序造成极大的影响,因此,有必要对这些连接池产品进行一些选择。另外,连接池的配置是否恰当,将会决定该连接池的性能和稳定性表现,所以,本文将给出连接池配置的一些要点。在这些连接池产品中作出选择是比较困难的,每个优秀的产品都有它自身的特点,而且也很难找出一个在各种运行环...原创 2009-05-06 16:27:53 · 105 阅读 · 0 评论 -
MyEclipse内存不足的解决
如果安装后没有进行设置,在MyEclipse运行中就可能会经常出现关于内存不足的提示。比如:MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) space remains.提示中也给出了解决问题的方法,把下面这句话加到eclipse的配置文件中:-vmargs -Xms...原创 2009-04-15 19:04:34 · 116 阅读 · 0 评论 -
被Hibernate的Session绊了一跤
写这篇博客的原因是出于昨天我在问答频道的一个问题,该问题如下: 当在servlet中调用DAO的save方法并提交事务后,控制台显示已经执行了sql语句,但是却没有向数据库中记录,如果把数据库的隔离级别设置为未提交读,这是可以看见刚插入的记录,但是之前已经调用了提交事务的语句,这是为什么呢? 注:主键生成策略为“native”,数据库是MySQL。问题补充:已经把数据库操作放到了事...2009-04-14 12:37:22 · 101 阅读 · 0 评论 -
SSH框架的整合
开发环境: IDE:MyEclipse7.0 SSH:Struts1.2+Hibernate3.2+Spring2.0整合方法:1. 建立工程,添加Struts支持,与单独用Struts做开发的配置没什么不同,基本上就是一直“下一步”。2. 添加Hibernate,当向导执行到配置SessionFactory时可跳过,因为Se...2009-04-11 00:36:21 · 95 阅读 · 0 评论 -
Java读写文件的正确方法
虽然很久以前就用java做过文件的读取操作,但是今天做的时候还是遇到了问题,解决后的代码如下[code="java"]FileReader fr;FileWriter fw;char buffer = new char[512]; ...fw = new FileWriter(distPath); fr = new FileR...2009-04-10 22:40:03 · 142 阅读 · 0 评论 -
Spring与Hibernate整合的配置
最近一直在学习ssh开发,今天在进行spring和hibernate整合的事务配置时出现了tx命名空间找不到的问题,原来在spring中配置hibernate的事务处理时需要引入tx命名空间,特提供一个spring的配置文件的例子applicationContext.xml <?xml version="1.0" encoding="UTF-8"?><beans xm...2009-04-08 12:11:20 · 134 阅读 · 0 评论 -
大家都用什么进行web系统测试
最近需要对web系统尤其是用JavaEE的轻量级框架开发的系统进行测试,可是各种测试工具林林总总,不知道该选择哪一个,大家都经常用什么工具做web测试啊?...2009-04-05 23:51:51 · 180 阅读 · 0 评论 -
ThreadLocal浅析
ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thre...原创 2009-04-04 09:17:30 · 85 阅读 · 0 评论 -
Hibernate的抓取策略
首先介绍一下抓取策略: 抓取策略(fetching strategy) 是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略。抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL 或条件查询(Criteria Query)中重载声明。 &n...原创 2009-04-03 11:22:22 · 82 阅读 · 0 评论 -
hibernate中配置proxool连接池
这里只提供了proxool连接池的配置方法,其他的连接池还没有学到,学完之后会一一奉上具体过程如下:(1)在hibernate.cfg.xml中加入<property name="proxool.pool_alias">pool1</property><property name="proxool.xml">ProxoolConf.xml&l...原创 2008-09-18 21:59:13 · 140 阅读 · 0 评论 -
Hibernate中get和load的区别
hibernate中get方法和load方法的根本区别在于: 如果你使用load方法,hibernate认为该id对应的对象(数据库记录)在数据库中是一定存在的,所以它可以放心的使用,它可以放心的使用代理来延迟加载该对象。在用到对象中的其他属性数据时才查询数据库,但是万一数据库中不存在该记录,那没办法,只能抛异常,所说的load方法抛异常是指在使用该对象的数据时,数据库中...原创 2009-03-24 21:51:02 · 91 阅读 · 0 评论 -
Spring学习笔记
1.spring程序控制台log4j警告的消除: 在src中创建log4j.properties文件,内容如下log4j.rootLogger=WARN,stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayo...原创 2008-10-12 14:04:09 · 74 阅读 · 0 评论 -
Eclipse下搭建Struts2开发环境
作者:bukebushuo 来源:http://blog.youkuaiyun.com/bukebushuo/archive/2007/03/29/1545728.aspx 最近下载了最新的struts 2.06,在使用其中附带的例子时,在配置上遇到了一些问题。 经过很多次的努力后,终于配置成功。现在把配置过程写出来供大家参考! 一 软件:1 Eclipse+lomboz 3....原创 2009-10-09 15:54:46 · 313 阅读 · 0 评论 -
Hibernate的sql查询
今天用Hibernate来执行sql语句,简单总结一下 SQLQuery query = null;query = session.createSQLQuery("select * from fun as ca,(select * from comment as r1 where r1.created_at>=all(select r2.created_at from co...2009-04-24 10:54:17 · 100 阅读 · 0 评论 -
一个简单的通知管理系统
最近偶然的机会做了个小程序--通知管理系统,功能如下: 1. 管理员能够增删改查自己创建的通知 2. 通知包括标题,内容,发布时间字段 3. 创建完成通知后,管理员可将已创建的通知发送给已有的员工,具体的员工可在页面进行配置 4. 发送和接收邮件的地址在web页面,是可配置修改 ...2009-11-05 21:26:00 · 605 阅读 · 0 评论