ラベル apache tomcat の投稿を表示しています。 すべての投稿を表示
ラベル apache tomcat の投稿を表示しています。 すべての投稿を表示

2013年10月12日土曜日

先のPOST( SADI service の hello )をTomcatで動かしてみる

参考:
先のPOST

結果:
webapps以下にsaid-servicesを用意して配置


手順:
  1. ${TOMCAT_HOME}/webappsに'sadi-services'ディレクトリを用意(${TOMCAT_WEBAPPS_SADI-SARVICES}とする)する
  2. Eclipseのsadi-servicesプロジェクト(${ECLIPSE_SADI-SARVICES}とする)から
    'said-services'ディレクトリ(${TOMCAT_WEBAPPS_SADI-SARVICES})に以下を持ってくる
    • ${ECLIPSE_SADI-SARVICES}/src/main/webapp/index.jsp
      → ${TOMCAT_WEBAPPS_SADI-SARVICES}/index.jsp
    • ${ECLIPSE_SADI-SARVICES}/src/main/webapp/WEB-INF
      → ${TOMCAT_WEBAPPS_SADI-SARVICES}/WEB-INF
    • ${ECLIPSE_SADI-SARVICES}/target/classes
      → ${TOMCAT_WEBAPPS_SADI-SARVICES}/WEB-INF/classes
  3. 'sadi-services'ディレクトリ(${TOMCAT_WEBAPPS_SADI-SARVICES})に
    'lib'ディレクトリを用意( ${TOMCAT_WEBAPPS_SADI-SARVICES}/lib )する
  4. 'lib'ディレクトリ( ${TOMCAT_WEBAPPS_SADI-SARVICES}/lib )に上記画像にある各jarを複写する
    • それぞれのjarは,先のPOSTを実行しているのであれば,$HOME/.m2/repositoryの下に入っています.
    • commons-httpclient-*, xlightweb-*-taverna, xSocket-*は'/sadi-services/hello?xsl'にアクセスしなければ(Firefoxで開かなければ)いらない(かも)

もっと簡単な手順:
  1. Eclipseのsadi-servicesプロジェクト(${ECLIPSE_SADI-SARVICES}とする)に移る.
    $ cd ${ECLIPSE_SADI-SARVICES}
  2. mavenのpackageコマンドを実行する
    $ mvn package
  3. targetディレクトリにプロジェクト名のwarができてる.
    $ ls target/sadi-services.war
  4. このwarをTomcatのwebappsにおけばTomcatが展開するので,動かせる
    (EclipseのJavaとTomcatのJavaのヴァージョンの差異に注意)
    $ cp -p target/sadi-services.war ${TOMCAT_HOME}/webapps/


もっとちょっと簡単な手順:
  1. Eclipseのメニューから'Run > Run Configureations …'を選択
  2. ダイアログ中,左ペインで'Maven Build'を選択
  3. ダイアログ中,左ペイン,上部の左隅アイコン('New launch configuration')を押す
  4. ダイアログ中,左ペイン,'Maven Build > New_configuration (1)'が追加されたので選択
  5. ダイアログ中,右ペインを編集

  6. 'Run'を押す
  7. メニューから'File > Refresh'を選択
  8. targetディレクトリにプロジェクト名のwar( 'sadi-services.war' )ができてる.
  9. このwarをTomcatのwebappsにおけばTomcatが展開するので,動かせる
    (EclipseのJavaとTomcatのJavaのヴァージョンの差異に注意)

2008年2月26日火曜日

TIPS: JSP, Servletで使うライブラリ(jar)はWEB-INF/libに配置する

忘れないように…

タイトルのままです.
warで固めた奴らはclasspathとかどうすんだろう?とおもったらそういう事でした.

