http://blog.csdn.net/pop303/article/details/7210290
赶在年前学习了一下JBOSS,之前觉得JBOSS相关资料会有很多,不过现在发现很少,在亚马逊出也是很少,只有一个“JBoss实战:服务器配置指南 ”,不过我找到了英文版,有要的可以邮件给大家。我想从不会JBOSS开始进行,到我打包部署到JBOSS后能看到我的HELLO!网页结束的过程。

首先要进行的工作是下JBOSS、JBOSS插件、开发以eclipse为平台,都需要JEE方式。

JBOSS,在http://www.jboss.org/projects网页下有很多项目,后来了解了一下,在redhat收了之后JBOSS有很多扩展主题,但最主要大家都在用的还是servers下的Application Server,到我下载时已经是AS7了,我下了之后发现AS7和以前版脚本差异太大,对于我初学的相关文档都是7以下的,我在后来又重新下的AS6版本。

JBOSS Tool是对于eclipse为平台的插件是一定要的。不过我是在eclipse上直接选择源下载安装的。源:http://download.jboss.org/jbosstools/updates/stable/helios/。插件安装在eclipse下的help->insall new software ->Avaliable Software。(这个就不上图了)

eclipse为平台我选择的是Eclipse Java EE IDE for Web Developers.

JEE环境我选择的是java_ee_sdk-6u3-jdk7-windows-ml

配置环境:

JBOSS_HOME=D:\jboss\jboss-6.0.0.Final

JAVA_HOME=C:\glassfish3\jdk7

CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;:%JAVA_HOME%/lib/tools.jar

PATH=%JAVA_HOME%\bin;:%JAVA_HOME%\jre\bin;:D:\oracle...略

JBOSS要关注的两个目录:

bin目录,操作脚本目录;server\default\deploy,完成的WAR包的部署目录

JBOSS安装与启停:

对于JBOSS解了包那就算完成安装了,只要配置好JEE环境和最好加上JBOSS_HOME环境变量。并且安装包linux和windows是一个包,启动脚本分为bat和sh两种来对应两种系统

启动:   ./run.sh               //linux

run.bat                //windows

启动时还可以加参数,如   run.bat -c all

usage: run.sh [options]

options: 
    -h, –help                    Show this help message 
    -V, –version                 Show version information 
    –                            Stop processing options 
    -D<name>[=<value>]            Set a system property 
    -d, –bootdir=<dir>           Set the boot patch directory; Must be absolute or url 
    -p, –patchdir=<dir>          Set the patch directory; Must be absolute or url 
    -n, –netboot=<url>           Boot from net with the given url as base 
    -c, –configuration=<name>    Set the server configuration name 
    -B, –bootlib=<filename>      Add an extra library to the front bootclasspath 
    -L, –library=<filename>      Add an extra library to the loaders classpath 
    -C, –classpath=<url>         Add an extra url to the loaders classpath 
    -P, –properties=<url>        Load system properties from the given url 
    -b, –host=<host or ip>       Bind address for all JBoss services 
    -g, –partition=<name>        HA Partition name (default=DefaultDomain) 
    -u, –udp=<ip>                UDP multicast address 
    -l, –log=<log4j|jdk>         Specify the logger plugin type

其中有几个常用的参数

-c 服务配置名,指定JBoss启动哪个服务配置,默认是default,常用有 -c all

-b 绑定JBoss服务的IP,特别在部署EJB服务,只能通过绑定的IP查找EJB,在Linux下,不绑定IP将找不到EJB服务.对于单纯的Web应用,不绑定IP可以实现全地址绑定,对双网卡或者多个IP的环境都能通过不同IP访问.

-g 绑定HA分区名,用于EJB集群分组.

-u UDP多播地址,用于集群JBoss环境,默认为230.0.0.4,如果在局域网在有多个启动all配置(有集群配置)的JBoss服务,那在 JBoss日志中能看到不时的有组播信息出现,可以设置为不同的组播地址,避免这些干扰.合法值是IP协议中说到的广播段.

启动后可以看到网页:http://127.0.0.1:8080

停止服务:

./shutdown.sh -s //linux

shutdown.bat -s //windows

(停止方式我没有试成功过,未解中,都是CTRL+C shutdown的)。

在下来就是关于部署了,这个工作我是在eclipe平台完成的。上面已经说过要使用jee的eclipse和jboss的插件还要有jee的环境。

在JBOSS Tool安装后,对应在new中会多出三个目录,对于j2ee来说有可选的jboss6.0运行时环境。

选择可以使用很多种,我选择的是先创建一个Dynamic Web project(也可选用Enterprise application project)工程,生成的包就是war或ear 。在工程创建后,在以这个工程的src创建包com.clo.tAction,创建Hello.java:

package com.clo.tAction;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Hello
 */
@WebServlet("/Hello")
public class Hello extends HttpServlet {
 private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Hello() {
        super();
        // TODO Auto-generated constructor stub
    }
    public void service(HttpServletRequest request,HttpServletResponse response) throws ServletException ,IOException{
     java.io.PrintWriter out = response.getWriter();
     out.println("<html><boby>Hello too!</boby></html>");
     out.close();
    }

}

