JSPBLOG
首 页 | 风信绮缘 | 生活随笔 | 编程笔记 | 经典收藏 | English | NetWorking | 风信相册 | 风信论坛
用 户 中 心User Center disp
用户名
密码
cookies
  注册为本站会员  忘记密码
站 点 日 历Calendar disp
上一年  上一月  2010-9-6  下一月  下一年
 
 
 
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
 
站 点 统 计System disp
今日更新:0
日志总数:68 篇
评论总数:119 篇
注册会员:3 人
在线人数:39 人
访问人数:1288445 人次
建立日期:2007-11-25
JavaWind.Net Ad
日 志 搜 索Search disp
相 册 中 心Album disp
风 格 皮 肤
默认风格   JavaWind   JavaWind2
其 他 信 息
UTF-8 Basis Of MySQL
xhtml By DIV+CSS
rss1 rss2
Support Firefox Attribution-NonCommercial-ShareAlike 2.5
搜索到关键字为 String 的相关日志 22 篇: (" "[空格]和"+"[加号] 可作搜索分隔符号使用.)
Unix/Linux下webLogic无法使用jasperreports(iReport)生成报表的问题解决方法

今天在Unix下的webLogic部署一个项目后,发现报表无法导出了(但是在Windows开发环境下正常),后台报错如下:

java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay()V(X11GraphicsEnvironment.java:???)
        at sun.awt.X11GraphicsEnvironment.<clinit>()V(X11GraphicsEnvironment.java:134)
        at jrockit.vm.Classes.forName0(Ljava.lang.String;ZI)I(Unknown Source)
...

新窗口打开浏览 阅读全文 ......
tags: Linux  webLogic  jasperreports  [作者:唧唧 | 分类:编程笔记 | 评论/阅读:0/192 | 引用:0]
下列代码可以实现把Java的CST格式的时间字符串转为为Date对象和所需要的日期时间格式!

String dateStr = "Wed Sep 16 11:26:23 CST 2009"; 
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);

//java.util.Date对象
Date date = (Date) sdf.parse(dateStr);

//2009-09-16
String formatStr = new SimpleDateFormat("yyyy-MM-dd").format(date);
System.out.println(formatStr);

...


新窗口打开浏览 阅读全文 ......
tags: CST  Date  日期  时间  [作者:唧唧 | 分类:编程笔记 | 评论/阅读:0/853 | 引用:0]
用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件
  [-m 最大错误数]             [-f 格式化文件]         [-e 错误文件]
  [-F 首行]                   [-L 末行]             [-b 批大小]
  [-n 本机类型]               [-c 字符类型]         [-w 宽字符类型]
  [-N 将非文本保持为本机类型] [-V 文件格式版本]     [-q 带引号的标识符]
  [-C 代码页说明符]           [-t 字段终止符]       [-r 行终止符]
  [-i 输入文件]               [-o 输出文件]         [-a 数据包大小]
  [-S 服务器名称]             [-U 用户名]           [-P 密码]
...

新窗口打开浏览 阅读全文 ......
tags: SQL  Excel  xls  [作者:唧唧 | 分类:编程笔记 | 评论/阅读:0/850 | 引用:0]
在日常开发当中,我们可能会遇到这种情况,想使用单独一条SQL更新某一个字段,如果没有配置详细的VO和sqlMap-xml映射,一般人第一反应就是使用JDBC直接操作。
以下的做法只是"偷懒的",不推荐时常或者全部使用这种做法!这种做法等于直接在代码中写sql,脱离了iBatis的框架,会导致代码可读性差和维护困难。

//sqlMapClient 为你的 sqlMapClient 对象,具体获取方法由当前代码决定

String updateSql = "UPDATE ARCHIVE SET groupId=´"+ groupId + "´ where id="+ id;
Connection conn = sqlMapClient.getDataSource().getConnection();
conn.setAutoCommit(true);

