Profil de Bo外热忱棵的家PhotosBlogListesPlus Outils Aide

Blog


30/07/2008

创建一个JNDI的流程

1. 创建Connection Pools
打开http://10.104.135.60:7001/console
mydomain -> Services -> JDBC
    -> Connection Pools -> Configure a new JDBC Connection Pool...
Database Type: Oracle
               *Oracle's Driver (Thin) Vwesions:8.1.7,9.0.1,9.2.0
Name:          JCYQSTLSUSER
Database Name: sbjc
Host Name:     10.104.128.3
Port:          1521
Database User Name:  JCYQSTLSUSER
Password:            888888
Confirm Password:    888888
Create and deploy
2. 创建Data Sources
mydomain -> Services -> JDBC
    -> Data Sources -> Configure a new JDBC Data Source
Name:        JCYQSTLSUSER
JNDI Name:   JCYQSTLSUSER
Continue
Pool Name:   JCYQSTLSUSER
Continue
Create

3. 获取数据库连接的代码
 public static Connection getConnection(String user) throws SQLException {
  
    javax.sql.DataSource ds = null;
    try {
     Context   ctx   =   new   InitialContext();  
     
     ds = (javax.sql.DataSource)ctx.lookup(user);
    } catch (NamingException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }  
               return   ds.getConnection();  
     
  
  
 }
29/07/2008

关于WebLogic8中的乱码_2

 
昨天那个乱码的问题解决了半天都没解决,今天上午仍然实在找思路,和yx一起查看网上有关JavaScript+url中文编码的内容,
发现一会是使用escape()方法,一会是encodeURI()方法,但两个方法试了半天还是不行。
折腾了半天,发现还是有点收获的,虽说问题还是没有解决。
A. 首先,如果不使用escape()这个方法时,第一次查询时传进去的参数是乱码,第二次查询时传进去的参数是正确的。
现在仍然还不知道造成这种现象的原因。
B. 其次,使用escape()或者encodeURI()方法后,两次传进去的参数都是乱码,但这两个乱码是相同的。

下午让zyx看了下,他让我将过滤器去掉,然后又去掉所有编码转换的代码,发现还是出现A中的问题。
我于是决定使用encodeURI()这个方法了,
大致代码如下
function getServerLink_original(strType,textDisp, id2) {
        //...
 textDisp = encodeURI(textDisp);
 //textDisp = decodeURI(textDisp);
 
 var strURL = "servlet_Map/LeftRecords?&tableUser=" +
  table_user + //表用户名
  "&BM2List=" + BM2List +
  "&XZQNameList=" + XZQNameList +
  "&tableName=" + textDisp;
 //strURL = encodeURI(strURL);
 //strURL = escape(strURL);
 //alert("left_disp.js, Ln416. strURL=" + strURL);
 parent.frmright.document.frames["recordsFrame"].location = strURL;
}

LeftRecords.java中
  //request.setCharacterEncoding("UTF-8");
  //request.
  String tableName = request.getParameter("tableName");
  System.out.println("Ln76. tableName=" + tableName);
  try {
   byte btT[] = tableName.getBytes("ISO-8859-1");
   String tableName1 = new String(btT);
   String tableName2 = new String(btT, "GBK");
   String tableName3 = new String(btT, "ISO-8859-1");
   tableName = new String(btT, "UTF-8");
   String tableName5 = new String(btT, "gb2312");
   System.out.println("Ln73. tableName1=" + tableName);
  } catch(Exception ex) {
  
  }

这样tableName的字符串就是正常的中文了。
然后又是过滤器的一些内容,让zyx的那部分代码使用过滤器,我的代码不用过滤器,
花了点时间之后终于弄好了。
 
之间还有部分JNDI的小小的问题花了十几分钟弄。

 
27/07/2008

别告诉我你没这样做过(ZT)

当还是小孩子的时候….
  1.玩米缸,将手插入米缸的米里面插来插去。
  2.地下有阶砖时,特意隔一格一格来走(不可走过界,要完全在格内)。
  3.用镜面反射阳光,照来照去。
  4.铺张纸在硬币上面,然后用铅笔在上面描,描个形出来。
  5.吃完瑞士糖之后,将糖纸包回原本四四方方那个形出来.
  6.超级市场踩住购物车行走。
  7.踩水潭,是好故意那种.
  8.将湿的纸巾,扔上学校厕所天花顶
  9.放塑料袋(当成风筝放)。
  10.贴张画龟纸在同学的背后。
  11.踩别人的影子。
  12.丢别人门口的拖鞋下街。
  13.尝试用用特异功能将汤匙弄弯。
  14.下楼梯时坐在扶手上面滑下来。
  15.在自动梯行相反方向。
  16.在被窝里面开着手电筒扮露营并且在里面吃零食。
  17.把汽水罐悄悄放在校车的车轮下顶住,开车时把它压扁。
  18.用萤光笔油指甲。
  19.在学校的木台上面画画刻字。
  20.下雨打伞,总是故意地转那把伞。
  21.家里没人时,对着镜子学跳舞/演戏/唱歌。
  22.慢慢走近麻雀,企图捉住它。
  23. 在街见到狗就扮猫叫,见到猫就扮狗吠。
  24.趴在地上装死,想吓吓爸爸妈妈.
  25.下雨的时候,拿起伞故意往雨大的地方走去.
  26.学鐵甲人,用口配音.
  27.捉到蚱蜢后,喜欢撕掉它的翼和脚,再放它走,看看怎样.
  

