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 阅读(175) | 评论 (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 阅读(302) | 评论 (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 阅读(260) | 评论 (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 阅读(287) | 评论 (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 阅读(236) | 评论 (0)编辑 收藏

ipconfig /all
posted @ 2006-01-09 16:08 joeyeezhang 阅读(270) | 评论 (0)编辑 收藏

net send name message
for example:
net send zhl hahahahhahaha
posted @ 2006-01-09 16:06 joeyeezhang 阅读(490) | 评论 (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 阅读(237) | 评论 (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 阅读(501) | 评论 (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 阅读(234) | 评论 (0)编辑 收藏

仅列出标题
共7页: 上一页 1 2 3 4 5 6 7 下一页