Statement stm = conn.createStatement();
int n = stm.executeUpdate(updateSql);

得到Connection对象后,就可以使用它直接做JDBC的操作了,可以进行直接的增删改查。
...


新窗口打开浏览 阅读全文 ......
tags: iBatis  JDBC  SQL  [作者:唧唧 | 分类:编程笔记 | 评论/阅读:0/709 | 引用:0]
关闭 Java ajax 中文乱码解决方案 [2009-06-25 21:08:08] rainy
好久不用ajax,今天需要用到,却因为提交的中文乱码问题郁闷了半天,特整理出来与大家分享!

ajax Js 客户端:
var data = "words="+encodeURI(encodeURI(_word));   //  注意,这里把需要提交的中文字符串进行两次encodeURI
xmlhttp.open("post",postAction, true);   
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send(data);

ajax Java 服务器端:
String words= request.getParameter("words");
words= java.net.URLDecoder.decode(words, "UTF-8");

通过 URLDecoder.decode 解码后 即可得到正确的中文字符串!
...


新窗口打开浏览 阅读全文 ......
tags: ajax  乱码  [作者:唧唧 | 分类:编程笔记 | 评论/阅读:0/225 | 引用:0]
      今天截取字符串的时候,无意中发现了subSequence,并且不小心用上了,呵呵,发现同样能和substring一样截取,效果一模一样。我就好奇地翻看了一下源码:

public CharSequence subSequence(int beginIndex, int endIndex) {
          return this.substring(beginIndex, endIndex);
}

      根据JDK的文档,String.subSequence只是为了实现CharSequence接口上的同名方法而放在那里的,其行为与String.substring一样。

区别是:substring和subSequence的返回类型不一样,substring返回的是String,subSequence返回的是实现了CharSequence接口的类,也就是说使用subSequence得到的结果,只能使用CharSequence接口中的方法。不过在String类中已经重写了subSequence,调用subSequence方法,可以直接下转为String对象。
...


新窗口打开浏览 阅读全文 ......
tags: String  substring  subSequence  [作者:唧唧 | 分类:编程笔记 | 评论/阅读:0/252 | 引用:0]

在项目开发当中,我们时常碰到要比较两个时间或者与当前时间相差多少天,多少个月,多少年的问题。

本人结合网上的一些例子,稍作修改,提供出下面示例,与网友们分享。

