Cool eye

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            63 Posts :: 4 Stories :: 3 Comments :: 0 Trackbacks

          #

          OPEN SOURCE社區百花齊放,豐富多彩,主要有:
          1.Apache:
          最初為支持APACHE WEB服務器而創立,當時因為給Cern Web服務器寫的一系列補丁程序(PATCH)而得名 - A PATCHY 服務器.APACHE項目對JAVA開源代碼社區產生巨大影響,開始通過jServlet容器,現在通過Jakarta項目.主頁:
          www.apache.org

          其主要子項目有:
          Jakarta:
          主要任務是開發JAVA開源程序代碼:
          Commons: JAVA小應用程序的集合,它把所有能夠被Jakarta其它子項目重復調用的低級別的小程序集中在一起.
          James: JAVA的電子郵件,新聞,信息服務器
          Jetspeed: JAVA的WEB門戶
          Jmeter: JAVA的安裝測試工具
          Log4j: JAVA的LOGER
          Struts:WEB的應用程序框架.
          Taglibs: JSP的標簽庫
          Tomcat: JAVA的Severlet容器和Web程序應用服務器
          Turbine: 一個可替換Struts的Web框架
          Velocity: 一個宏擴展程序,在一個文檔中用JAVA程序產生的數值替換專有標簽
          XML:
          Xerces:JAVA的XML解析器
          Xalan: JAVA的XML文檔處理器
          Cocoon: JAVA的基于XML的Web發布系統
          Web:
          Axis:JAVA的基于SOAP的WEB服務
          XML-RPC: JAVA的基于XML-RPC的WEB服務
          WSIF: WEB服務調用框架,通過WSDL文件為客戶端提供一個機制以調用分布式處理服務
          ANT:
          大家都知道了.

          2.ExoLab
          這是一個非正式組織,主要致力于開發企業開源軟件項目.因為Castor而聞名,同時還負責OpenEJB,OpenJMS,OpenORB,Tyrex,同時還幫助一些外部的項目,如Tomcat,James,Xalan,Xerces.使用ExoLab Licence.

          3.GNU
          許多受GNU許可證約束的JAVA項目之所以受阻,是因為JAVA編譯器和JVM都不是開源的.然而還有一些有趣的GNU項目,比如適用于JAVA的GNU編譯器-GCJ.
          www.gnu.org/software/java/java-software.html

          4.ObjectWeb
          這是由一個公司聯盟創立的開源代碼社群.目標是創建并開發開源中間件.目前也是Enhydra項目的協作組織.
          有趣的項目有:
          JonAS: 一個開源的EJB容器
          JORAM:一個JAVA信息服務的開源實現
          www.objectweb.org

          5.Enhydra
          是最早基于JAVA的WEB應用服務器之一.由Lutris公司創建.現在增加了許多有趣的項目,比如支持一整套J2ME平臺提供應用服務器和WEB服務的項目
          Barracuda是一個WEB應用框架
          XMLC將WEB頁面設計和動態內容的生成嚴格分離,是一個值得研究的項目.

          6.SorceForge.net
          充當OSS孵化器的角色,屬于OSDN公司,OSDN附屬于VA公司,VA公司因為VA LINUX而著稱.SourceForge為開源項目提供WEB空間,MYSQL數據庫,BUG TRACKING系統,郵件列表和論壇,CVS等服務.
          posted @ 2006-02-08 14:40 joeyeezhang 閱讀(179) | 評論 (0)編輯 收藏

           

           

          總結構:

           

          J2EE應用/
          |__EJB組件/(haiejb.jar)
          |  |__META-INF/
          |  |  |__ejb-jar.xml
          |  |  |__jboss.xml
          |  |__ejbs/
          |     |__HaiHome.class
          |     |__HaiClient.class
          |     |__HaiBean.class
          |__WEB應用/(haiejb.war)
          |  |__haiejb.jsp
          |  |__WEB-INF/
          |     |__web.xml
          |     |__jboss-web.xml
          |__META-INF/ 
             |__application.xml

           

          一、編譯java文件為EJB類文件

           

          java文件編譯:

          [假定在系統環境變量的CLASSPATH中包含了javax.ejb.*包,該包可以在以下地方找:

          JBOSS_HOME\server\default\lib\jboss-j2ee.jar

          JBOSS_HOME\client\jboss-j2ee.jar]

           

          [java源文件目錄]>:javac -classpath %classpath% -d [輸出目錄:EJB組件目錄] *.java

           

          HaiHome.java:

          package ejbs;

          import java.io.Serializable;
          import java.rmi.*;
          import javax.ejb.*;

          public interface HaiHome extends EJBHome {
              HaiClient create() throws RemoteException, CreateException;  
          }

           

          HaiClient.java:

          package ejbs;

          import javax.ejb.*;
          import java.rmi.RemoteException;

          public interface HaiClient extends EJBObject {
              public String sayHai() throws RemoteException;  
          }

           

          haiBean.java:

          package ejbs;

          import javax.ejb.*;
          import javax.naming.*;

          public class HaiBean implements SessionBean {
              public String sayHai() {
                  return "Hai, EJB technology!";  
              } 
              public void ejbCreate() throws EJBException {}
              public void ejbRemove() throws EJBException {}
              public void ejbPassivate() {}
              public void ejbActivate() {}
              public void setSessionContext(SessionContext sc) {}
          }

           

           

          二、創建EJB組件:

           

          haiejb.jar:(EJB組件)

          打包命令:[EJB組件目錄]>:jar cvf haiejb.jar META-INF/ ejbs/

          |__META-INF/

          |  |__ejb-jar.xml

          |  |__jboss.xml

          |__ejbs/

             |__HaiHome.class

             |__HaiClient.class

             |__HaiBean.class

           

           

          ejb-jar.xml:

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>

          <ejb-jar>
              <description>Hai EJB instance.</description>
              <display-name>Hai EJB</display-name>
              <enterprise-beans>
                  <session>
                      <ejb-name>HaiEJB</ejb-name>
                      <home>ejbs.HaiHome</home>
                      <remote>ejbs.HaiClient</remote>
                      <ejb-class>ejbs.HaiBean</ejb-class>
                      <session-type>Stateless</session-type>
                      <transaction-type>Bean</transaction-type>
                  </session>
              </enterprise-beans>
          </ejb-jar>

           

          jboss.xml:

          <?xml version="1.0" encoding="UTF-8"?>
          <jboss>
              <enterprise-beans>
                  <session>
                      <ejb-name>HaiEJB</ejb-name>
                      <jndi-name>HaiEJB</jndi-name>
                  </session>
              </enterprise-beans>
          </jboss>       

           

           

          三、創建WEB應用

           

          haiejb.war:(WEB應用)

          打包命令:[WEB應用目錄]>:jar cvf haiejb.war haiejb.jsp WEB-INF/

          |__haiejb.jsp

          |__WEB-INF/

             |__web.xml

             |__jboss-web.xml

           

          haiejb.jsp:

          <%@ page contentType="text/html;charset=GBK" %>
          <%@ page import="ejbs.*,javax.ejb.*,javax.naming.*,javax.rmi.PortableRemoteObject,java.rmi.RemoteException" %>

          <html>
          <body>
              <%
              String message = "nothing!";
                 try {
                      InitialContext ic = new InitialContext();
                      Object objRef = ic.lookup("HaiEJB");
                      HaiHome home = (HaiHome) PortableRemoteObject.narrow(objRef,ejbs.HaiHome.class);
                      HaiClient haiRemote = home.create();
                      message = haiRemote.sayHai();
                 } catch (RemoteException re) {
                      re.printStackTrace();
                 } catch (CreateException ce) {
                      ce.printStackTrace();
                 } catch (NamingException ne) {
                      ne.printStackTrace();
                 }
              %>
             
              <h1><%=message%></h1>
          </body>
          </html>

           

          web.xml:

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>

          <web-app>
              <ejb-ref>
                  <ejb-ref-name>HaiEJB</ejb-ref-name>
                  <ejb-ref-type>Session</ejb-ref-type>
                  <home>ejbs.HaiHome</home>
                  <remote>ejbs.HaiClient</remote>
              </ejb-ref>
          </web-app>

           

          jboss-web.xml:

          <?xml version="1.0" encoding="UTF-8"?>
          <jboss-web>
              <ejb-ref>
                  <ejb-ref-name>HaiEJB</ejb-ref-name>
                  <jndi-name>HaiEJB</jndi-name>
              </ejb-ref>
          </jboss-web>

           

           

          四、創建J2EE應用程序

           

          haiejb.ear: (J2EE應用程序)

          把上面創建的haiejb.jar和haiejb.war包拷貝到你創建的J2EE應用主目錄,新建一個META-INF目錄并在里面創建application.xml文件:

          打包命令:[J2EE應用目錄]>:jar cvf haiejb.ear haiejb.jar haiejb.war META-INF/

          |__haiejb.jar

          |__haiejb.war

          |__META-INF/

             |__application.xml

           

          application.xml:

          <?xml version="1.0" encoding="UTF-8"?>

          <application>
              <display-name>HaiEJB J2EE Application</display-name>
              <module>
                  <web>
                      <web-uri>haiejb.war</web-uri>
                      <context-root>/haiejb</context-root>
                  </web>
              </module>
              <module>
                  <ejb>haiejb.jar</ejb>
              </module>
          </application>     

           

           

          五、部署J2EE應用:

           

           

          把haiejb.ear拷貝到

          JBOSS_HOME\server\default\deploy\

          啟動jboss 4.0,注意命令行窗口中有無異常,如果有異常情況,請查看log文件:

          JBOSS_HOME\server\default\log\server.log

          從中查找分析問題所在,然后改正之,直到無異常顯示

           

          最后在瀏覽器地址欄中鍵入:

          http://localhost:8080/haiejb/haiejb.jsp

           

          結果:

           

          Hai, EJB technology!               

          posted @ 2006-02-06 13:19 joeyeezhang 閱讀(309) | 評論 (0)編輯 收藏

          J2EE應用/
          |__EJB組件/(haiejb.jar)
          |  |__META-INF/
          |  |  |__ejb-jar.xml
          |  |  |__jboss.xml
          |  |__ejbs/
          |     |__HaiHome.class
          |     |__HaiClient.class
          |     |__HaiBean.class
          |__WEB應用/(haiejb.war)
          |  |__haiejb.jsp
          |  |__WEB-INF/
          |     |__web.xml
          |     |__jboss-web.xml
          |__META-INF/ 
             |__application.xml
          javac -classpath %classpath% -d [outpath] *.java
          jar cvf haiejb.jar META-INF/ ejbs/
          jar cvf haiejb.war haiejb.jsp WEB-INF/
          jar cvf haiejb.ear haiejb.jar haiejb.war META-INF/

          posted @ 2006-02-06 13:17 joeyeezhang 閱讀(272) | 評論 (0)編輯 收藏

          public List getWorkDailyLogList(String type, Date date,String userId,String queryInfo)
              {
                  StringBuffer sql = new StringBuffer("select guid, title as 標題,convert(char(10),createddate,20) as 日期");
                  sql.append(getAppRelationCore().getPersonManagementFacade().getColumnStatement("Hr_dailylog")).append("  from Hr_dailyLog where convert(char(10),createddate,20) between ? and ?  and creator = ? and title like '%'+?+'%'");
                  String params[] =  new String[4];
                  GregorianCalendar calendar = new GregorianCalendar();
                  calendar.setTime(date);
                  if(type.equals("week"))
                  {
                      calendar.set(GregorianCalendar.DAY_OF_WEEK,1);
                      params[0] = PortalUtil.convertDateToString(PortalUtil.SQL_DATE_PATTERN, calendar.getTime());
                      calendar.set(GregorianCalendar.DAY_OF_WEEK,7);
                      params[1] = PortalUtil.convertDateToString(PortalUtil.SQL_DATE_PATTERN, calendar.getTime());
                  }
                  if(type.equals("month"))
                  {
                      calendar.set(GregorianCalendar.DAY_OF_MONTH,1);
                      params[0] = PortalUtil.convertDateToString(PortalUtil.SQL_DATE_PATTERN, calendar.getTime());
                      calendar.set(GregorianCalendar.DAY_OF_MONTH,calendar.getActualMaximum(GregorianCalendar.DAY_OF_MONTH));
                      params[1] = PortalUtil.convertDateToString(PortalUtil.SQL_DATE_PATTERN, calendar.getTime());
                  }
                  if(type.equals("year"))
                  {
                      calendar.set(GregorianCalendar.DAY_OF_YEAR,1);
                      params[0] = PortalUtil.convertDateToString(PortalUtil.SQL_DATE_PATTERN, calendar.getTime());
                      calendar.set(GregorianCalendar.DAY_OF_YEAR,calendar.getActualMaximum(GregorianCalendar.DAY_OF_YEAR));
                      params[1] = PortalUtil.convertDateToString(PortalUtil.SQL_DATE_PATTERN, calendar.getTime());
                  }
                  if(type.equals("day"))
                  {
                      params[0] = PortalUtil.convertDateToString(PortalUtil.SQL_DATE_PATTERN, calendar.getTime());
                      params[1] = PortalUtil.convertDateToString(PortalUtil.SQL_DATE_PATTERN, calendar.getTime());
                  }
                  params[2] = userId;
                  params[3] = queryInfo;
                  return this.getCommonDAO().findBySQL(sql.toString(),params).getRows();  //To change body of implemented methods use File | Settings | File Templates.
              }
          posted @ 2006-01-25 14:09 joeyeezhang 閱讀(293) | 評論 (0)編輯 收藏

          In struts, there is only one tag instance with one tag, so if there is one state field in tag class, please don't forget to revert the value of the state field before returning .
          For example:
          public class UserDefinedTableTag   extends TagSupport
          {
             private boolean isAddRichScript = false;
             public int doEndTag() throws JspException {

             
              isAddRichScript = false;
                  return EVAL_PAGE;

              }
          private void addNote(UserDefinedTableColumnConfig userDefinedTableColumnConfig, StringBuffer outStr) {
                          if("T".equals(userDefinedTableColumnConfig.getRichHtml()))
                  {
                      if(!isAddRichScript)
                      {
                          isAddRichScript = true;
                          outStr.append(richScript);
                      }
                      outStr.append(richHtml);
                  }
                      }
          }

          posted @ 2006-01-12 16:56 joeyeezhang 閱讀(244) | 評論 (0)編輯 收藏

          ipconfig /all
          posted @ 2006-01-09 16:08 joeyeezhang 閱讀(272) | 評論 (0)編輯 收藏

          net send name message
          for example:
          net send zhl hahahahhahaha
          posted @ 2006-01-09 16:06 joeyeezhang 閱讀(502) | 評論 (0)編輯 收藏

          <Context path="/OceanSoftPortal" docBase="d:\workspace\OceanSoftPortal\main\web" workDir="d:\workspace\OceanSoftPortal\work" reloadable="true">
           
                     <Resource auth="Container" name="jdbc/javadb" type="javax.sql.DataSource"/>
               <ResourceParams name="jdbc/javadb">
                 <parameter>
                   <name>factory</name>
                   <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
                 </parameter>
                 <parameter>
                   <name>url</name>
                   <value>jdbc:microsoft:sqlserver://jasonywf:1433;DatabaseName=oceansoftoa</value>
                 </parameter>
                 <parameter>
                   <name>password</name>
                   <value></value>
                 </parameter>
                 <parameter>
                   <name>maxWait</name>
                   <value>10000</value>
                 </parameter>
                 <parameter>
                   <name>maxActive</name>
                   <value>100</value>
                 </parameter>
                 <parameter>
                   <name>driverClassName</name>
                   <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
                 </parameter>
                 <parameter>
                   <name>username</name>
                   <value>sa</value>
                 </parameter>
                 <parameter>
                   <name>maxIdle</name>
                   <value>30</value>
                 </parameter>
               </ResourceParams>
           
           </Context>
          posted @ 2006-01-09 13:39 joeyeezhang 閱讀(242) | 評論 (0)編輯 收藏

          mysql
          drivers=org.gjt.mm.mysql.Driver
          logfile=\doc\\lo.txt

          mysql.url=jdbc:mysql://localhost/數據庫名?useUnicode=true&characterEncoding=8859_1
          mysql.maxconn=5
          mysql.user=
          mysql.password=
          mysql.driver=org.gjt.mm.mysql.Driver
          mysql.url=jdbc:mysql://218.197.19.113/study?useUnicode=true&characterEncoding=GBK


          Oracle
          drivers = oracle.jdbc.driver.OracleDriver
          url = jdbc:oracle:thin:@localhost:1521:orcl
          DB2
          drivers = com.ibm.db2.jdbc.app.DB2Driver
          url = jdbc:db2://localhost:5000/sample

          Informix
          drivers = com.informix.jdbc.IfxDriver
          url = jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver;
          user=testuser;password=testpassword


          Sql Server7.0/2000
          drivers = com.microsoft.jdbc.sqlserver.SQLServerDriver
          drivers = sun.jdbc.odbc.JdbcOdbcDriver
          url = jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs
          url = jdbc:odbc:driver={SQL Server};server=zhl;Database=school

          Access
          drivers = sun.jdbc.odbc.JdbcOdbcDriver
          url = jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\projects\\demo.mdb

          for example:

          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.sql.*"%>
          <html>
          <body>
          <%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
          String url="jdbc:oracle:thin:@localhost:1521:orcl";
          //orcl為你的數據庫的SID
          String user="scott";
          String password="tiger";
          Connection conn= DriverManager.getConnection(url,user,password);
          Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          String sql="select * from test";
          ResultSet rs=stmt.executeQuery(sql);
          while(rs.next()) {%>
          您的第一個字段內容為:<%=rs.getString(1)%>
          您的第二個字段內容為:<%=rs.getString(2)%>
          <%}%>
          <%out.print("數據庫操作成功,恭喜你");%>
          <%rs.close();
          stmt.close();
          conn.close();
          %>
          </body>
          </html>

           

          posted @ 2006-01-09 13:33 joeyeezhang 閱讀(506) | 評論 (0)編輯 收藏

          Fisrt, get tag by the id of the tag , then set tag.style.display =" none", the tag will be hidden, if set tag.style.display='',the tag will be displayed,
          for example:
          var tag=document.getElementById("tdGrid")
          tag.style.display="none"
          or
          tag.style.display="";

          posted @ 2006-01-09 13:26 joeyeezhang 閱讀(240) | 評論 (0)編輯 收藏

          僅列出標題
          共7頁: 上一頁 1 2 3 4 5 6 7 下一頁 
          主站蜘蛛池模板: 达州市| 界首市| 太保市| 亳州市| 孙吴县| 涞水县| 宁明县| 曲沃县| 台东市| 文成县| 桐柏县| 平塘县| 石嘴山市| 太原市| 大洼县| 丹阳市| 灯塔市| 惠安县| 包头市| 巴楚县| 隆昌县| 舞钢市| 宁城县| 夏河县| 德庆县| 四子王旗| 马鞍山市| 鄂伦春自治旗| 达拉特旗| 墨竹工卡县| 黄山市| 湖南省| 达尔| 柏乡县| 三台县| 喀喇| 都安| 彭水| 双城市| 原阳县| 蕲春县|