新手提问,怎么使用JBoss?

首先问一下,我下的是JBoss-4.2.2.GA.zip,是解压后就可以使用了么?我从网上听说有的JBoss集成了Tomcat,请问我下的这个版本集成了么?我运行bin/... 首先问一下,我下的是JBoss-4.2.2.GA.zip,是解压后就可以使用了么?我从网上听说有的JBoss集成了Tomcat,请问我下的这个版本集成了么?

我运行bin/run.bat有个黑屏幕一闪而过,但好像没有启动成功,在IE中输入http://localhost:8080没有出现JBoss的欢迎页面,但是启动bin/run.jar就可以,倒底启动JBoss应该使用哪个文件?

如果使用JBoss运行JSP或Servlet应该存在哪里?原来用Tomcat运行Servlet需要配环境变量,在JBoss里还用么?

由于我问题太多,请大家谅解,我是新手,刚刚接触JBoss,先谢谢大家了!
展开
 我来答
fearofking
推荐于2016-10-28 · TA获得超过379个赞
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:98.2万
展开全部
使用JBoss和PostgreSQL-快速开发EJB和J2EE Web Application

先安装JSDK,再安装JBoss.
安装JSDK,必须获得一套对应于用户的操作系统的JDK,
我的安装的文件目录是
WINDOWS2000: d:\s1studio_jdk\j2sdk1.4.1
linux: /root/s1studio_jdk/j2sdk1.4.1
为了用EJB, 需要一个j2ee-1.3.jar或者j2ee-1.2.jar,
如果安装了Sun One Studio 或者 J2EE (www.sun.com )这个文件已经有.
把这个文件放在classpath路径上.
或者使用jboss-j2ee.jar, 安装JBoss后在$JBoss\client中可找到.
建议安装Sun One Studio, 用Sun One Studio编译JAVA源程序,
不用设置classpath, 省去不少过程.

安装JBoss:
把JBoss的压缩包解开,放在任一目录上,
我的安装的文件目录是
/dose/jboss-3.0.4_tomcat-4.1.12 (REDHAT8.0)
E:\jboss-3.0.4_tomcat-4.1.12 (WINDOWS2000)
WINDOWS2000, linux共用同一套JBoss.

配置JBoss:
启动JBoss需要执行一个脚本文件:
linux:run.sh
WINDOWS对应的是:run.bat

(1)
在JBoss\bin\run.bat (for Windows)开头插入一行
set JAVA_HOME = d:\s1studio_jdk\j2sdk1.4.1
在JBoss\bin\run.sh (for Linux)开头插入一行
JAVA_HOME="/root/s1studio_jdk/j2sdk1.4.1"

或者
(2)设置系统环境变量JAVA_HOME,指向JDK

运行JBoss, run.sh或者run.bat
当看到启动JBoss的信息时,说明启动了.
服务器简单的测试:
JBoss默认的WEB端口为8080,我们可以在打开一个浏览器输入地址
http://localhost:8080/jmx-console
当在浏览器看到JBoss的信息时,说明安装配置JBoss成功了.

建立下面的目录和文件(注意大小写).

