
Java
李发展
《iOS移动开发从入门到精通》、《神奇的Photoshop脚本自动化与插件开发》、《幻灯之美-PPT设计艺术》图书作者,苹果商店热门应用《互动教程》作者,互动教程网创始人。拥有20多年的IT行业工作和教学经验,曾就职于知名外企,主要负责iOS高级开发、Java开发,服务过中国电信,宾利,古琦,香格里拉,杜蕾斯等行业标杆品牌。拥有丰富的实战和教学经验,授课形式不拘一格。熟悉iOS、Swift、Java、UI设计、Javascript开发等技术。
展开
-
Tomcat的一些小招
<br />在学习与容器挂钩的程序设计时,不免要来回启动你的容器,而对于初学者用得最多的就是apache的tomcat,对于大家每次都要不厌其烦的输入url,比如http://localhost:8080/ajax/dynamicLists.html 难到不觉得麻烦吗?我是觉得相当的麻烦,但tomcat为我们想到了,所以,你每次只需要输入 http://localhost:8080/ajax/就有一个目录列表你在中间单击dynamicLists.html不就好了吗?这样一就方便一些。所以建议大家转载 2010-06-08 18:04:00 · 743 阅读 · 0 评论 -
mysql存储过程学习及java调用存储过程
<br /> 首先在mysql中练习下存储过程的小例子: mysql> delimiter //<br />mysql> create procedure hello()<br /> -> begin<br /> -> select 'It is not a HelloWorld';<br /> -> end<br /> -> //<br />Query OK, 0 rows affected (0.01 sec)<br />其中“delim转载 2010-06-22 18:02:00 · 792 阅读 · 0 评论 -
TCP建立连接的三次握手
<br />TCP协议是一种可靠的连接,为了保证连接的可靠性,TCP的连接要分为几个步骤.我们把这个连接过程称为"三次握手". 7)A)<br />下面我们从一个实例来分析建立连接的过程. |.<br /><br />第一步客户机向服务器发送一个TCP数据包,表示请求建立连接. 为此,客户端将数据包的SYN位设置为1,并且设置序列号seq=1000(我们假设为1000). <br /><br />第二步服务器收到了数据包,并从SYN位为1知道这是一个建立请求的连接.于是服务器也向客户端发送转载 2010-06-21 16:48:00 · 1001 阅读 · 0 评论 -
javac时提示gbk字符集问题
<br />在对一个utf-8编码的java文件,进行编绎时,提示gbk字符集问题,解决方法:<br /> <br />javac -encoding UTF-8 xxxxxx.java原创 2010-06-21 17:33:00 · 1369 阅读 · 0 评论 -
关于Oracle与SqlServer中获取所有字段、主键、外键的sql语句(转)
Oracle:查询某个表中的字段名称、类型、精度、长度、是否为空select COLUMN_NAME,DATA_TYPE,DATA_PRECISION,DATA_SCALE,NULLABLE from user_tab_columns where table_name ='YourTableName'查询某个表中的主键字段名select col.column_name from user_constraints con, user_cons_columns col wher转载 2010-06-21 13:48:00 · 1016 阅读 · 0 评论 -
Java byte[]和char[]互转
<br />public static char[] bytesToChars(byte[] bytes) { String s=new String(bytes); char chars[]=s.toCharArray(); return chars;}原创 2010-06-21 16:34:00 · 645 阅读 · 0 评论 -
10000个星星里,随机抽取不同的1000星星
public static List get1000Ball() { List stars = new ArrayList(); List returnLs = new ArrayList(); for(int i=1;i原创 2010-06-22 13:13:00 · 763 阅读 · 0 评论 -
常见的23种设计模式
<br /> 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。 <br /><br />建造模式:将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。 <br /><br />工厂方法模式:核心转载 2010-06-22 13:53:00 · 580 阅读 · 0 评论 -
JdbcTemplate学习笔记
1、使用JdbcTemplate的execute()方法执行SQL语句Java代码 jdbcTemplate.execute("CREATE TABLE USER (user_id integer, name varchar(100))"); jdbcTemplate.execute("CREATE TABLE USER (user_id integer, name varchar(100))");2、如果是UPDATE或INSERT,可以用update()方法。Java代码 jdbcTemplate转载 2010-06-22 17:54:00 · 712 阅读 · 0 评论 -
B树、B-树、B+树、B*树都是什么
B树、B-树、B+树、B*树都是什么B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关键字大,就进入右儿子;如果左儿子或右儿子的指针为空,则报告转载 2010-06-22 15:55:00 · 519 阅读 · 0 评论 -
jsp页面中显示list的长度
<br />//很简单${fn:length(unknownSiteList)}原创 2010-08-13 16:44:00 · 1531 阅读 · 0 评论 -
在hql中使用distinct
<br />String sql = "SELECT distinct r.site FROM Report r where r.site.channel.id=8 and r.keyword.group.profile.id="+profileId ; Query countQuery = createQuery(sql); List<Site> results = countQuery.setCacheable(true).list(); return results;原创 2010-08-13 16:38:00 · 8562 阅读 · 0 评论 -
搜集的多个java图片处理方法
<br /><br />//** 輸入的是 HiColor 的 jpeg 檔案..<br />//** 輸出的格式欲為 HiColor 的 gif 檔案, 但每次都出現 too many colors (error message)<br />//** 若輸入的是8-bit jpeg(灰階) 檔案, 則就不會有問題..頂多只到 256灰階顏色罷了..<br />//** 是否有可解決的方法???<br />//***************************************原创 2010-06-09 13:47:00 · 5185 阅读 · 0 评论 -
实现国际化后,jsp页面切换语言
<br /><mce:script type="text/javascript"><!--function changeLanguage() { var lang=$('#language').val(); window.location.href='/language/'+lang+'.jhtml?redirect=${requestScope['javax.servlet.forward.request_uri']}';}// --></mce:script><br /> <原创 2010-08-05 12:19:00 · 2736 阅读 · 0 评论 -
oracle 存储过程的基本语法 及注意事项
oracle 存储过程的基本语法1.基本结构CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGINEND 存储过程名字2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND转载 2010-06-11 17:34:00 · 729 阅读 · 0 评论 -
jumliang Spring中常用的hql查询方法(getHibernateTemplate())
<br />一、find(String queryString);<br /> 示例:this.getHibernateTemplate().find("from bean.User");<br /> 返回所有User对象<br /> <br />二、find(String queryString , Object value);<br /> 示例:this.getHibernateTemplate().find("from bean.User u where u.name=?转载 2010-06-17 13:32:00 · 705 阅读 · 0 评论 -
设置TOMCAT启用GZIP压缩
原理简介 HTTP压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求服务器对应资源后,从服务器端将资源文件压缩,再输出到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP ,Servlet,SHTML等输出的网页也能进行压缩,压缩效率也很高。 配置方法Tomcat5.0以后的版本是支持对输出内容进行转载 2010-06-17 10:15:00 · 819 阅读 · 0 评论 -
总结的DAO中常见的操作方法
//创建public Long createObject(Object obj) throws Exception(){ return (Long)getHibernateTemplate().save(obj);}//查询一个对象public Object getObject(String name,String pk) throws Exception(){ String queryStr = "from users as u where u.id = ? a原创 2010-06-17 15:30:00 · 1329 阅读 · 0 评论 -
Hibernate常见面试题汇总
<br />1.在数据库中条件查询速度很慢的时候,如何优化?<br />1.建索引<br />2.减少表之间的关联<br />3.优化sql,尽量让sql很快定位数据,不要让sql做全表查询,应该走索引,把数据量大的表排在前面<br />4.简化查询字段,没用的字段不要,已经对返回结果的控制,尽量返回少量数据<br />2.在Hibernate中进行多表查询,每个表中各取几个字段,也就是说查询出来的结果集并没有一个实体类与之对应,如何解决这个问题?<br />解决方案一,按照Object[]数据转载 2010-06-17 16:44:00 · 749 阅读 · 0 评论 -
十五道关于Hibernate的面试题
<br />(1)一般情况下,关系数据模型与对象模型之间有哪些匹配关系(多选)<br />A)表对应类<br />B)记录对应对象<br />C)表的字段对应类的属性<br />D)表之间的参考关系对应类之间的依赖关系<br />(2)以下关于SessionFactory的说法哪些正确?(多选)<br />A)对于每个数据库事务,应该创建一个SessionFactory对象<br />B)一个SessionFactory对象对应一个数据库存储源。<br />C)SessionFactor转载 2010-06-17 10:45:00 · 690 阅读 · 0 评论 -
获取mysql/oracle数据库外键
<br />import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class Main { public static void main(String[] args) throws Exception { Connection c转载 2010-06-21 13:51:00 · 1144 阅读 · 0 评论 -
Spring操作数据库
<br />以前一直都没有试过,前几天打算把wordpress换成自己写的程序,就想到了数据的导入和导出,首先想到的是用数据库工具来导。可是觉得有些麻烦,我自己的程序是用spring+hibernate的。后来我就试了一下spring的JdbcTemplate,就和HibernateTemplate一样的好用。首先增加一个连接到wp数据库的dataSource <bean id="dataSource2" class="org.springframework.jdbc.datasource.转载 2010-06-22 17:38:00 · 1233 阅读 · 0 评论 -
web.xml中filter代码中加载spring中定义的bean
<br />HttpServletRequest httpRequest = (HttpServletRequest) request;HttpSession session = httpRequest.getSession();//get bean from applicationcontext BeanFactory beans = WebApplicationContextUtils.getWebApplicationContext(session.getServletContext(原创 2010-08-13 16:37:00 · 851 阅读 · 0 评论 -
hibernate中对象的3种状态----瞬时态、持久态、脱管态
<br />Hibernate的对象有3种状态,分别为:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。 瞬时态<br /> 由new命令开辟内存空间的java对象,<br /> eg. Person person = new Person("amigo", "女");<br />转载 2011-02-24 12:18:00 · 665 阅读 · 0 评论 -
jstl 获取字符串长度 字符串操作
<br />/***********截取一定长度字符串*****************/ <br />在应用程序开发中,如果内容过长,想截取一定长度字符,然后补充"....." <br />jstl1.1引入了一个fn.tld的标签,用于处理字符,如获得字符length,substring,indexof,endWith,lowcase <br />实现截取字符串 <br />如: <br /><c:set var="log.logTitle" value="做一个截取字符串长度的测试" <br /><c转载 2011-02-28 17:48:00 · 1445 阅读 · 0 评论 -
Quartz的时间配置
<br />quartz配置<br />一个Cron-表达式是一个由六至七个字段组成由空格分隔的字符串,其中6个字段是必须的而一个是可选的,如下: <br />字段名 允许的值 允许的特殊字符 <br />秒 0-59 , - * / <br />分 0-59 , - * / <br />小时 0-23 , - * / <br />日 1-31 , - * ? / L W C <br />月 1-12 or JAN-DEC , - * / <br />周几 1-7 or SUN-SAT , - * ? /转载 2011-03-21 11:13:00 · 742 阅读 · 0 评论 -
Quartz的时间配置
<br />quartz配置<br />一个Cron-表达式是一个由六至七个字段组成由空格分隔的字符串,其中6个字段是必须的而一个是可选的,如下: <br />字段名 允许的值 允许的特殊字符 <br />秒 0-59 , - * / <br />分 0-59 , - * / <br />小时 0-23 , - * / <br />日 1-31 , - * ? / L W C <br />月 1-12 or JAN-DEC , - * / <br />周几 1-7 or SUN-SAT , - * ? /转载 2011-03-21 11:58:00 · 547 阅读 · 0 评论 -
Java 调用 Shell 命令
<br />近日项目中有这样一个需求:系统中的外币资金调度完成以后,要将调度信息生成一个Txt文件,然后将这个Txt文件发送到另外一个系统(Kondor)中。生成文件自然使用OutputStreamWirter了,发送文件有两种方式,一种是用写个一个类似于FTP功能的程序,另外一种就是使用Java来调用Shell,在Shell中完成文件的发送操作。我们选择后一种,即当完成外币资金的调度工作后,用Java的OutputStreamWriter来生成一个Txt文件,然后用Java来调用Shell脚本,在Shel转载 2011-03-28 16:28:00 · 975 阅读 · 0 评论 -
爬网入门:JAVA抓取网站网页内容
<br /><br />最近在用JAVA研究下爬网技术,呵呵,入了个门,把自己的心得和大家分享下<br />以下提供二种方法,一种是用apache提供的包.另一种是用JAVA自带的.<br />代码如下:<br /> <br /><br />// 第一种方法<br />//这种方法是用apache提供的包,简单方便<br />//但是要用到以下包:commons-codec-1.4.jar<br />// commons-httpclient-3.1.jar<br />//转载 2011-03-30 14:19:00 · 2196 阅读 · 0 评论 -
Flex 与java jsp 交互
<br />最近这些天在研究Flex,再加上最近工作上有点忙,一直没有把自己学的一点东西,写出来.今天有时间就把自己自学的一点经验写上,当然很简单,但是对于刚刚学习Flex的人可能有一些提示吧<br /> 我刚学习Flex时,学到一定程度时, 我就想知道Flex 怎么与服务器,交互,所以我自己感觉肯定也有人和我一样的感受.其实说真的,我觉的Flex他的核心并不是与服务器交互,我觉的还是页面的效果,Flex 如果学的好,那种3D效果做的真的很酷,当然这只是自己的一点感受.<br />不说了 还是转载 2011-03-30 15:28:00 · 1416 阅读 · 0 评论 -
JAVA:lucene 入门学习,简单实例模访google搜索
<br /> 这篇可以动态的增加建索引的内容,如果到时信息来源在数据库,就可以直接读数据库的信息 然后建索引了<br />这样可以更深的了解lucene搜索.换了一种方法.多一种方法多一种思想.因为这种方法更实际<br />public static void main(String[] args) throws CorruptIndexException, LockObtainFailedException, IOException { String conte转载 2011-03-30 17:08:00 · 2614 阅读 · 0 评论 -
web Filter中使用spring注入的bean
<br /><br />方法一:<br /> web.xml配置一个<br /> <filter> <filter-name>DelegatingFilterProxy</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> <init-param> <param-name>tar转载 2010-11-17 12:32:00 · 8592 阅读 · 0 评论 -
No bean named 'springSecurityFilterChain' is defined 问题解决
No bean named 'springSecurityFilterChain' is defined这类问题,网上解答众说纷纭。对于我的项目,都不是解决答案。经过摸索,原来是新加了一个src.java.maxmind包,没有把它引入到java build path 中的source选项中去。加入到source中后,解决问题。原创 2010-11-03 12:14:00 · 4453 阅读 · 0 评论 -
ajax及tomcat的乱码问题
首先,说说JSP/Servlet中的几个编码的作用。 在JSP/Servlet中主要有以下几个地方可以设置编码,pageEncoding="UTF-8"、contentType="text/html;charset=UTF-8"、request.setCharacterEncoding("UTF-8")和response.setCharacterEncoding("UTF-8"),其中前两个只能用于JSP中,而后两个可以用于JSP和Servlet中。 1、pageEncoding="UTF-转载 2010-10-22 10:33:00 · 3071 阅读 · 1 评论 -
表实体bean的关联
<br />表b_profile,表b_site及两表之间的关联表b_profile_site,可以这样写表b_profile实体Profile.java的setter和getter:<br /> <br />@ManyToMany(fetch = FetchType.EAGER,cascade=CascadeType.ALL) @JoinTable( name="b_profile_site", joinColumns={@JoinColumn(name="profile_id")},原创 2010-08-18 12:23:00 · 579 阅读 · 0 评论 -
表实体bean的关联
<br />表b_profile,表b_site及两表之间的关联表b_profile_site,可以这样写表b_profile实体Profile.java的setter和getter:<br /> <br />@ManyToMany(fetch = FetchType.EAGER,cascade=CascadeType.ALL) @JoinTable( name="b_profile_site", joinColumns={@JoinColumn(name="profile_id")},原创 2010-08-18 12:05:00 · 943 阅读 · 0 评论 -
外包小项目如何承接防止欺骗
<br />原文连接如下:http://www.newsmth.net/bbstcon.php?board=ITjob&gid=53326<br />昨天有人站内通过消息的方式联系我一个项目<br />发信站: 水木社区 (Tue Aug 10 10:36:04 2010), 站内<br /><br />需求并不复杂。<br />但是联系的方式让人很可疑。<br />我反复说了不下5次,请你写一个文档发给我,以便于我给你回复。<br />对方还是一直站内消息都不是站内邮件给我说一些所谓的转载 2010-08-27 10:54:00 · 1026 阅读 · 0 评论 -
使用 简化配置
<br />Spring 2.1 添加了一个新的 context 的 Schema 命名空间,该命名空间对注释驱动、属性文件引入、加载期织入等功能提供了便捷的配置。我们知道注释本身是不会做任何事情的,它仅提供元数据信息。要使元数据信息真正起作用,必须让负责处理这些元数据的处理器工作起来。<br />而我们前面所介绍的 AutowiredAnnotationBeanPostProcessor 和 CommonAnnotationBeanPostProcessor 就是处理这些注释元数据的处理器转载 2010-09-10 11:01:00 · 766 阅读 · 0 评论 -
EL表达式截取字符串
<br />uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>上面的 uri 根据你的实际情况定。${fn:substring("你要截取的字符串"),beginIndex,endIndex}<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>下面是JSTL中自带的方法列表以及其描述函数名 函数说明 使用举例fn:contai转载 2010-09-08 15:19:00 · 2869 阅读 · 1 评论 -
如何写出高效的sql的一点想法
<br />如何写出高效的sql的一点想法<br />迷糊的问题:<br />1.什么样的sql,才算是高效的sql呢?<br />2.sql为什么不走索引?如何让sql走索引,即改变sql的执行计划<br />3.索引有哪几种?<br />4,什时候用索引,什么时候全表扫描<br />oracle优化器的表统计信息,评估出表的最佳连接顺序,表的连接方法,执行路径;<br />最后生成执行计划,oracle就按着这个计划来执行sql<br />1.什么样的sql是高效sql?<br /><b转载 2010-09-03 18:02:00 · 677 阅读 · 0 评论