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. AGC 020 B - Ice Rink Game

    题面在这里! 倒着维护可以取的范围区间,判一下可不可能无解即可. #include<bits/stdc++.h> #define ll long long using namespace ...

  2. 【推导】Codeforces Round #424 (Div. 1, rated, based on VK Cup Finals) A. Office Keys

    选择的钥匙一定是连续的,人和钥匙一定从左到右连续对应. 就枚举钥匙区间即可. #include<cstdio> #include<algorithm> using namesp ...

  3. 【DFS】POJ3009-Curling 2.0

    [题目大意] 给出一张地图,一旦往一个方向前进就必须一直向前,直到一下情况发生:(1)碰到了block,则停在block前,该block消失:(2)冲出了场地外:(3)到达了终点.改变方向十次以上或者 ...

  4. bzoj 1433: [ZJOI2009]假期的宿舍

    1433: [ZJOI2009]假期的宿舍 Description Input Output Sample Input 1 3 1 1 0 0 1 0 0 1 1 1 0 0 1 0 0 Sample ...

  5. python基础之文件操作,函数

    文件操作 +模式: r+t  w+t  a+t  r+b   w+b  a+b 可读可写,其他功能与人,r,w,a相同 f.seek(offset,whence) 文件指针移动    offest的单 ...

  6. 条件注释判断浏览器<!--[if !IE]>

    <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![e ...

  7. Nginx配置自签名的SSL证书(转载)

    要保证Web浏览器到服务器的安全连接,HTTPS几乎是唯一选择.HTTPS其实就是HTTP over SSL,也就是让HTTP连接建立在SSL安全连接之上. SSL使用证书来创建安全连接.有两种验证模 ...

  8. Codeforces Gym 100269A Arrangement of Contest 水题

    Problem A. Arrangement of Contest 题目连接: http://codeforces.com/gym/100269/attachments Description Lit ...

  9. 前端工业化工具Grunt初体验

    今天来学学Grunt~~目的是为了自动化!自动压缩...自动修复...自动合并等... 提示:Grunt基于Node.js,安装之前要先安装Node.js 1.安装 grunt-cli npm ins ...

  10. appium+python自动化49-yaml管理定位元素

    前言 如何高效管理定位元素,这个是很有学问的问题,也是面试必问的[以下纯属个人观点,勿喷!]. 有的人用xml管理页面定位元素,这种逼格略高,但是小编认为学习成本大,贼麻烦. 有的人提到用excel管 ...