FIRST.EAR
|
|-----META-INF (application.xml)
|
|-----First.jar
| |-----META-INF (ejb-jar.xml,jboss.xml)
| `-----Dev
| |-----First(FirstSession.java, FirstSessionHome.java, FirstSessionBean.java)
| |-----Delegate(NewDelegate.java)
| `-----Dao(MysqlDao.java)
|
`-----First.war(index.jsp)
|
`-----WEB-INF (jboss-web.xml, web.xml)
|-----classes
`-----lib

/*
**
**MysqlDao.java
**
*/

package Dev.Dao;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;import java.sql.ResultSet;import javax.naming.InitialContext;import javax.sql.DataSource;public class MysqlDao { public Connection getConnection() throws Exception { InitialContext ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup("java:/PostgresDS"); Connection conn = null; Statement stmt = null; try { conn = ds.getConnection(); } catch (SQLException sqlEx) { System.out.println("Error connect to pool."); } return conn; } public String getName(String id) throws Exception { Connection conn = null; Statement stmt = null; ResultSet rs = null; String name = ""; try { conn = getConnection(); if ( conn !=null )System.out.println("Get conecttion. "+ conn.toString()); stmt = conn.createStatement(); if ( stmt !=null )System.out.println("Get Statement. "+ stmt.toString()); String sql = "SELECT * from users where id = ´"+id+"´"; System.out.println("Sql from getId(): "+sql); rs = stmt.executeQuery(sql); if ( rs !=null )System.out.println("Get result. "); if (rs.next()){ name = rs.getString("name"); } } catch (Exception sqlEx) { System.out.println("Error from getName()."); System.out.println("Error from DAO.getName() :" + sqlEx.getMessage()); }finally { if (conn != null) { try { conn.close(); } catch (Exception sqlEx) { } } } return name; } public String getCountry(String id) throws Exception { Connection conn = null; Statement stmt = null; String name = ""; try { conn = getConnection(); stmt = conn.createStatement(); String sql = "SELECT * from users where id = ´"+id+"´"; System.out.println("Sql from getCountry(): "+sql); java.sql.ResultSet rs = stmt.executeQuery(sql); if (rs.next()) { name = rs.getString("Country"); } } catch (SQLException sqlEx) { System.out.println("Error from getCountry()."); }finally { if (conn != null) { try { conn.close(); } catch (Exception sqlEx) { } } } return name; }}

/*
**
**NewDelegate.java
**
*/

package Dev.Delegate;import java.lang.*;import Dev.First.*;public class NewDelegate { Dev.First.FirstSession bean = null; public NewDelegate( ){ try { javax.naming.InitialContext ctx = new javax.naming.InitialContext(); Object objref = ctx.lookup("ejb/FirstSession"); Dev.First.FirstSessionHome testBean = (Dev.First.FirstSessionHome) javax.rmi.PortableRemoteObject.narrow (objref,Dev.First.FirstSessionHome.class); bean = testBean.create(); System.out.println("From JSP"); } catch (Exception NamingException) { NamingException.printStackTrace(); } } public String Welcome() { String msg = ""; try { msg = bean.Welcome(); } catch (Exception NamingException) { NamingException.printStackTrace(); } return msg; } public String getName(String id) { String name = ""; try { name = bean.getName(id); } catch (Exception NamingException) { NamingException.printStackTrace();} return name; } public String getCountry(String id) { String country = ""; try { country = bean.getCountry(id); } catch (Exception NamingException) { NamingException.printStackTrace();} return country; } }

/*
**
**FirstSession.java
**
*/

package Dev.First;import java.lang.*;import java.rmi.RemoteException;import javax.ejb.CreateException;import javax.ejb.EJBException;import javax.ejb.SessionBean;import javax.ejb.SessionContext;public interface FirstSession extends javax.ejb.EJBObject{ public String Welcome() throws java.rmi.RemoteException; public String getName(String id) throws java.rmi.RemoteException; public String getCountry(String id) throws java.rmi.RemoteException;}

/*
**
**FirstSessionHome.java
**
*/

package Dev.First;import java.lang.*;import java.rmi.RemoteException;import javax.ejb.CreateException;import javax.ejb.EJBException;import javax.ejb.SessionBean;import javax.ejb.SessionContext;public interface FirstSessionHome extends javax.ejb.EJBHome{public FirstSession create() throws javax.ejb.CreateException, java.rmi.RemoteException;}

/*
**
**FirstSessionBean.java
**
*/

package Dev.First;import java.rmi.RemoteException;import javax.ejb.CreateException;import javax.ejb.EJBException;import javax.ejb.SessionBean;import javax.ejb.SessionContext;public class FirstSessionBean implements SessionBean{public void ejbCreate() throws CreateException {}public String Welcome(){ String msg="Hello! This My Session Bean From Jboss."; System.out.println(msg); return msg;}public String getName(String id){ String name = ""; System.out.println("From bean before getName :"+ name); try{ Dev.Dao.MysqlDao dao = new Dev.Dao.MysqlDao(); name = dao.getName(id); System.out.println("From bean after getName :"+ name); }catch(Exception e){ System.out.println(e.getMessage());} return name;}public String getCountry(String id){ String country = ""; try{ Dev.Dao.MysqlDao dao = new Dev.Dao.MysqlDao(); country = dao.getCountry(id); }catch(Exception e){ } return country;}public void setSessionContext( SessionContext aContext ) throws EJBException {}public void ejbActivate() throws EJBException {}public void ejbPassivate() throws EJBException {}public void ejbRemove() throws EJBException {}}

/*Don´t put the following lines into index.jsp
**
**index.jsp
**
*/Don´t put the above lines into index.jsp

<%@page language="java" %><% String msg = ""; String msg1 = ""; Dev.Delegate.NewDelegate nn = new Dev.Delegate.NewDelegate(); if (request.getParameter("id") != null && request.getParameter("id") != ""&& !request.getParameter("id").equals("")){ String id = request.getParameter("id"); String name = ""; Dev.Dao.MysqlDao dao = new Dev.Dao.MysqlDao(); name = nn.getName(id); //access database through session bean //name = dao.getName(id); //access database directly if(name!= null && !name.equals("")){ msg1 ="Welcome " + name +" ! You are from "+ dao.getCountry(id)+ " ."; }else{ msg1 ="Please Check Your ID. : " + id; } } msg = nn.Welcome() ;%><html><head><title>Welcome</title></head><body bgcolor="#FFFFCC"><br> <%= msg %> <br><FORM ACTION="index.jsp" method="post"><P>Your ID:<INPUT TYPE="TEXT" NAME="id" size = "10"></P><P><INPUT TYPE="SUBMIT" NAME="SUBMIT"></P></FORM><br><br><%=(msg1 == "")? "":msg1 + "<br> <br> <br>Connect to Database OK." %></body></html>

<!--不要将此以下5行存入文件
**
**ejb-jar.xml
**
-->不要将此以上5行存入文件, 下同.

<?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>First</description> <display-name>First</display-name><enterprise-beans><!-- Session Beans --><session id="MyFirstSession"> <display-name>My First Session Bean</display-name> <ejb-name>FirstSession</ejb-name> <home>Dev.First.FirstSessionHome</home> <remote>Dev.First.FirstSession</remote> <ejb-class>Dev.First.FirstSessionBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type></session></enterprise-beans><assembly-descriptor></assembly-descriptor></ejb-jar>

<!--
**
**jboss.xml
**
-->

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS//EN" "http://www.jboss.org/j2ee/dtd/jboss.dtd"><jboss><enterprise-beans><session><ejb-name>FirstSessio
n</ejb-name><jndi-name>ejb/FirstSession</jndi-name></session></enterprise-beans><resource-managers></resource-managers></jboss>

<!--
**
**jboss-web.xml
**
-->

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web.dtd"><jboss-web> <resource-ref> <res-ref-name>jdbc/PostgresDS</res-ref-name> <res-type>javax.sql.DataSource</res-type> <jndi-name>java:/PostgresDS</jndi-name> </resource-ref></jboss-web>
<!--
**
**web.xml
**
-->

<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN""http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"><web-app><resource-ref> <description>Postgresql driver</description> <res-ref-name>jdbc/PostgresDS</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth></resource-ref></web-app>

<!--
**
**application.xml
**
-->

<?xml version="1.0" encoding="ISO-8859-1"?><application><display-name>First</display-name><module><web><web-uri>First.war</web-uri><context-root>/First</context-root></web></module><module><ejb>First.jar</ejb></module></application>

编译JAVA源程序,生成class文件.
进入JAVA源程序目录, 运行:
javac -classpath %classpath%;%jboss%\server\default\deploy\First.ear\First.jar *.java
或者
javac -classpath %jboss%\server\default\deploy\First.ear\First.jar;%jboss%\client\jboss-j2ee.jar *.java

Copy 目录First.ear to jboss\server\default\deploy.
打开浏览器输入地址 http://localhost:8080/First

到此, 在浏览器看到: Hello! This My Session Bean From Jboss.
说明这个EJB工作了.

如果按按钮, 没反应或出错. 原因没安装配置数据库, 下面安装配置Postgres数据库

For Windows2000
下载 PgSQL731wina1.exe (http://www.postgresql.org ),
Finally you will see the next line, you need enter the password for Administrator
最后你将看下一个行,你必须为用户Administrator输入password.
********************
Enter password of user `.\Administrator´:123456
********************