java代码
  1. package com.test;  
  2. import java.text.DateFormat;  
  3. import java.text.SimpleDateFormat;  
  4. import java.util.Calendar;  
  5. import java.util.Date;  
  6. /**  
  7.  * @description 日期比较天 月 年  
  8.  * @author www.javawind.net  
  9.  */ 
  10. public class DateTest {  
  11.     public static void main(String[] args) {  
  12.         String date = "2008-06-12";  
  13.           
  14.         DateTest.compareDate(date, null0);  
  15.         DateTest.compareDate(date, null1);  
  16.         DateTest.compareDate(date, null2);  
  17.           
  18.         date = "2006-06-03";          
  19.         DateTest.compareDate(date, null0);  
  20.         DateTest.compareDate(date, null1);  
  21.         DateTest.compareDate(date, null2);  
  22.         DateTest.compareDate(date, "2009-06-01"0);  
  23.         DateTest.compareDate(date, "2009-06-01"1);  
  24.         DateTest.compareDate(date, "2009-06-01"2);  
  25.     }  
  26.       
  27.     /**  
  28.      * @param date1 需要比较的时间 不能为空(null),需要正确的日期格式  
  29.      * @param date2 被比较的时间  为空(null)则为当前时间  
  30.      * @param stype 返回值类型   0为多少天,1为多少个月,2为多少年  
  31.      * @return  
  32.      */ 
  33.     public static int compareDate(String date1,String date2,int stype){  
  34.         int n = 0;  
  35.           
  36.         String[] u = {"天","月","年"};  
  37.         String formatStyle = stype==1?"yyyy-MM":"yyyy-MM-dd";  
  38.           
  39.         date2 = date2==null?DateTest.getCurrentDate():date2;  
  40.           
  41.         DateFormat df = new SimpleDateFormat(formatStyle);  
  42.         Calendar c1 = Calendar.getInstance();  
  43.         Calendar c2 = Calendar.getInstance();  
  44.         try {  
  45.             c1.setTime(df.parse(date1));  
  46.             c2.setTime(df.parse(date2));  
  47.         } catch (Exception e3) {  
  48.             System.out.println("wrong occured");  
  49.         }  
  50.         //List list = new ArrayList();  
  51.         while (!c1.after(c2)) {                     // 循环对比,直到相等,n 就是所要的结果  
  52.             //list.add(df.format(c1.getTime()));    // 这里可以把间隔的日期存到数组中 打印出来  
  53.             n++;  
  54.             if(stype==1){  
  55.                 c1.add(Calendar.MONTH, 1);          // 比较月份,月份+1  
  56.             }  
  57.             else{  
  58.                 c1.add(Calendar.DATE, 1);           // 比较天数,日期+1  
  59.             }  
  60.         }  
  61.           
  62.         n = n-1;  
  63.           
  64.         if(stype==2){  
  65.             n = (int)n/365;  
  66.         }     
  67.           
  68.         System.out.println(date1+" -- "+date2+" 相差多少"+u[stype]+":"+n);        
  69.         return n;  
  70.     }  
  71.       
  72.     /**  
  73.      * 得到当前日期  
  74.      * @return  
  75.      */ 
  76.     public static String getCurrentDate() {  
  77.         Calendar c = Calendar.getInstance();  
  78.         Date date = c.getTime();  
  79.         SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd");  
  80.         return simple.format(date);  
  81.     }  

运行结果:

2008-06-12 -- 2009-06-09 相差多少天:362
2008-06-12 -- 2009-06-09 相差多少月:12
2008-06-12 -- 2009-06-09 相差多少年:0
2006-06-03 -- 2009-06-09 相差多少天:1102
2006-06-03 -- 2009-06-09 相差多少月:36
2006-06-03 -- 2009-06-09 相差多少年:3
2006-06-03 -- 2009-06-01 相差多少天:1094
2006-06-03 -- 2009-06-01 相差多少月:36
2006-06-03 -- 2009-06-01 相差多少年:2


新窗口打开浏览 阅读全文 ......
tags: Java  时间比较  [作者:唧唧 | 分类:编程笔记 | 评论/阅读:0/289 | 引用:0]

这里假设有 一串数组变量 "appNum1,appNum2,appNum3,appNum4,appNum5,appNum6,appNum7,appNum8"

当我们需要在存储过程中遍历这个数组的子项时,我们可以通过 CHARINDEX 或者结合Left,Right来分隔和遍历它

注意:由于字符串index的计算问题,下面定义变量的时候,需要在最后面增加一个逗号",",否则遍历的时候将缺少最后一个子项

方法一:

代码
  1. declare @item varchar(50),@rowName varchar(200)  
  2. declare @m int,@n int,@i int 
  3. Set @rowName='appNum1,appNum2,appNum3,appNum4,appNum5,appNum6,appNum7,appNum8,' 
  4. Set @m=CHARINDEX(',',@rowName)  
  5. Set @n=1  
  6. Set @i=0  
  7. WHILE  @m>0  
  8.     BEGIN         
  9.         Set @item=SubString(@rowName,@n,@m-@n)  
  10.         Print Cast(@i as varchar)+'-'+@item  
  11.         Set @i=@i+1  
  12.         Set @n=@m+1       
  13.         Set @m=CHARINDEX(',',@rowName,@n)  
  14.     END 

方法二:

代码
  1. DECLARE @s varchar(4000)  
  2. DECLARE @i int 
  3. Set @i=0  
  4. SET @s='appNum1,appNum2,appNum3,appNum4,appNum5,appNum6,appNum7,appNum8,'     
  5. WHILE CHARINDEX(',',@s)>0     
  6.     BEGIN     
  7.         Print Cast(@i as varchar)+'-'+LEFT(@s,CHARINDEX(',',@s)-1)  
  8.         Set @i=@i+1    
  9.         SET @s=RIGHT(@s,LEN(@s)-CHARINDEX(',',@s))     
  10.     END 

两个方法的运行结果都是:
0-appNum1
1-appNum2
2-appNum3
3-appNum4
4-appNum5
5-appNum6
6-appNum7
7-appNum8


新窗口打开浏览 阅读全文 ......
tags: SQL  存储过程  遍历  数组  [作者:唧唧 | 分类:编程笔记 | 评论/阅读:0/244 | 引用:0]

我们在使用存储过程当中,有时在统计数据的时候,需要查询某表中的数据,并且得到指定字段的具体值,这时就需要用到游标查询来遍历表数据

示例:
这里有一个表(demo),字段结构和数据如下:

idf         namef                websitef
----------- -------------------- -------------------------------------------
1           javawind             http://www.javawind.net
2           blog                 http://blog.javawind.net
3           csdn                 http://www.csdn.net
4           sun                  http://www.sun.com

下面我们通过游标查询来遍历这个表的数据,并且把字段值赋值给存储过程的变量

SQL代码
  1. DECLARE @namef varchar(50)  
  2. DECLARE @websitef varchar(50)  
  3. DECLARE rs CURSOR FOR -- LOCAL SCROLL FOR  
  4. Select namef,websitef From demo -- 这里写SQL查询语句 可以条件查询  
  5. OPEN rs  
  6. FETCH NEXT FROM rs INTO @namef,@websitef  
  7. WHILE @@FETCH_STATUS <> -1 -- =0  
  8.     BEGIN 
  9.         Print 'Name:' +@namef+ ' , WebSite:'+@websitef  
  10.         Print '----------------------------' 
  11.         Print '' 
  12.         FETCH NEXT FROM rs INTO @namef,@websitef  
  13.     END -- END @@FETCH_STATUS  
  14. CLOSE rs  
  15. DEALLOCATE rs 

执行结果:

Name:javawind , WebSite:http://www.javawind.net
----------------------------
 
Name:blog , WebSite:http://blog.javawind.net
----------------------------
 
Name:csdn , WebSite:http://www.csdn.net
----------------------------
 
Name:sun , WebSite:http://www.sun.com
----------------------------

解析
通过定义rs游标之后,FETCH NEXT FROM rs INTO @namef,@websitef,的意思就是 把当前游标行的数据值赋给对应的变量。
最后还需要关闭和释放游标,避免死循环。


新窗口打开浏览 阅读全文 ......
tags: SQL  存储过程  游标  遍历  [作者:唧唧 | 分类:编程笔记 | 评论/阅读:0/281 | 引用:0]
以下通过程序来简单实践一下HashMap的的遍历

PS:如果要保持HashMap的遍历顺序和原插入顺序一致,可以使用LinkedHashMap,使用方法和HashMap一样,改一下声明即可:LinkedHashMap myMap = new LinkedHashMap(); 当然需要导入:java.util.LinkedHashMap

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class MapList {
...


新窗口打开浏览 阅读全文 ......
tags: 遍历  HashMap  [作者:唧唧 | 分类:编程笔记 | 评论/阅读:0/655 | 引用:0]
Total:221233 Pages
关于作者联系作者版权声明更新日志技术支持网站建设程序开发

CopyRight © 2005-2008  javawind.net  All Rights Reserved
Powered By JavaWind.Net Studio  Jsp.Blog Vesion 1.0.0 Beta1
JSP Beans Servlet Building In Resin 3.1.6, MySQL 5.1.24, Xml 2.0   By Cache.Time.DB:null.16.6
粤ICP备07511478号