Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1529963
  • 博文数量: 3500
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 43870
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 20:31
文章分类

全部博文(3500)

文章存档

2008年(3500)

我的朋友

分类:

2008-05-04 19:52:15

一起学习

前言

在n年前java只是一种编程语言的理解,但现在的java非常强大,其含义也发生变化,我们可以理解为海陆空总集合的部队,其下属分支很多,如jsp、servlet、javabean、applet、ejb、jms、j2se(无线通讯用)、java2D、java3D……此处我们着重介绍java的web应用和开发,即jsp、servlet、javabean、applet、ejb等。其中applet是比较特殊的,它需要jre(java运行环境)的支持,并且对jre版本有要求,即applet是用jdk1.4开发的,那么jre也得1.4版本的。java的web开发需要视情况而定,如果只是编译jsp、servlet、javabean、applet等,只需要安装jdk(java开发工具包),如果加上ejb,就得jdk+j2ee。jdk、j2ee的安装程序到下载,安装后,配置的环境变量如下: 1.CLASSPATH 路径:.;C:\j2sdk1.4.0\lib\tools.jar;C:\j2ee\lib\j2ee.jar; 说明:jdk版本是1.4.0的,安装在c盘,读者可根据安装的目录自定 2.J2EE_HOME 路径:c:\j2ee 说明:j2ee的目录 3.java_HOME 路径:C:\j2sdk1.4.0 说明:jdk的目录 4.Path 路径:C:\j2sdk1.4.0\lib\tools.jar;C:\j2sdk1.4.0\lib\dt.jar;C:\j2sdk1.4.0\bin;C:\j2sdk1.4.0\jre\bin;说明:如果Path变量有其他的值,请在后面续接此处的值 在windows2000XXX中,开始->设置->控制面板->系统->高级->环境变量->系统变量中设置上述的值。在window9X中,上述的变量写在autoexec.bat文件中,格式是变量=值(回车)。 测试jdk是否可用的方法是在c盘下新建一个Test.java文件,写入以下代码 import java.util.Date; public class Test { //构造函数 public Test(){} //显示当前时间的方法 public String getDate() { Date date=new Date(); return date.toString(); } } 在dos状态下,键入C:\>javac ./Test.java,编译通过后,同目录下新增Test.class,说明jdk成功安装。 测试j2ee:在dos状态下,键入C:\j2ee\bin>j2ee -verbose,如果启动的过程中没有错误,不要关闭窗口,在IE浏览器中访问,看到默认的j2ee主页,由此可看出j2ee除了自带工具包外还可以充当web服务器的角色。 2. jbuilder、jboss、ms sql2000配置 开发ejb应用系统,较好的开发发布的工具组合是websphere visualAge,两者都是ibm出品,协同工作性非常好,包括建模、版本控制、ejb开发、web发布等一体化,让程序员从底层的ejb开发中解放出来。但该组合的价格大概是十万人民币,不是每个客户都可以承受的,所以我们推荐另一个组合:jbuilder7 jboss3,数据库选择微软的sql server2000(简称sql2000)。部分介绍参考了刘晓巍(liuxiaowei2000@sina.com)的文章,并加入作者的见解。 jboss每一个版本的差别很大,它不象传统的软件兼容性好。此例jboss的版本是jboss-3.0.4_tomcat-4.0.6,下载地址:。 数据库sql2000和jboss一起协同工作,有两种方式,一种是odbc-jdbc,一种是jdbc。许多web服务器自带odbc-jdbc驱动,无需下载,在控制面板->管理工具->数据源(odbc)中设置数据源即可使用,但如果要开发ejb,要使用jdbc驱动。很多公司提供ms sql2000的jdbc驱动(属第四种类型驱动,即纯java驱动),作者建议大家到微软的官方站点下载:。下载后安装,默认安装路径是C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC,jdbc的驱动包在lib中,分别是msbase.jar、mssqlserver.jar、msutil.jar。 jboss和jbuilder协同工作,需要下载并安装JBossOpenTool For JBuilder 7,下载地址:。将下载的JbossOpenTool.jar拷贝至Jbuilder7的lib\ext目录下,重启动JBuilder。 准备工作完成后,我们开始配置工作: 一、 在jboss中配置sql2000的JDBC驱动 将msbase.jar, msutil.jar, mssqlserver.jar三个文件拷贝至Jboss的Server\default\lib目录下。将Jboss的docs\examples\jca目录下的mssql-service.xml, mssql-xa-service.xml文件拷贝至Jboss的server\default\deploy目录下,修改mssql-service.xml,/*…..*/中是说明文件,千万不要拷贝到该xml文件中。 jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind /*------sql2000默认端口是1433,如果sql2000和jboss分装不同机器,则localhost要改成数据库的ip地址,数据库选择sql2000自带的Northwind数据库,你可以改成别的数据库------*/ sa /*------数据库的用户名----*/ csdn /*------与数据库用户名对应的密码------*/ 修改mssql-xa-service.xml,ServerName、DatabaseName要和上个文件的一样。 ServerName=localhost;DatabaseName=Northwind;SelectMethod=cursor

二、 运行jboss

运行“jboss安装目录\bin\run.bat”,打开IE,在地址栏输入 ,出现一些错误信息,大意是没有web应用程序等,读者可以先在“jboss安装目录\server\default\deploy”中新建一个简单的web应用程序,或者等待后面用jbuilder中发布一个web应用,如果需要新建,步骤如下: 1、“jboss安装目录\server\default\deploy”中新建文件夹db_test.war,在db_test.war中新建index.jsp,内容如下: <%@page contentType="text/html"%> <%@ page import="java.sql.*, javax.sql.DataSource, javax.naming.InitialContext" %>

Test sql2000 Database

<% InitialContext ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup("java:/MSSQLDS"); Connection conn = ds.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM Employees"); while ( rs.next() ) { out.println( rs.getInt(“EmployeeID”) "
"); } conn.close(); %> 在db_test.war中新建文件夹WEB-INF,其中有两个文件jboss-web.xml和web.xml jboss-web.xml内容是 web.xml内容是 访问/db_test,成功后表示和数据库正常连接了。

三、 配置JBuilder

1、启动jbuilder,Tools->Enterprise Setup,单击Database Drivers页上的Add, 在弹出的对话框中单击New,. 在弹出的对话框中填写Name为MS SQL Server JDBC, Location选择User Home,单击Add按钮,选择msbase.jar, msutil.jar, mssqlserver.jar,单击OK关闭当前对话框,可以看到MS SQL Server JDBC已被加入,单击OK关闭当前对话框,再次单击OK,配置完成。 2、重起JBuilder 7,Tools->Configure Servers,选中左侧的JBoss 3.X,选中右边的Enable Server,填写: General页:Home Directiry = F:\jboss-3.0.4_tomcat-4.1.12 // <——JBoss的安装目录 Main Class = org.jboss.Main VM Parameters =-ms64m -mx64m -Dprogram.name=run.bat Server Parameters = -c default Working Directory = F:\jboss-3.0.4_tomcat-4.1.12\bin Custom页:JBoss Installation Directory = F:\jboss-3.0.4_tomcat-4.1.12 // <——JBoss的安装目录 Tomcat 4X JBuilder Installation Directory = F:\JBuilder7\jakarta-tomcat-4.0.3 //<——Tomcat的安装目录 JBoss Configuration to Use = default 单击OK。 3、Tools—>Configure Libraries, 在弹出的对话框中单击New按钮,在Name栏中填写JBoss Libs,单击Add按钮,加入JBoss目录下\Server\default\lib目录下的javax.servlet.jar和jboss-j2ee.jar文件,单击OK。 4、Tools—>Database Pilot,新打开的“Database Pilot”窗口是察看数据库的,相当于数据库服务器的客户端,选择File—>New…, Driver=com.microsoft.jdbc.sqlserver.SQLServerDriver URL=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName= Northwind 单击OK,在左边窗口出现我们新建的数据库连接,双击,输入用户名密码就可以浏览数据库Northwind中的数据表。注意此处URL的写法要刚刚配置的jboss的xml文件一样。 如果读者没法连上数据库,可以把sql2000的jdbc驱动msbase.jar、mssqlserver.jar、msutil.jar拷贝到“jbuilder安装目录\lib”中。

3. 在jbuilder中开发ejb

一、 新建一个Project:选择File->New Project,在Name栏填写JBossDemo,在Directory栏输入保存路径,其它不变,单击Finsih。选择Project->Project properties,在Path页的Required Libraries中单击Add按钮,在弹出的对话框中选择我们刚才建立的JBoss Libs,单击OK。选择Server页,选中Single Server For All Service in Project,在下拉列表中选择JBoss 3.X,单击OK。 二、 新建一个EJB Module:选择File->New,在弹出的对话框中选择Enterprise页中的EJB Module图标,单击OK。在弹出的对话框中Name栏填写JBossDemoModule,其它不变,单击OK。 三、 新建两个CMP:右键单击左下角的DataSource,选择Import Schema From Database,在弹出的对话框“Database Schema Provider”中选择“Choose Existing Connection”,在弹出的“Select Database”中选择我们刚建立的“jdbc:microsoft:sqlserver…”,单击ok,在“Database Schema Provider”中,按如下信息填写,其他不变: UserName:sa Password:csdn JNDI Name:java:/MSSQLDS Extended properties:DatabaseName=Northwind 勾选All Schemas和Views项 单击OK。成功的话,在DataSource下面将出现一个java:/MSSQLDS项,单击其左侧的 号,将其展开,将会看到表名。右键单击Employees表,选择CMP 2.0 Entity Bean, 同样右键单击Orders表,选择CMP 2.0 Entity Bean。 四、 建立表关联的关系:右键单击右侧的代表Employees表的矩形,选择Add->Relationship后,单击指向代表Oderss表的矩形后,将会看到一条线把两个矩形连接起来了,同时Employees表多了一个orders字段。单击右下角的JBossCMP-JDBC页,按如下填写,其它不变: datasource = MSSQLDS datasource-mapping = Hypersonic SQL 选择File->Save All保存项目。选择Project->“Make Project JbossDemo.jpx”编译项目。 五、 建立Session Bean:在右边的空白处单击右键,选择Create EJB-> Session Bean, 将Bean Name改为GetData,右键单击代表这个Session Bean的矩形,选择Add->Method,按如下填写: Method Name = GetOrdersByEmployeesID Return Type = Vector Input Parameters = Integer ID Interface = Remote 六、 编写代码:右键单击代表GetData的矩形,选择 View Bean Source。在开始处加入以下语句: import java.util.*; import javax.naming.*; 按如下填写GetOrdersByEmployeesID: public Vector GetOrdersByEmployeesID(Integer ID) { Vector result = new Vector(); result.add(ID); try { Context ctx = new InitialContext(); EmployeesHome home = (EmployeesHome)ctx.lookup("Employees"); Employees emp = home.findByPrimaryKey(ID); Collection orders = emp.getOrders(); Iterator it = orders.iterator(); while(it.hasNext()) { Orders order = (Orders)it.next(); result.add(order.getOrderID()); } } catch (Exception ex) { System.out.println("ShowOrdersByEmployeesID() error : " ex.getMessage()); } return result; } 七、 建立Servlet:选择File->New,在弹出的对话框中选择Web页中的Servlet图标,单击OK。在弹出的对话框中Class Name栏填写FormServlet,其它不变,单击Next,选中doGet()项,单击Next,此处的Name和URL pattern是有讲究的,它说明该servlet的web位置和web显示名称,其它不变,单击Finish。 按如下填写FormServlet.java的doGet()函数: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println("

Enter the Employees ID

"); out.println("Enter Employees ID in the input fields below."); out.println("

"); out.println("
"); out.println("Name
"); out.println(""); out.println("



"); out.print(""); out.println("
"); } 再次选择File->New,在弹出的对话框中选择Web页中的Servlet图标,单击OK。在弹出的对话框中Class Name栏填写ShowOrdersServlet,其它不变,单击Next,选中doPost()项,其它不变,单击Next,单击Next,单击Add Parameter,按如下填写: Name = EmployeeID Type = String Desc = employee’s ID Variable = employeeID Default = 1 单击Next,单击Finish。 按如下填写ShowOrdersServlet.java的doPost()函数: 别忘了在开始处加入以下语句: import java.util.*; import javax.naming.*; public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String employeesID = request.getParameter("EmployeeID"); if (employeesID == null) { employeesID = "1"; } response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); Vector orders = new Vector(); try { Context ctx = new InitialContext(); GetDataHome home = (GetDataHome)ctx.lookup("GetData"); GetData getData = home.create(); orders = getData.GetOrdersByEmployeesID(new Integer(employeesID)); } catch (Exception ex) { System.out.println("GetOrdersServlet doPost() error :" ex.getMessage()); } Iterator it = orders.iterator(); out.println(""); out.println("ShowOrdersServlet"); out.println(""); out.println("

Orders with EmployeesID " employeesID "

"); while(it.hasNext()) { out.println("

OrderID = " it.next().toString() "

"); } out.println("

Order Count = " orders.size() "

"); out.println(" "); } 八、 建立EAR文件:右键单击左侧目录树中的的,选择Properties。将WebApp页的Name填写为JBossDemo,将Dependencies页中的所有项设置成Exclude All,单击OK。选择File->New,在弹出的对话框中选择Enterprise页中的EAR图标,单击OK。第一页不变,单击Next,选中JBossDemoModule,单击Next,单击Next,单击Next,选中JBossDemo,单击Finish。选择File->Save All保存项目。选择Project->“Rebuild Project JBossDemo.jpx”编译项目。 九、 发布整个应用程序:右键单击左侧目录树中的的JBossDemo.eargrp,选择Deploy Options for “JBossDemo.ear” —>Deploy,发布应用程序。 十、 测试应用程序:打开IE,在地址栏输入 /JBossDemo/formservlet,回车,在编辑框中输入3,单击“submit”即可。

4. 在jbuilder中使用vss进行团队开发

部分参考网上“CN-JAVA论坛->CASE工具->VSS与Jbuilder5/6进行代码控制的说明书”。 一、vss安装 如果你的电脑装有vss,但版本的不是vss6.0,那你可以卸装(服务器版本)或者清理注册表记录(客户端版本),开始->运行->regedit.exe,清除 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe 中的所有记录。vss6.0是微软Visual Studio 6.0中的一员,你可以从中安装,作者安装的是vss6.0独立版,运行vss_ss/setup.exe,安装成功后重启电脑。 二、vss服务器端设置 运行“开始->程序->Microsoft Visual Studio 6.0-> Microsoft Visual SourceSafe-> Visual SourceSafe 6.0 Admin”,用户名Admin,密码默认为空,在“Visual SourceSafe Administrator”中,Users->Change Password,修改管理员密码,单击ok。vss6.0默认的数据库名是VSS,我们创建新的数据库Tools->Create Database…,选择该数据库放置的位置,例如D:\VSSDB,勾选New 6.0 database…,单击ok。Users->Open SourceSafe Database,双击vssdb,此时我们操作的是vssdb数据库,修改管理员密码并增加该数据库的使用用户,例如Users->Add User…,User name:cjw,Password:1234,单击ok。 选择tools->Options,在弹出窗口选择 Project Security 标签,选择 enable project security 复选框,单击ok。选择tools->Rights by Project,在弹出窗口设置用户的权限,设置完成之后,单击close。 三、在vss数据库中新建项目 运行“开始->程序->Microsoft Visual Studio 6.0-> Microsoft Visual SourceSafe-> Microsoft Visual SourceSafe 6.0 ”,选择File->Open SourceSafe Database…,双击我们刚建立的数据库。vss允许以任何的层次结构存储组织项目,在一个数据库中,可以创建多个项目,选择File->Create Project…,创建一个项目,例如daxt。 四、jbuilder中设置vss 打开Jbuilder,打开我们建立的JbossDemo工程,选择Team->Select Project VCS,选择Visual SourceSafe,单击ok。选择Team->Place Project into VSS,在弹出窗口中,填写“vss安装目录/win32”,单击next,填写刚建立数据源的目录路径,单击next,填写admin的用户名和密码,单击next,选择想置入vss中的目录或文件,单击next、next,填写数据源的位置(一般情况下,不填也可以),单击finish,等待jbuilder把项目加入vss中,根据对话框的内容知道操作是否成功。 五、项目开发人员获得VSS上的项目工程 vss6.0服务器安装后,项目开发人员运行vss服务器中“vss安装目录/NETSETUP.EXE”,根据提示安装。或者把vss服务器中“vss安装目录\win32\SSEXP.EXE”的快捷方式放到本机,直接运行即可。 以下部分作者没有非常详细测试过,请读者见谅,若有问题,请发email:peiwen_lin@163.net。 访问服务器共享出来的VSS数据源目录和jbuilder工程,把它们映射到自己的电脑上。运行Jbuilder,打开Demo工程。选择Team->Select Project VCS,选择Visual SourceSafe,单击ok。选择Team->Pull Project from VSS ,选择映射的服务器上的VSS数据源目录,单击next,填写自己的用户名称和密码,单击next,选择数据源内合适的项目工程,单击next,选择一个空目录作为新项目的存放地点,单击finish。 根据对话框的内容知道操作是否成功。工程check in后,选择Team->Configure Visual SourceSaft,在弹出式窗口中可以重新设定vss的参数。 六、在jbuilder中如何使用vss 在jbuilder中打开JBossDemo工程。通过VSS进行代码控制,需要经常得到最新的项目代码文档,选择Team->Commit Browser,在弹出窗口中可以得到最新代码版本与本地版本之间的变更列表,单击Commit使本地的版本得到更新(注:可选择变更记录的action项选择对此变更的操作)。 修改文件前,要把文件check out出来,在jbuilder左边工程窗口中右击需要修改的文件,选择 Visual SourceSafe->Check out “…...”,文件修改完成后,用同样的方法把文件check in 进去,别人才能访问修改此文件。 添加文件,开发人员在工程内添加了文件之后,需要把它加入到 VSS,右击需要增加的文件,选择 Visual SourceSafe->Add…。 删除文件,把需要删除的文件chechout 出来,右击文件,选择Delete “…”。进行此操作时,可能出现VSS操作停顿的现象,解决方法:(1)激活Windows2000的任务管理窗口,把进程 ss.exe 干掉;(2)通过 VSS 的 Explorer 窗口把没有清除的文件删掉。

5. 结束语

作者刚刚涉足EJB,不免学识单薄,此篇文章若有误漏,请读者们多多包涵。写这篇文章的目的有两个:(1)配置过程遇到很多问题,所以要把正确的过程写出来,避免别人象我一样浪费时间;(2)调配服务器过程中,我从网上获得很多有用的信息,所以我要反馈信息,与别人共享信息资源。 下载本文示例代码


用jbuilder7 jboss3 vss开发EJB用jbuilder7 jboss3 vss开发EJB用jbuilder7 jboss3 vss开发EJB用jbuilder7 jboss3 vss开发EJB用jbuilder7 jboss3 vss开发EJB用jbuilder7 jboss3 vss开发EJB用jbuilder7 jboss3 vss开发EJB用jbuilder7 jboss3 vss开发EJB用jbuilder7 jboss3 vss开发EJB用jbuilder7 jboss3 vss开发EJB用jbuilder7 jboss3 vss开发EJB用jbuilder7 jboss3 vss开发EJB
阅读(78) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~