记下此password, 我的口令是123456.

从开始菜单 > Programm > PostgresSQL > Adjust PostgresSQL Configuration file
它将在Wordpad中打开PostgresSQL Configuration文件, 找到下列行,

#
# Connection Parameters
#
#tcpip_socket = false
#ssl = false

#max_connections = 32
#superuser_reserved_connections = 2

#port = 5432

修改编辑:
#
# Connection Parameters
#
tcpip_socket = true
#ssl = false

#max_connections = 32
#superuser_reserved_connections = 2

port = 5432

接着,保存文件.

起动PostgresSQL服务器:
开始菜单>Programm>PostgresSQL>Utilies>Start PostgresSQL server
起动命令行:
开始菜单>Programm>PostgresSQL>Utilies>Command Shell

执行下列命令,准备数据,
Administrator@SAN /
$ dir

$ cd bin

$ createdb test

$ psql test

test=# create table users
test-# (name varchar(20),
test(# id varchar(20),
test(# country varchar(20));
test=# insert into users values (´Sam´, ´123´, ´China´);
test=# insert into users values (´Tom´, ´321´, ´USA´);
test=# insert into users values (´Sean´, ´231´, ´France´);

test=# select * from users;
name | id | country
------+-----+---------
Sam | 123 | China
Tom | 321 | USA
Sean | 231 | France
(3 rows)

test=#

到此, 数据准备就绪.

For RedHat:
以root登陆, 执行下列命令,准备数据,

mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

Open and edit /usr/local/pgsql/data/pg_hba.conf

local all trust
host all 127.0.0.1 255.255.255.255 trust

just delete #, and save.

[root@localhost root]# su - postgres
-bash-2.05b$ /usr/bin/postmaster -i -D /usr/local/pgsql/data >logfile 2>&1 &
-bash-2.05b$ /usr/bin/createdb test
-bash-2.05b$ /usr/local/pgsql/bin/psql test
test=# .......the following same as Windows2000

到此, 数据准备就绪.

执行shutdown.bat or shutdown.sh, 停止Jboss Server.

找到JDBC drive.
为了在Jboss中使用连接池,需要拷贝jdbc drive 到Jboss/server/default/deploy , 在linux 我们能找到/usr/share/pgsql/pgjdbc2.jar,在wondows2000,我们能找到PostgreSQL\usr\share\postgresql\java\postgresql.jar
把其中之一复制到Jboss/server/default/deploy

配置Jboss

(1) 复制 $Jboss/examples/jca/postgres-service.xml 到 $Jboss/server/default/deploy/

(2) 打开编辑Jboss/server/default/deploy/postgres-service.xml

<attribute name="JndiName">PostgresDS</attribute>
<attribute name="ManagedConnectionFactoryProperties">
<properties>
<config-property name="ConnectionURL" type="java.lang.String">jdbc:postgresql://localhost/test</config-property>
<config-property name="DriverClass" type="java.lang.String">org.postgresql.Driver</config-property>
<!--set these only if you want only default logins, not through JAAS -->
<config-property name="UserName" type="java.lang.String">Administrator</config-property>
<config-property name="Password" type="java.lang.String">123456</config-property>
</properties>

In my example, set Username Administrator, password 123456 for windows 2000
set Username Postgres, no password for Linux.
在我的例子中,
windows2000, 用户:Administrator,password:123456
Linux(RH8.0), 用户:Postgres, 没有password
因为PostgresSQL和windows2000使用不同的default用户名,所以在linux和window2000中这文件不同.当然,你可以加相同的PostgresSQL用户名和password在linux和window2000中, 这样这文件就相同了.

保存文件.

(3) 打开编辑 $Jboss/server/default/conf/standardjbosscmp-jdbc.xml
找到:
<datasource>java:/DefaultDS</datasource>
<datasource-mapping>Hypersonic SQL</datasource-mapping>
加入:
<datasource>java:/PostgresDS</datasource>
<datasource-mapping>Postgres</datasource-mapping>
保存文件.

(4) open and edit $Jboss/server/default/conf/standardjaws.xml
找到:
<datasource>java:/DefaultDS</datasource>
<type-mapping>Hypersonic SQL</type-mapping>
<debug>false</debug>
加入:
<datasource>java:/PostgresDS</datasource>
<type-mapping>Postgres</type-mapping>
<debug>false</debug>
保存文件.

现在重起JBoss.
打开浏览器输入地址http://localhost:8080/First br> 输入ID,按按钮
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲、导入文档内容”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表... 点击进入详情页
本回答由AiPPT提供
du瓶邪
推荐于2016-06-28 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2812万
展开全部
1.1、软件安装

起重要安装JDK(仅仅安装JRE是不可的,因为JSP页面须要编译),最新的正式版是JDK1.4.2。然后把JBoss的紧缩包解压到一个目次下,目次名通常为"Jboss_版本号",JBoss今朝的最新正式版是JBoss4.0.0(2004年9月20日发布)。下面的设备都是针对JBoss3.2.5。

1.2、情况变量的设置

须要的情况变量有JAVA_HOME和JBOSS_HOME。情况变量JAVA_HOME设置为刚才JDK的安装路径,JBOSS_HOME设置为刚才JBoss解压后的路径。设置方法以下:

在Windows2000中可以右键点我的计算机,选"属性"->选"高等"选项卡->点击"情况变量"按钮->点击体系变量的"新建"按钮,然后在对话框中输进"变量名"为"JAVA_HOME",变量值为JDK的安装路径,最后断定。一样的方法添加JBOSS_HOME。

1.3、运行

直接履行JBoss\bin目次下的run.bat批处理文件便可,启动时光从20秒到1分钟阁下不等,视CPU速度和内存大年夜小而定。

1.4、终止JBoss的运行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式