前言
在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的安装程序到http://java.sun.com下载,安装后,配置的环境变量如下:
1.CLASSPATH
路径:.;C:j2sdk1.4.0lib
ools.jar;C:j2eelibj2ee.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.0lib
ools.jar;C:j2sdk1.4.0libdt.jar;C:j2sdk1.4.0in;C:j2sdk1.4.0jrein;说明:如果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:j2eein>j2ee
-verbose,如果启动的过程中没有错误,不要关闭窗口,在IE浏览器中访问HTTP://localhost:8000,看到默认的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,下载地址:http://prdownloads.sourceforge.net/jboss/jboss-3.0.4_tomcat-4.0.6.zip?download。
数据库sql2000和jboss一起协同工作,有两种方式,一种是odbc-jdbc,一种是jdbc。许多web服务器自带odbc-jdbc驱动,无需下载,在控制面板->管理工具->数据源(odbc)中设置数据源即可使用,但如果要开发ejb,要使用jdbc驱动。很多公司提供ms
sql2000的jdbc驱动(属第四种类型驱动,即纯java驱动),作者建议大家到微软的官方站点下载:http://www.microsoft.com/downloads/details.aspx?FamilyID=86212d54-8488-481d-b46b-af29bb18e1e5&DisplayLang=en。下载后安装,默认安装路径是C:Program
FilesMicrosoft SQL Server 2000 Driver for
JDBC,jdbc的驱动包在lib中,分别是msbase.jar、mssqlserver.jar、msutil.jar。
jboss和jbuilder协同工作,需要下载并安装JBossOpenTool
For JBuilder
7,下载地址:http://weisoft.myrice.com/download/JBuilder_JBossOT.jar。将下载的JbossOpenTool.jar拷贝至Jbuilder7的libext目录下,重启动JBuilder。
准备工作完成后,我们开始配置工作:
一、
在jboss中配置sql2000的JDBC驱动
将msbase.jar, msutil.jar,
mssqlserver.jar三个文件拷贝至Jboss的Serverdefaultlib目录下。将Jboss的docsexamplesjca目录下的mssql-service.xml,
mssql-xa-service.xml文件拷贝至Jboss的serverdefaultdeploy目录下,修改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安装目录in un.bat”,打开IE,在地址栏输入
http://localhost:8080,出现一些错误信息,大意是没有web应用程序等,读者可以先在“jboss安装目录serverdefaultdeploy”中新建一个简单的web应用程序,或者等待后面用jbuilder中发布一个web应用,如果需要新建,步骤如下:
1、“jboss安装目录serverdefaultdeploy”中新建文件夹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内容是
"-//Sun
Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
访问http://localhost:8080/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.12in
Custom页:JBoss Installation Directory =
F:jboss-3.0.4_tomcat-4.1.12 // ?JBoss的安装目录
Tomcat 4X JBuilder
Installation Directory = F:JBuilder7jakarta-tomcat-4.0.3
//?Tomcat的安装目录
JBoss Configuration to Use =
default
单击OK。
3、Tools?>Configure Libraries,
在弹出的对话框中单击New按钮,在Name栏中填写JBoss
Libs,单击Add按钮,加入JBoss目录下Serverdefaultlib目录下的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("
");
}
再次选择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,在地址栏输入
http://localhost:8080/JBossDemo/formservlet,回车,在编辑框中输入3,单击“submit”即可。
4.
在jbuilder中使用vss进行团队开发
部分参考网上“CN-JAVA论坛->CASE工具->VSS与Jbuilder5/6进行代码控制的说明书”。
一、vss安装
如果你的电脑装有vss,但版本的不是vss6.0,那你可以卸装(服务器版本)或者清理注册表记录(客户端版本),开始->运行->regedit.exe,清除
HKEY_LOCAL_MACHINESOFTWAREMicrosoftSourceSafe 中的所有记录。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安装目录win32SSEXP.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)调配服务器过程中,我从网上获得很多有用的信息,所以我要反馈信息,与别人共享信息资源。[@more@]
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9650775/viewspace-921920/
,如需转载,请注明出处,否则将追究法律责任。