|
1、下载和安装 <1>下载可以到www.jboss.org下载,我下的是jboss3.2.1。并且不是那个和tomcat整合的版本。 <2>安装方法就是将文件解压到硬盘的某个目录下(例如:我的解到 d:jboss-3.2.1)。 2、配置 <1>首先必须安装jdk。jboss不像weblogic自带java标准开发包。我安装的是1.4 安装目录是C:j2sdk1.4.0 。 <2>设置环境变量 <<1>>JAVA_HOME设置为JDK的安装目录(例如:我的为C:j2sdk1.4.0) <<2>>classpath的设置:看看我的,大家就知道该包含哪些包了 C:j2sdk1.4.0lib ools.jar; D:jboss-3.2.1serverdefaultlibjavax.servlet.jar; D:jboss-3.2.1serverdefaultlibjboss-j2ee.jar; .; D:jboss-3.2.1clientjbossall-client.jar; D:jboss-3.2.1clientjnet.jar; D:jboss-3.2.1clientlog4j.jar; 3、运行 进入jboss3.2.1的bin目录,执行run.bat就可以了。看到出现 00:59:26,978 INFO [Server] JBoss (MX MicroKernel) [3.2.1 (build: CVSTag=JBoss_3 _2_1 date=200305041533)] Started in 17s:595ms 这样的提示信息就说明启动成功,测试方法如下 http://localhost:8080/jmx-console 你将看到jmx agent view
4、使用 <1>html,jsp测试 jboss的默认web目录是在jboss-3.2.1serverdefaultdeploy下面。下面就介绍测试jsp,servlet,ejb的方法: 对于测试首先在deploy下建立一个test.war文件夹,然后将html,jsp文件都可以放到这里进行测试 例如建立一test.jsp如下: <%@ page language="java" %> <%@ page contentType="text/html;charset=gb2312" %> <%@ page import="java.util.*" %> <%=new Date().toLocalString()%> 通过http://localhost:8080/test/test.jsp调用就可得到当前日期时间。 <2>设置sql server2000的数据源然后在jsp中操调用操作数据库 <<1>>下载安装sql server2000的jdbc驱动(微软提供) <<2>>将mssqlserver,msbase,msutil三个jar文件复制到jboss-3.2.1serverdefaultlib目录下面 <<3>>将jboss-3.2.1docsexamplesjcamssql-ds.xml复制一份到jboss-3.2.1serverdefaultdeploy下面 部分修改如下: <datasources> <local-tx-datasource> <jndi-name>ds</jndi-name> <connection-url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind</connection-url> <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class> <user-name>sa</user-name> <password></password> </local-tx-datasource> </datasources>
上面的配置就是用ds作为数据源的名称,用不带密码的sa用户连接sql server的样板数据库northwind。你可以作适当的修改。 <<4>>配置完成后,用如下testSql.jsp文件测试数据库操作 <%@ page language="java" %> <%@ page import="javax.naming.*" %> <%@ page import="javax.sql.*" %> <%@ page import="java.sql.*" %> <%! javax.sql.DataSource ds; %> <% try { Context ctx = new InitialContext(); ds = (javax.sql.DataSource)ctx.lookup("java:/ds"); } catch (Exception e) { out.println("erro when connect to java naming api"); } Connection conn = ds.getConnection(); Statement st = conn.createStatement(); String sqlStr = "select * from categories"; ResultSet rs = st.executeQuery(sqlStr); while ( rs.next() ) { out.println(rs.getString("categoryName")+"<br>"); } rs.close(); st.close(); conn.close(); %> 将输出categories表的每条记录的categoryName,值得注意的是在mssql-ds.xml设置的jndi-name是ds,而真正的绑定是 java:/ds。
<3> servlet的配置测试 <<1>>编写并编译如下的简单servlet import java.io.*; import javax.servlet.*; import javax.servlet.http.*;
public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(""); out.println("Hello World"); out.println("<p><p><p><p><div align='right'>author's email:zhjx_10@hotmail.com</div>"); } } <<2>>在test.war文件夹下建立一个WEB-INF目录,里面再建立一个classes目录和web.xml文件目录结构如下: [test.war] [WEB-INF] [classes] web.xml 将编译成功的HelloWorld.class放置到classes目录下,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> <servlet> <servlet-name>HelloWorld</servlet-name> <servlet-class>HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping> </web-app>
通过调用http://localhost:8080/test/HelloWorld 就可以看到hello world的输出 <4>session bean的测试(Hello) 这是一个简单的stateless session bean的测试 <<1>>Hello.java
import java.rmi.RemoteException; import javax.ejb.EJBObject;
public interface Hello extends javax.ejb.EJBObject { public String hello() throws java.rmi.RemoteException; }
<<2>>HelloHome.java
import java.rmi.RemoteException;
public interface HelloHome extends javax.ejb.EJBHome { Hello create() throws java.rmi.RemoteException,javax.ejb.CreateException; }
<<3>>HelloBean.java import javax.ejb.SessionBean; import javax.ejb.SessionContext;
public class HelloBean implements javax.ejb.SessionBean { private SessionContext ctx; public void ejbCreate() { System.out.println("ejbCreate()"); } public void ejbRemove() { System.out.println("ejbRemove()"); } public void ejbActivate() { System.out.println("ejbActivate()"); } public void ejbPassivate() { System.out.println("ejbPassivate()"); } public void setSessionContext(javax.ejb.SessionContext ctx) { his.ctx = ctx; } public String hello() { System.out.println("hello()"); return "hello,world"; } } <<4>>ejb-jar.xml <?xml version="1.0"?> <!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> <enterprise-beans> <session> <ejb-name>Hello</ejb-name> <home>HelloHome</home> <remote>Hello</remote> <ejb-class>HelloBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session> </enterprise-beans> </ejb-jar> <<5>>jboss.xml <?xml version="1.0" encoding="UTF-8"?> <jboss> <enterprise-beans> <session> <ejb-name>Hello</ejb-name> <jndi-name> [1] [2] [3] [4] 下一页
|