之后就可以进行web.xml的配置了

 
web.xml内容:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <servlet>
   <servlet-name>Hello</servlet-name>
   <servlet-class>
   com.clo.tAction.Hello
   </servlet-class>
  </servlet>
  <servlet-mapping>
   <servlet-name>Hello</servlet-name>
  <url-pattern>/sayhello</url-pattern>
  </servlet-mapping>
  </web-app>

注:是将之前web.xml内容从<servlet>标签之下开始修改的。头标签要保留。

之后就可以生成war了。

在此工作运行使用右键选择export ->war file

生成的war文件即可放到jboss的server\default\deploy,部署目录。此时如已经启动,也会得到加载成功。会生成日志:

此时浏览器网页上对应目录会有显示:

注:目录OK为我之前创建的工程,在此工程下做的网页。
 
其实还可以进行其他的方式,但我没成功,有空在说了!
 
 
 

其他文章参考:

JBoss环境搭建及部署Web项目的更多相关文章

  1. Maven的环境搭建及新建web项目

    第一次接触maven,做一个简单的记录 一.下载maven及环境变量的配置 下载地址 http://maven.apache.org/download.cgi 配置其环境变量  MAVEN_HOME= ...

  2. SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例

     要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...

  3. 从零开始搭建服务器部署web项目

    前言 该教程旨在完整描述建站过程,会将博主踩过的坑尽量详细的罗列出来.整个建站流程相对较为庞大,因此做了分解,同时适合大家有针对性的查询感兴趣的部分. 一.如何拥有自己的云服务器. 二.域名的购买与解 ...

  4. 在Linux上部署Web项目

    You believe it or not there is a feeling, lifetime all not lost to time. 在Linux上部署Web项目 这个是普通的web项目, ...

  5. Jenkins进阶-部署Web项目到远程tomcat(7)

    之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...

  6. Jenkins部署Web项目到远程tomcat(通过jenkins插件)

    之前讲到的是如何构建一个项目,并且将代码进行编译.打包,那么打包完成最后的结果就需要发布到应用服务器,将项目部署成功.在之前的项目中我们采用的shell脚本来部署,下面讲解通过Jenkins部署web ...

  7. 云服务器部署Web项目

    接着上一篇整好MySQL数据库了,部署Web项目的重要一步就完成了,接下来就是整Tomcat发布项目了,这个博主用的是宝塔面板,所以,也很简单,直接在宝塔面板软件商店选择对应的Tomcat版本安装就行 ...

  8. Linux系统部署WEB项目(2020最新最详细)

    2020最新Linux系统发行版ContOS7演示部署WEB项目 为防止操作权限不足,建议切换root用户,当然如果你对Linux命令熟悉,能够自主完成权限更新操作,可以不考虑此推荐. 更多命令学习推 ...

  9. Intellij IDEA采用Maven+Spring MVC+Hibernate的架构搭建一个java web项目

    原文:Java web 项目搭建 Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring ...

随机推荐

  1. 倒置数组 Exercise07_12

    import java.util.Scanner; /** * @author 冰樱梦 * 时间:2018年下半年 * 题目:倒置数组 * */ public class Exercise07_12 ...

  2. [BZOJ1002](FJOI 2007) 轮状病毒

    [题目描述] 给定n(N<=100),编程计算有多少个不同的n轮状病毒. [输入格式] 第一行有1个正整数n. [输出格式] 将编程计算出的不同的n轮状病毒数输出 [样例输入] 3 [样例输出] ...

  3. JAVA EE 中之AJAX 无刷新地区下拉列表三级联动

    JSP页面 <html> <head> <meta http-equiv="Content-Type" content="text/html ...

  4. Codeforces Beta Round #1 C. Ancient Berland Circus 计算几何

    C. Ancient Berland Circus 题目连接: http://www.codeforces.com/contest/1/problem/C Description Nowadays a ...

  5. 源码安装python及paramikon的初步试用

    Auth: jin Date: 20140314 OS: CentOS release 5.5 (Final) 默认2.4版本 莫 1.download wget http://www.python. ...

  6. 对js原型简单的理解和图解

    对js原型简单的理解和图解 最近在努力的学习js中,今天就抽了个空把自己理解的原型,记下一下在笔记中,以后自己查看,有空在会把原型链记录一下. 1.prototype prototype:是一个函数的 ...

  7. oracle 性能优化建议

    原则一:注意WHERE子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHER ...

  8. Android内存优化10 内存泄漏常见情况1 静态泄漏

    1,内存泄漏到本质是该释放的对象被持久化的对象引用了,造成持久化的常见情况有1,静态持久化 2,线程持久化 线程持久化 因为存活的线程是有dvk虚拟久直接持有,所以存活的线程都是持久化的 内存泄漏1: ...

  9. 解决Centos运行yum 报错:坏的解释器

    # ll /usr/bin/python python python2 python2.6 python2.7 python.bak 1,这里先备份原来的/usr/bin/python 为python ...

  10. cpu个数、核数、线程数、Java多线程关系的理解

    cpu个数.核数.线程数.Java多线程关系的理解 2017年12月08日 15:35:37 一 cpu个数.核数.线程数的关系 cpu个数:是指物理上,也及硬件上的核心数: 核数:是逻辑上的,简单理 ...