從制造到創造
          軟件工程師成長之路
          posts - 292,  comments - 96,  trackbacks - 0

          在windows操作系統上使用IE作為瀏覽器時。常常會發生這樣的問題:在瀏覽使用UTF-8編碼的網頁時,瀏覽器無法自動偵測(即沒有設定“自動選擇”編碼格式時)該頁面所用的編碼。即使網頁已經聲明過編碼格式:

          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

          由此造成某些含有中文UTF-8編碼的頁面產生空白輸出。

          如果使用的是Mozilla、Mozilla 瀏覽器、Sarafi的瀏覽器這不會造成這個問題。這是由于IE解析網頁編碼時以HTML內的標簽優先,而后才是HTTP header內的訊息;而mozilla系列的瀏覽器則剛剛相反。

          由于UTF-8為3個字節表示一個漢字,而普通的GB2312或BIG5是兩個。頁面輸出時,由于上述原因,使瀏覽器解析、輸出<title></title>的內容時,如果在</title>前有奇數個全角字符時,IE把UTF-8當作兩個字節解析時出現半個漢字的情況,這時該半個漢字會和</title>的<結合成一個亂碼字,導致IE無法讀完<title>部分,使整個頁面為空百輸出。而這個時候如果察看源文件的話,會發現實際上整個葉面全部已經輸出了。

          因此最簡單的解決辦法是在網頁文件的<head></head>標簽中一定要把字符定義

          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

          放在<title></title>之前。

          posted @ 2008-06-18 09:30 CoderDream 閱讀(417) | 評論 (0)編輯 收藏
          1、如何使用Log4j?
          2、http://supportweb.cs.bham.ac.uk/documentation/tutorials/docsystem/build/tutorials/log4j/log4j.html
          3、Log4j
          http://my.so-net.net.tw/idealist/Java/Log4j.html
          posted @ 2008-06-13 17:56 CoderDream 閱讀(405) | 評論 (0)編輯 收藏
               摘要: 14.1 什么是JavaScript 14.1.1 JavaScript概念 JavaScript是一種基于對象和事件驅動并具有安全性能的腳本語言。 14.1.2 JavaScript特點 是一種腳本編寫語言; 基于對象的語言; 簡單性; 安全性; 動態性; 跨平臺性 14.2 編寫第一個JavaScript腳本 文件范例:1401.html <!-- --...  閱讀全文
          posted @ 2008-06-04 09:29 CoderDream 閱讀(424) | 評論 (0)編輯 收藏
          我們在開發的過程中,調試的時候經常要進入某些包,如果沒有將這些包與對應的源文件文件夾或zip包對應,就會提示“Source not found”,但是現在很多jar文件都會有相應的源文件,如Struts、Spring等等。而且JavaEE的很多源文件可以通過Tomcat的源文件找到,我們把它打成zip包,注意要和jar文件夾對應,然后設置一下,以后新建Web Project的時候,就可以很方便的查看servlet文件夾下面的源代碼了。

          這是javaee.jar的設置畫面,其他Struts等等設置類似。
          posted @ 2008-05-29 14:57 CoderDream 閱讀(3162) | 評論 (0)編輯 收藏
          出現這個問題后使用“清理”功能,如果還不行,就直接到上一級目錄,再執行“清理”,然后再“更新”。

          有時候如果看到某個包里面的文件夾沒有SVN的標志,直接用“Ctrl+Delete”手工刪除,然后“清理”,最后“更新”或“提交”。


          網絡摘抄1:
          錯誤信息
          Malformed file   
          svn: E:\svn\repository\conf\svnserve.conf:12: Option expected   
          原因:

          配置文件12行開頭有空格

             

          錯誤信息
          Attempted to lock an already-locked dir   
          svn: Working copy 'E:\integration\com.svn.practise' locked  

          原因:

          需要用svn cleanup上次關閉時的鎖定


          網絡摘抄2:
          在eclipse里提交和更新文件是抱錯。

          Attempted to lock an already-locked dir
          svn: Working copy 'F:\workspace\WebFrame\WebRoot\attach\prodrelation' locked

          執行“清除”操作后,問題解決了。

          很多操作,例如中斷提交,都會進入這種工作拷貝的鎖定狀態。

          網絡摘抄3:
          因為這兩天頻出這個現象,現在基本不怕這個問題了
          我是這樣解決的:
          1 三令五申項目的組員必須先同步,合并,再提交
          2 操作后經常地在父目錄使用clean up命令
          3 解決了locked問題后,還出現不能更新的現象時,就刪除目錄下的所有文件,包括.svn,再重新check out服務器同目錄一次
          4 總之,操作要規范,要強調組員每天開工時,先在ECLIPSE里同步,下班時,要提交(提交前,先在文件夾的右菜單中,選擇小組>清除),保證每個人的機子里在開工前都是最新版本

          老實講,因為版本沖突,提交沖突,更新失敗等等問題,耽誤了好些時間,但我知道主要還是自身操作不熟練不規范的問題。我相信,只要堅持,大家包括我的組員一定都會喜歡上這個小海龜的  


           

          posted @ 2008-05-27 09:51 CoderDream 閱讀(108664) | 評論 (14)編輯 收藏
          效果:


          文件清單:
          序號 文件名
          1 ChangeLocaleAction.java
          2 ChangeLocaleForm.java
          3 struts-config.xml
          4 index.jsp
          5 application_en_US.properties
          6 application_zh_CN.properties
          7 application_zh_TW.properties

          清單1:
          package com.coderdream.struts.action;

          import java.util.Locale;

          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;

          import org.apache.struts.Globals;
          import org.apache.struts.action.Action;
          import org.apache.struts.action.ActionForm;
          import org.apache.struts.action.ActionForward;
          import org.apache.struts.action.ActionMapping;

          import com.coderdream.struts.form.ChangeLocaleForm;

          public class ChangeLocaleAction extends Action {

              
          public ActionForward execute(ActionMapping mapping, ActionForm form,
                      HttpServletRequest request, HttpServletResponse response) {
                  ChangeLocaleForm clForm 
          = (ChangeLocaleForm)form;
                  String language 
          = clForm.getLanguage();
                  
          if (language != null) {
                      Locale locale;
                      
          if (language.equalsIgnoreCase("en")) {
                          locale 
          = Locale.US;
                          request.getSession().setAttribute(
                                  Globals.LOCALE_KEY, locale);
                      } 
          else if (language.equalsIgnoreCase("tw")) {
                          locale 
          = Locale.TAIWAN;
                          request.getSession().setAttribute(
                                  Globals.LOCALE_KEY, locale);
                      } 
          else {
                          locale 
          = Locale.CHINA;
                          request.getSession().setAttribute(
                                  Globals.LOCALE_KEY, locale);
                      }
                  }
                  
                  
          return mapping.findForward("success");
              }
                   
          }

          清單2:
          package com.coderdream.struts.form;

          import org.apache.struts.action.ActionForm;


          /**
           * 
           * description:
           * 
           * 
          @author 
           *
           
          */
          public class ChangeLocaleForm extends ActionForm{
              
              
          public ChangeLocaleForm() {
                  
          super();
              }

              
          private String language;

              
          public String getLanguage() {
                  
          return language;
              }

              
          public void setLanguage(String language) {
                  
          this.language = language;
              }
          }

          清單3:
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

          <struts-config>
              
          <data-sources />
              
          <form-beans>
                  
          <form-bean name="ChangeLocaleForm"
                      type
          ="com.coderdream.struts.form.ChangeLocaleForm" />
              
          </form-beans>

              
          <action-mappings>

                  
          <action name="ChangeLocaleForm" path="/ChangeLocale"
                      scope
          ="request"
                      type
          ="com.coderdream.struts.action.ChangeLocaleAction"
                      validate
          ="false">
                      
          <forward name="success" path="/index.jsp" />
                  
          </action>
              
          </action-mappings>

              
          <message-resources key="application"
                  parameter
          ="com.coderdream.struts.resources.application" />
          </struts-config>

          清單4:
          <%@ page contentType="text/html; charset=UTF-8"%>
          <%@page import="org.apache.struts.Globals"%>
          <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
          <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
          <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>

          <html:html>
          <head>
              
          <title>多語言測試</title>
              
          <meta http-equiv="pragma" content="no-cache">
              
          <meta http-equiv="cache-control" content="no-cache">
              
          <meta http-equiv="expires" content="0">
              
          <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
              
          <meta http-equiv="description" content="This is my page">
          </head>
          <script language="javascript"> 
              function onLanguage(){
                  var language 
          = document.getElementsByName("language")[0].value;
                  
          if(language!=null&&language!=""){         
                    document.forms[
          0].submit();
                      }
                    }   
              
          </script>

          <body>
              
          <html:form action="ChangeLocale.do">
                  
          <html:select property="language" styleId="height:18"
                      onchange
          ="onLanguage();">
                      
          <option value="" title="">
                          
          --
                          
          <bean:message bundle="application" key="global.select.language" />
                          
          --
                      
          </option>
                      
          <option value="en" title="English">
                          English
                      
          </option>
                      
          <option value="cn" title="簡體中文">
                          簡體中文
                      
          </option>
                      
          <option value="tw" title="繁體中文">
                          繁體中文
                      
          </option>
                  
          </html:select>
              
          </html:form>
              
          <br>
              
          <br>
              
          <br>
              
          <bean:message bundle="application" key="global.select.test" />
              
          <%=request.getSession().getAttribute(Globals.LOCALE_KEY)%>

          </body>
          </html:html>

          清單5:
          #Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)

          global.select.language 
          = Language
          global.select.test     
          = Test

          清單6:
          #Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)
          #BizException

          global.select.language = \u8BED\u8A00
          global.select.test     = \u6D4B\u8BD5

          清單7:
          #Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)

          global.select.language = \u8A9E\u8A00
          global.select.test     = \u6E2C\u8A66

          此功能的關鍵是在Action里面將頁面傳過來的language信息得到,然后根據信息設置Locale,然后將新的Locale放到Session中。

          源代碼:點擊下載
          posted @ 2008-05-14 18:20 CoderDream 閱讀(1019) | 評論 (0)編輯 收藏
          需求:用實線把各個面板圈起來,然后把面板的名字寫在圈圈的左上角。

          原始畫面:


          由于原來的程序使用的是AWT中的Panel,而這個控件我們沒有設置titleBorder的方法。
          現在將更新為Swing中的JPanel面板,代碼分別為:
          舊代碼:
              Panel pRoboCtrl=new Panel();
              pRoboCtrl.setLayout(
          new GridLayout(5125));
              
              
          // Robot控制面板的第一排,面板的標題
                  Panel pR1=new Panel(); 
                  pR1.setLayout(
          new GridLayout(1123));
               
                  
          //Row One
              pR1.add(new Label("Robot Control",Label.CENTER));
          新代碼:
              JPanel pRoboCtrl=new JPanel();
              pRoboCtrl.setLayout(
          new GridLayout(4125));
              Border titleBorder1
          =BorderFactory.createTitledBorder("Robot Control");            
              pRoboCtrl.setBorder(titleBorder1);   
          原來的處理方式是將一個Label放到Panel中,然后將這個Panel放到外層的Panel中,新方式是將外層Panel定義成JPanel,然后設置Border的值為BorderFactory產生的一個實例。



          解決這個問題后,新問題又來了,兩個JPanel中的內容不一樣,上面多,下面少,但是現在面板卻是一樣大,要改成面板高度自動適應。
          其實這只需要修改一行代碼就可以了,代碼如下:
          舊代碼:
          CP.setLayout(new GridLayout(3125));  
          新代碼:
          CP.setLayout(new BoxLayout(CP, BoxLayout.Y_AXIS)); // 沿垂直方向布置組件
          舊代碼的處理方式是網格布局,新代碼的方式是用BoxLayout布局管理器,它會按要求垂直或水平分布。

          以下代碼創建了一個JPanel容器,它采用垂直 BoxLayout,在這個容器中包含兩個Button,這兩個Button沿垂直方向分布,并且保持像素為 5 的固定垂直間隔。
              JPanel panel = new JPanel();
              panel.setLayout(
          new BoxLayout(panel, BoxLayout.Y_AXIS));// 沿垂直方向布置組件
              panel.add(new JButton("Button1"));
              panel.add(Box.createVerticalStrut(
          5));
              panel.add(
          new JButton("Button2"));

          源代碼:下載
          posted @ 2008-04-29 16:16 CoderDream 閱讀(15620) | 評論 (2)編輯 收藏
          1、下載
          http://www.opensymphony.com/quartz/download.action
          https://quartz.dev.java.net/files/documents/1267/43545/quartz-1.6.0.zip

          2、詳細講解Quartz如何從入門到精通
          3、用 Quartz 進行作業調度
          posted @ 2008-04-15 17:46 CoderDream 閱讀(739) | 評論 (0)編輯 收藏
          數據庫和表
          create table USERS
          (
            USERNAME 
          VARCHAR2(20not null,
            PASSWORD 
          VARCHAR2(20)
          )
          alter table USERS
            
          add constraint U_PK primary key (USERNAME)

          /**
           * JdbcExample.java
           *
           * Provider: CoderDream's Studio
           *
           * History
           *    Date(DD/MM/YYYY)    Author          Description
           * ----------------------------------------------------------------------------
           *    Apr 14, 2008                CoderDream        Created
           
          */

          package com.coderdream.jdbc.oracle;

          import java.sql.Connection;
          import java.sql.DriverManager;
          import java.sql.PreparedStatement;
          import java.sql.ResultSet;
          import java.sql.SQLException;
          import java.sql.Statement;

          /**
           * 
          @author XL
           *
           
          */
          public class JdbcExample {


              
          private static Connection getConn() {
                  String driver 
          = "oracle.jdbc.driver.OracleDriver";
                  String url 
          = "jdbc:oracle:thin:@10.5.15.117:1521:csi";
                  String username 
          = "scott";
                  String password 
          = "tiger";
                  Connection conn 
          = null;
                  
          try {
                      Class.forName(driver);
                      
          // new oracle.jdbc.driver.OracleDriver();
                      conn = DriverManager.getConnection(url, username, password);
                  }
                  
          catch (ClassNotFoundException e) {
                      e.printStackTrace();
                  }
                  
          catch (SQLException e) {
                      e.printStackTrace();
                  }

                  
          return conn;
              }

              
          private static int insert(String username, String password) {
                  Connection conn 
          = getConn();
                  
          int i = 0;
                  String sql 
          = "insert into users (username,password) values(?,?)";
                  PreparedStatement pstmt;
                  
          try {
                      pstmt 
          = conn.prepareStatement(sql);
                      
          // Statement stat = conn.createStatement();
                      pstmt.setString(1, username);
                      pstmt.setString(
          2, password);
                      i 
          = pstmt.executeUpdate();
                      System.out.println(
          "resutl: " + i);

                      pstmt.close();
                      conn.close();
                  }
                  
          catch (SQLException e) {
                      e.printStackTrace();
                  }

                  
          return i;
              }

              
          private static void query() {
                  Connection conn 
          = getConn();
                  String sql 
          = "select * from users";
                  PreparedStatement pstmt;
                  
          try {
                      pstmt 
          = conn.prepareStatement(sql);
                      ResultSet rs 
          = pstmt.executeQuery();
                      
          while (rs.next()) {
                          System.out.println(
          "name: " + rs.getString("username")
                                  
          + " \tpassword: " + rs.getString("password"));
                      }

                      rs.close();
                      pstmt.close();
                      conn.close();
                  }
                  
          catch (SQLException e) {
                      e.printStackTrace();
                  }

              }

              
          private static int update(String oldName, String newPass) {
                  Connection conn 
          = getConn();
                  
          int i = 0;
                  String sql 
          = "update users set password='" + newPass
                          
          + "' where username='" + oldName + "'";
                  PreparedStatement pstmt;
                  
          try {
                      pstmt 
          = conn.prepareStatement(sql);

                      i 
          = pstmt.executeUpdate();
                      System.out.println(
          "resutl: " + i);

                      pstmt.close();
                      conn.close();
                  }
                  
          catch (SQLException e) {
                      e.printStackTrace();
                  }

                  
          return i;
              }
              
              
          private static int delete(String username) {
                  Connection conn 
          = getConn();
                  
          int i = 0;
                  String sql 
          = "delete users where username='" + username + "'";
                  PreparedStatement pstmt;
                  
          try {
                      pstmt 
          = conn.prepareStatement(sql);

                      i 
          = pstmt.executeUpdate();
                      System.out.println(
          "resutl: " + i);

                      pstmt.close();
                      conn.close();
                  }
                  
          catch (SQLException e) {
                      e.printStackTrace();
                  }

                  
          return i;
              }

              
          /**
               * 
          @param args
               
          */
              
          public static void main(String[] args) {
                  insert(
          "CDE""123");
                  insert(
          "CoderDream""456");
                  query();
                  update(
          "CoderDream""456");
                  query();
                  delete(
          "CoderDream");
                  query();
              }
          }
          posted @ 2008-04-14 17:55 CoderDream 閱讀(7052) | 評論 (0)編輯 收藏
          1、首先下載eclipse的Tomcat插件,文件名為:tomcatPluginV321.zip
          下載:地址

          2、安裝Tomcat插件,即將zip檔解壓,放入eclipse目錄下的 plugins 文件夾中。

          3、在項目上點右鍵,設置properties,在'Tomcat'下面設置'export   to   war   settings'輸入要導出的war文件路徑和文件名,確定,返回項目。


          4、在項目上點右鍵,選擇tomcat   project->Export  to the war file sets in project properties


          5、 進入C盤,可以看到csi.war文件正在生成,成功后會有提示框。這樣就可以通過Tomcat插件導出WAR檔了。
          posted @ 2008-04-08 13:43 CoderDream 閱讀(3738) | 評論 (1)編輯 收藏
          僅列出標題
          共24頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(9)

          我參與的團隊

          隨筆分類(245)

          隨筆檔案(239)

          文章分類(3)

          文章檔案(3)

          收藏夾(576)

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 458376
          • 排名 - 114

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 鄄城县| 陵水| 宜宾市| 沙雅县| 三穗县| 恩施市| 洛浦县| 玉龙| 平乡县| 新巴尔虎左旗| 勃利县| 泰兴市| 乌兰浩特市| 周口市| 红安县| 扎鲁特旗| 乌审旗| 永德县| 武汉市| 尉氏县| 大荔县| 浦城县| 水富县| 邳州市| 鄂伦春自治旗| 望谟县| 龙江县| 建水县| 泾阳县| 宁河县| 武汉市| 陆川县| 巴东县| 石渠县| 秀山| 保山市| 正定县| 拉孜县| 庄浪县| 施秉县| 县级市|