参考:
GWT RPCの例(というより梱包するjarについて
http://edotprintstacktrace.blogspot.com/2008/02/gwt-rpcjar.html

2008年2月16日土曜日

GWT RPCの例(というより梱包するjarについて

GWT RPCの例としてこちらを参考にしました.
最近のちょっ得: Google Web Toolkit まとめ
http://salt.air-nifty.com/salt/2006/06/google_web_tool_7bcf.html




で,
(ホントは、ここに書かれてるとおり、webapps/MyApplication/WEB-INF/lib の中に、gwt-user.jar から javax フォルダを消して再圧縮した gwt-user.jar を置けばいいみたいなのだけど。)

って事なんですがそんな面倒な,それくらい用意しているんじゃないの?ってことであれこれjarをあけてみるとgwt-servlet.jarがありました.これって最近のことなんでしょうかね?苦労された方々の上になりたっているですねきっと.

で,
WEB-INF/lib/gwt-servlet.jar

と置くだけであとは勝手に使ってくれました(JAKARTA_TOMCAT).

ちなみにMyApplicationはapplicationCreatorが作ったもののonClickの中を以下のようにしてみた.
client/MyApplication.java
 tService.myMethod("send message", new AsyncCallback() {
public void onFailure(Throwable caught) {
}
public void onSuccess(Object result) {
String str = (String) result;
if (label.getText().equals("----"))
label.setText(str);
else
label.setText("----");
}
});


MyServiceImplのmyMethodはこんな感じ
server/MyServiceImpl.java
 public String myMethod(String s) {
s+= "*";
return s;
}


warへ固めることを考えるとcompileした時に作られるwwwの下にWEB-INF関連も作ってくれれば良いのにね.
www/com.mycompany.MyApplication/WEB-INF/web.xml
www/com.mycompany.MyApplication/WEB-INF/classes/**/*.class
www/com.mycompany.MyApplication/WEB-INF/lib/gwt-servlet.jar

みたいに.

でもって
www/com.mycompany.MyApplication/*

も含めてwarを作ればよいわけだ.
> cd ${MyProject_loc}/www/com.mycompany.MyApplication
> jar cvf ../com.mycompany.MyApplication.war *

って感じ.

#あるのか?そういうオプションかなにかがあるのか?
#'-eclipse'みたいな何かが?

GWT自体がApacheライセンス2.0らしいのでApache2.0のライセンス文書もwarに梱包してgwt-servlet.jarも含めて配布ってことでいいっすか?

2008年2月12日火曜日

Tips: JSPでSever内での絶対(実)パスを知りたい

例えばコンテクスト内のWEB-INFの位置を知るにはこんな感じ.
getServletContext().getRealPath("/WEB-INF")


JSP内だとこんな感じ?
<%@ page import="java.util.*" contentType="text/html; charset=iso-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML><BODY>
<%
out.println(getServletContext().getRealPath("/WEB-INF"));
%>
</BODY></HTML>


"/WEB-INF/"としても出力結果の最後からは'/'は取られるので注意.

誰かのお役に立てば幸い.
間違いがあればご指摘いただければ幸い.

Tips:Tomcat Warファイルの作り方

> cd ${TOMCAT_HOME}/webapps/${CONTEXT_NAME}/
> jar cvf ../${CONTEXT_NAME}.war *

誰かのお役に立てば幸い.
間違いがあればご指摘いただければ幸い.

Tips:Tomcatのwelcomeページ設定 web.xml内の記述

ファイル:${TOMCAT_HOME}/webapps/${CONTEXT_NAME}/WEB-INF/web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

<!-- ここから -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- ここまで -->

</web-app>

誰かのお役に立てば幸い.
間違いがあればご指摘いただければ幸い.

2007年4月18日水曜日

Cometってなんだろう.

Tomcat 6の実力を早速試す - 移行するべき? その時期は?
(14) I/O機能の拡張によるCometのサポート(1)
http://journal.mycom.co.jp/special/2007/tomcat6/013.html
(15) I/O機能の拡張によるCometのサポート(2)
http://journal.mycom.co.jp/special/2007/tomcat6/014.html
(16) I/O機能の拡張によるCometのサポート(3)
http://journal.mycom.co.jp/special/2007/tomcat6/015.html

0.MacOSX 10.4.9
1.Tomcat6を展開
 ・$TOMCAT_HOME/binのしたの*.shファイルに実行権限を追加
  >chmod u+x *.sh

2.EclipseにTomcatPlugin 3.2bを導入
 ・ttp://www.develop-memo.com/java/eclipseplugin/tomcatplugin.html

3.Tomcatプロジェクトの作成
 ・プロジェクトプロパティにてTomcat/WARの配置を設定
 ・catalina.jarをプロジェクトに追加

4.WEB-INF/srcにサンプル作成
 4.1 コンパイルを1.5で行うようににする.
 4.2 が,ArrayListの型宣言(名前忘れた)でERRORとなる.
 4.3 あきらめて"<>"部を削除.読み出し部でキャストするように直す.
 4.4 errorってメソッドも見つからず.コメント化
 
5.WEB-INF/web.xmlを作成
 ・サンプル記述の前後に<web-app>タグをわすれずに

6.$TOMCAT_HOME/conf/server.xmlを編集
7.コンテキストメニューTOMCATよりwarを作成
8.TOMCAT起動
9.SafariでアクセスしてもFirefoxでも表示されん!
10.telnetで確認w.
 >telnet localhost 8080
 >GET /[foobar]/CometSampleServlet


言いたいことはわかった.と思う.

ブックマーク:
 http://recompile.net/2006/09/cometjetty_6_continuation.html
 http://recompile.net/2006/09/cometjetty_6_continuation_1.html
 http://recompile.net/2006/09/cometjetty_6_continuation_2.html