original from:

http://cache.tianya.cn/techforum/content/14/751538.shtml

26/07/2008

WebLogic中的乱码

自用Java起就开始为中文乱码的事发愁,说什么国际化标准,
害我现在还在为ISO-8859-1,GBK,UTF-8这几个编码之间的转换头疼。
 
JSP中的乱码很容易解决,加两行就行了。
Tomcat中的乱码花了一番力气也能解决,
现在WebLogic8.1中又跑乱码出来了,还有之前用的标准标签库也不能用,
JSP页面第一次查询时出乱码,再次查询时中文显示的时候又是好的,
还有过滤器、JSP与Servlet之间的数据交互,JDBC与JNDI连接。
 
感觉杂七杂八的东西还真不少,自我的心绪调节机制似乎也出了点问题,
常常不想为一个稍微复杂一点的问题进行细致深入的思考。
在想了一分钟之后仍没找到解决方案我便开始打算放弃了,
我不知自己何以变得这么没有耐心了,为什么总是在时常折磨着我。
是这样还是那样,怎样才是合理应该的,时常我以为这样可以,
或者是那样才行,但结局总是会出乎我的意料,
结果能够预料的程度也并非总在我的意料之中,
是走一步算一步还是计划好之后再走,这之间的取舍我找不到一个很合理的解决方案。
但我还得前行,患得患失只是失去之后的一丝后悔或者是对非最优结局的一丝遗憾。
什么叫做尽力,借口亦或其它,如此种种。
 
我不知道是不是去年一年的原因,信心都不知道丢到哪个角落里面去了,
或许时间未到,或许是我还没有做得够好,总是从一个起点回到另一个起点,
我也时常拷问我的终点在哪,或者本身就不是我想象中的样子。
 
我不能脱去我自身固有的属性,那样只会导致虚无。

胡言了几句,现在是我对目前乱码的一点初步思考。
估计是weblogic.xml或是web.xml中的哪个地方编码没有设置好,
乱码绝非不能解决的问题,只是时间还需要将一些想法来验证。
Tomcat中的.jsp页面HTML标签要求没有WebLogic中的要求严格,这也是我今天才发现的。
比如
</title>标签下面的
<meta http-equiv="content-type" content="text/html;charset=GBK">
在Tomcat中就没什么问题,但在WebLogic中应该写为
<meta http-equiv="content-type" content="text/html;charset=GBK"/>
诸此种种,本身就不是些一分钟就能解决的问题,两分钟也不够,……。
21/07/2008

关于网页服务的发布路径

今天发布服务时的发布路径老是
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT
应该是
C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\hhsb
 
下午在网上找了半天,终于知道了原因,因为.mymetadata文件里的内容不对。
我原先的这个文件的内容是:
<?xml version="1.0" encoding="UTF-8"?>
<project-module
  type="WEB"
  name="hhsb"
  id="myeclipse.1216618586703"
  context-root="/"
  j2ee-spec="1.4"
  archive="hhsb.war">
  <attributes>
    <attribute name="webrootdir" value="/WebRoot" />
  </attributes>
</project-module>
改成
<?xml version="1.0" encoding="UTF-8"?>
<project-module
  type="WEB"
  name="hhsb"
  id="myeclipse.1216618586703"
  context-root="/hhsb"
  j2ee-spec="1.4"
  archive="hhsb.war">
  <attributes>
    <attribute name="webrootdir" value="/WebRoot" />
  </attributes>
</project-module>
之后就好了。

Error Creating Deployment

The selected server is enabled,but is not configured properly.Deployment to it will not be permitted until the problem is corrected.Please navigate to the server preference pages and verify the field with the prompt:Tomcat JDK name
Show preference page...
JDKJdsdfsdfsdas
错误原因:Tomcat的JDK设置错误。
解决办法:Windows -> Preference... -> MyEclipse -> Application Server -> Tomcat 5 -> JDK
将Tomcat JDK name改成合适的名称即可。
08/07/2008

随笔2

今天上午yx给我提到了google的在线文档功能,我随便试了下,发现果真很强大,可以查看.txt,.doc,.xls,.pdf格式的文档,刚好我现在用的这台电脑上没装office,呵呵。
 
