LCDSとFMSを捨て、tomcat下開発Red 5アプリケーション(第二編)-新たなRed 5アプリケーションを構築する.
8288 ワード
オンラインで探す記事の多くは、winの下にインストールされているRed 5の下でアプリケーションを新規作成する方法を紹介しています.tomcatの下でRed 5の下でアプリケーションを新規作成する方法はとても少ないです.
前編で紹介した部署red 5からtomcatまでの方法は2つありますが、ここで紹介した新規アプリケーションの新規作成方法も2つ紹介します.
一つ目は三つのwarをtomcatに配置する場合の方法です.
1.eclipseでwebアプリケーションを新規作成し、名称red 5 Server.
2.red 5のjarをアプリケーションのWEB-INF\libディレクトリにコピーします.(このjarの由来:Red 5のwinのインストール版をダウンロードしてインストールしたら、ルートディレクトリにred 5.jarがあります.私はそれを「red 5-0.6-java 5.jar」と命名しました.識別しやすいです.)
3.webアプリケーションを変更するweb.xmlファイルは以下の通りです.
7.アプリケーションディレクトリwebapps\red 5 Server\WEB-INFのコピーリリース red 5 Server-web.xmlからwebapps\ROOT\WEB-INF\clasesまでコピーしてアプリケーションwebapps\red 5 Server\WEB-INF\clasesのクラスファイル(クラスパスを含む)からwebapps\ROOT\WEB-INF\clasesまでコピーして、webapps\red 5 Server\red 5 Server-wersja\rejaの下にあるファイルを削除します.
8.tomcatを再起動し、エラーが発生していません.サーバ端のコードが正しいということです.
9.Flexコードを作成して、このアプリケーションが正しいかどうかをテストする(red 5 c lient 001.mxml):
第二に、独立したred 5 warをtomcatに配置する方法です.
1.Eclipseの下でウェブアプリケーションを新規作成し、名前をred 5 Serverといいます.
2.前の展開の2番目の方式のwebapps\red 5ディレクトリのすべてのプロファイル(*.propertiesと*.xml)のポート5080を8080に変更します.
3.webapps\red 5ディレクトリのすべてのファイルをプロジェクトのwebrootディレクトリにコピーし、tomcat\webapps\red 5\WEB-INF\clasesの下のすべてのclassをred 5.jarとします.このjarをプロジェクトのWEB-INF\libディレクトリにコピーします.webapps\red 5\red.inclass.inclass.inclass.の下に配置します.
4.これで私達のEclipseの下のウェブプロジェクトが設立されました.(red 5プロジェクトはもう私達のEclipseの中にあります.)第二の展開方法を削除してtomcatの下のwebapps\red 5とwebapps\red 5 warに配備しました.(今はEclipseの中のプロジェクトを使って走ります).
5.最初の方法と同様に、EclipseのRed 51プロジェクトのSRCディレクトリの下でプロファイルred 5 Server-web.xmlを作成する.
8.第一の方法の第8~第10ステップのテストを繰り返し、結果は第一の方法と一致すべきです.
これでtomcat下開発Red 5アプリケーション-新たなRed 5アプリケーションの構築を説明しました.次のページでは重要な種類のApple AdapterとFlexクライアント接続のバックグラウンドとその制御について説明します.
前編で紹介した部署red 5からtomcatまでの方法は2つありますが、ここで紹介した新規アプリケーションの新規作成方法も2つ紹介します.
一つ目は三つのwarをtomcatに配置する場合の方法です.
1.eclipseでwebアプリケーションを新規作成し、名称red 5 Server.
2.red 5のjarをアプリケーションのWEB-INF\libディレクトリにコピーします.(このjarの由来:Red 5のwinのインストール版をダウンロードしてインストールしたら、ルートディレクトリにred 5.jarがあります.私はそれを「red 5-0.6-java 5.jar」と命名しました.識別しやすいです.)
3.webアプリケーションを変更するweb.xmlファイルは以下の通りです.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<display-name>red5Server</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/classes/*-web.xml</param-value>
</context-param>
<servlet>
<servlet-name>gateway</servlet-name>
<servlet-class>
org.red5.server.net.servlet.AMFTunnelServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>gateway</servlet-name>
<url-pattern>/gateway</url-pattern>
</servlet-mapping>
<security-constraint>
<web-resource-collection>
<web-resource-name>Forbidden</web-resource-name>
<url-pattern>/WEB-INF/*</url-pattern>
</web-resource-collection>
<auth-constraint />
</security-constraint>
</web-app>
4.WEB-INFディレクトリの下にred 5 Server-web.xmlのファイルを新規作成します.<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="web.context.red5Server" class="org.red5.server.Context">
<property name="scopeResolver" ref="red5.scopeResolver" />
<property name="clientRegistry" ref="global.clientRegistry" />
<property name="serviceInvoker" ref="global.serviceInvoker" />
<property name="mappingStrategy" ref="global.mappingStrategy" />
</bean>
<bean id="web.scope.red5Server" class="org.red5.server.WebScope"
init-method="register">
<property name="server" ref="red5.server" />
<property name="parent" ref="global.scope" />
<property name="context" ref="web.context.red5Server" />
<property name="handler" ref="web.handler.red5Server" />
<property name="contextPath" value="/red5Server" />
<property name="virtualHosts"
value="*,localhost, localhost:8080, 127.0.0.1:8080" />
</bean>
<bean id="web.handler.red5Server"
class="red5.example.red5server.Application" />
</beans>
5.アプリケーションのsrcディレクトリの下に、red.5 example.red 5 serverを新たに作成し、classを新たに作成します.名前は上の配置ファイルのAppplication.javaです.package red5.example.red5server;
import org.red5.server.adapter.ApplicationAdapter;
public class Application extends ApplicationAdapter {
//
}
6.これまでのサーバーのコードは基本的に完成しました.アプリケーションをtomcatに発表します.以下の説明の部分はとても重要です.なぜ誰かが文章を説明しないのか分かりません.7.アプリケーションディレクトリwebapps\red 5 Server\WEB-INFのコピーリリース red 5 Server-web.xmlからwebapps\ROOT\WEB-INF\clasesまでコピーしてアプリケーションwebapps\red 5 Server\WEB-INF\clasesのクラスファイル(クラスパスを含む)からwebapps\ROOT\WEB-INF\clasesまでコピーして、webapps\red 5 Server\red 5 Server-wersja\rejaの下にあるファイルを削除します.
8.tomcatを再起動し、エラーが発生していません.サーバ端のコードが正しいということです.
9.Flexコードを作成して、このアプリケーションが正しいかどうかをテストする(red 5 c lient 001.mxml):
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
import flash.net.*;
import flash.events.*;
import flash.utils.*;
import mx.controls.*;
private var nc:NetConnection;
public function init():void
{
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatus);
nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, netSecurityError);
nc.connect("rtmp://localhost/red5Server");
nc.client = this;
}
private function netStatus(event:NetStatusEvent):void
{
var connStatus:String = event.info.code;
Alert.show(connStatus);
}
private function netSecurityError(event:SecurityErrorEvent):void {
Alert.show("netSecurityError: " + event);
}
]]>
</mx:Script>
</mx:Application>
10.コンパイルされたhtmlとswfファイル(red 5 c lient 001)、red 5 c lient 001.swf)および(player ProductInstall.swf、ACuOETags.jsとhistoryフォルダ)をリリースのアプリケーションにコピーしてwebapps\red 5 Serverを開いて、ブラウザをアドレスバーに入力します. ポップアップウィンドウの情報が「NetConnection.Connect.Success」であることを見たら、私たちはバックグラウンドに接続することに成功しました.第二に、独立したred 5 warをtomcatに配置する方法です.
1.Eclipseの下でウェブアプリケーションを新規作成し、名前をred 5 Serverといいます.
2.前の展開の2番目の方式のwebapps\red 5ディレクトリのすべてのプロファイル(*.propertiesと*.xml)のポート5080を8080に変更します.
3.webapps\red 5ディレクトリのすべてのファイルをプロジェクトのwebrootディレクトリにコピーし、tomcat\webapps\red 5\WEB-INF\clasesの下のすべてのclassをred 5.jarとします.このjarをプロジェクトのWEB-INF\libディレクトリにコピーします.webapps\red 5\red.inclass.inclass.inclass.の下に配置します.
4.これで私達のEclipseの下のウェブプロジェクトが設立されました.(red 5プロジェクトはもう私達のEclipseの中にあります.)第二の展開方法を削除してtomcatの下のwebapps\red 5とwebapps\red 5 warに配備しました.(今はEclipseの中のプロジェクトを使って走ります).
5.最初の方法と同様に、EclipseのRed 51プロジェクトのSRCディレクトリの下でプロファイルred 5 Server-web.xmlを作成する.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:lang="http://www.springframework.org/schema/lang"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.0.xsd">
<!-- SOSample -->
<bean id="red5Server.context" class="org.red5.server.Context" autowire="byType" />
<bean id="red5Server.scope" class="org.red5.server.WebScope"
init-method="register">
<property name="server" ref="red5.server" />
<property name="parent" ref="global.scope" />
<property name="context" ref="red5Server.context" />
<property name="handler" ref="red5Server.handler" />
<property name="contextPath" value="/red5Server" />
<property name="virtualHosts"
value="*,localhost, localhost:8080, 127.0.0.1:8080" />
</bean>
<bean id="red5Server.handler" class="red5.example.red5server.Application" />
</beans>
6.アプリケーションのsrcディレクトリの下に、red.5 example.red 5 serverを新たに作成し、classを新たに作成します.名前は上の配置ファイルのAppplication.javaです.package red5.example.red5server;
import org.red5.server.adapter.ApplicationAdapter;
public class Application extends ApplicationAdapter {
//
}
7.このred 5をリリースしてtomcatの下に適用します.(前編で紹介した展開からtomcatの下に第二の方法で発生した\webapps\red 5と\webapps\red 5 warを削除してください.)8.第一の方法の第8~第10ステップのテストを繰り返し、結果は第一の方法と一致すべきです.
これでtomcat下開発Red 5アプリケーション-新たなRed 5アプリケーションの構築を説明しました.次のページでは重要な種類のApple AdapterとFlexクライアント接続のバックグラウンドとその制御について説明します.