早上醒了之后发了条短信给弟弟,叫他帮我看下我有没有得奖学金,再醒了之后发现已经收到了两条短信,第一条是“三等”,第二条是“三等奖学金,第一年不用交培养费,”。虽说没有lyh的奖学金多,不过我已经知足了,至少这学年暂时不用为学费发愁,也算是对得住我去年一年多的辛苦努力了。
 
接下去要做的就是在学校好好努力,以及其他,呵呵。
04/07/2008

1厘米等于多少个像素

客户要求地图显示的时候显示的是一比多少的地图,于是会设计到这个问题。

网上的答案都是这个问题是错误的之类的答案,或者就是1厘米等于25像素。
我知道这个问题和屏幕的尺寸有关,因为我的显示器上1厘米大概为三十多个像素。
为了一探究竟于是有了以下计算。

假设前提:
a. 1英寸是25.4毫米
b. 19英寸的屏幕表示的是显示器对角线的长度是19英寸
c. 显示器分辨率为1024*768
d. 显示器横向单位像素所占距离和纵向单位像素所占距离相同


具体计算:
1. 19英寸的屏幕
我用的正好是19寸宽屏液晶显示器
给你量量!宽41.2厘米高大概有26厘米!

 

首先计算显示器的长和宽:
19英寸 = 482.6毫米
1024*768
设宽为w,高为h
则w:h=1024:768=4:3
w=(1024/768)h = (4/3)h
w^2+h^2 = (482.6)^2
(16/9+1) * h^2 = 232902.76 mm^2
(25/9) * h^2 = 232902.76 mm^2
h^2 = 83844.9936 mm^2
h .= 289.56 mm
w .= 386.08 mm

1 像素 = (386.08/1024) mm .= 0.377031 mm
1 mm .= 2.6523 像素
1 厘米 .= 27 像素

 


2. 15英寸的屏幕
15英寸 = 381.0毫米
(16/9+1) * h^2 = 145161.00 mm^2
h^2 = 52257.96 mm^2
h = 228.6 mm
w = 304.8 mm
1 像素 = (304.8/1024) mm .= 0.29765625 mm
1 mm .= 3.3595800524934383202099737532808
1 厘米 .= 34 像素

3. N英寸的屏幕
N英寸 = 25.4 * N mm
(25/9) * h^2 = (25.4*N)^2 mm^2
h^2 = 25.4^2 * N^2 * 9/25 mm
h = 25.4 * N * 3/5 mm
  = 15.24 * N mm
w = 20.32 * N mm
1像素 = (20.32 * N / 1024) mm = (0.01984375 * N) mm
1mm = (50.3937007 / N) 像素
1厘米 = (503.937007 / N) 像素

4. 几个常见的N值
15英寸:1 厘米 = 34 像素
17英寸:1 厘米 = 30 像素
19英寸:1 厘米 = 27 像素
20英寸:1 厘米 = 25 像素
22英寸:1 厘米 = 23 像素


 

03/07/2008

关于图例的显示

下午在研究如何显示图例,发现主要需要用到Legend这个类,但每次显示出来时图片均太小了。
试了半天发现需使用setAutoExtend()这个方法设置以下。

以下为相关代码:
    /**
     * 刷新地图
     */
    public void mapRefresh() {
        Legend legend = map.getLegend();
        legend.setAutoExtend(true);
        //legend.setLayerFontSize(10);

        map.refresh();

        ServerParameter.setLegendUrl(legend.getLegendOutput().getURL());
        ServerParameter.setMapUrl(map.getMapOutput().getURL());
    }

网页部分的代码
    //图例
    if(inTool.id == "legend")
    {
        //弹出一个输入城市名称的页面
        var strLegendURL = ("legend.jsp?imageURL=" + parent.parent.STR_LEGEND_URL);
        var urlLegendProperties = "dialogHeight: 500px; dialogWidth: 300px;" +
            "edge: Raised; center: Yes; help: no; resizable: Yes; " +
            "status: no; Minimize: yes; Maximize: no";

        window.showModalDialog(strLegendURL, this, urlLegendProperties);
    }

以下为显示效果:
legend


另外昨天晚上发现了R1979的一个36位的素因子:
924460209395849459223245399754052787

01/07/2008

修改IE7的默认页面

不小心安装了IE7,每次都打开微软自己的那个页面,通过“工具” -> “Internet 选项”中的“主页”项改了半天都没改过来。实在不懂微软为什么一定要这样做,最后还是在网上找到了一篇介绍修改默认页面的方法。
 
在安装IE7后,IE7将默认打开微软的网站相关的页面进行自定义设置。这样一些没有上互联网的内部网用户将无法正常显示自定义的默认首页。要解决这个问题,可以通过修改组策略来实现。依次打开“开始->运行->gpedit.msc->管理模板->Windows Compoents->Internet Explorer->阻止执行首次运行自定义设置”,选择“已启用”项,在“选择您的选择”下拉列表中选择“直接转到主页”。重新启动IE7。
有些版本并没有组策略编辑器,或者你看看服务中是不是将Group Policy服务关闭了,这个服务要启动才能调整组策略!