Servlet
PHP でも機能分割さえきちんとできれば大規模開発は可能だろうけど、
問題はそのスキルを持つ層と PHP のユーザー層がなかなか重ならない
という点だろうか。Java だとある程度重なっているが。
ところで Servlet の明らかな利点だと思うのは複数のセッションから
共通に参照でき、生存するオブジェクトを生成できる点。RDBMS でデータを
永続化するとしても、データ構造が複雑で何度も問い合わせをしなければ
ならないような場合には、最初に読み出したデータをキャッシュしておいて、
次からは RDBMS に問い合わせないようにしたいというケースがありうる。
Java/Servlet だとそれが簡単にできるが(Sigleton な CacheManager とか
作ればいい)、PHP だとどうやってよいか分からない。 >>10
同感。
# この HN だめ?
巷の Servlet が大規模に向くというのを鵜呑みにして Servlet を
使って設計し、できたのものが PHP や Perl で組まれた中小規模の
システムと設計手法が変わっていない、というのは
大規模には向かないというか、開発者がかわいそうだ。
大規模に向く設計ができている人はわずかだと思う。
共通のシングルトンなインスタンスを参照ってのは良くやりますよね。
単一のプロセスからリクエスト単位にスレッドを発生させると
いう意味では PHP4 も出来ると思った。。。 >>11
# HN については一切問題なし。つうか仮に文句があっても文句をつけれる
立場じゃないと思うし。2ch なんだし。
使おうとしている技術が、ターゲットとなっているシステムを構築するのに
向くか向かないかを見極めるのもスキルの一つだからねえ。そういう意味での
スキルに欠けた人が世の中少なくないってことだろうか・・・。
# 自戒の念をこめて
# なお、これの見極めには、その技術の使いこなし度が前提として含まれる。
すばらしい技術も使いこなせなかったらダメ。
なお、スレッドの本題に関連する内容が以下のスレッドで過去にいろいろ
議論されているのでぜひご覧あれ。
"Perl VS PHP"
http://corn.2ch.net/test/read.cgi?bbs=php&key=982591467
> 単一のプロセスからリクエスト単位にスレッドを発生させると
> いう意味では PHP4 も出来ると思った。。。
これ、どっかにドキュメントある?
かなり興味がある。 >>11
大規模って言うのは、何がどれくらいを超えたら大規模なんですか? >>13
定量的な基準はない。
強いて言えば、あなたが全体像を把握できない程度の規模。
詳細も含めて把握可能 -> 小規模
詳細は不明だが、全体像を把握可能 -> 中規模
詳細も全体像も、把握するには努力と工夫が必要 -> 大規模
って感じかな。つうことで、スキルにも左右されるだろうね。 そんな気前のいいとこなんてないっすね。
Win2kですが自前でサーバたてました。ただセキュリチィが・・・(w
Linuxでも勉強しよかな >>15
MyCGIServer.comってFreeサーバがあるようですよ。
私は使ってないので詳細は知らないけど…。 >>17
ォォウ!ありがとうございます。さっそくサインウプしてみようと思います!
http://www.cityfujisawa.ne.jp/~shino/IT/soap/
によるとなんか難しいらしいですが・・・
Servlet と EJBの違いってなんですか?機能的な違いだとおもうのですが、
たとえば、
大量データを抱えるRDBMSに対して検索をかけるような機能を持ったWebサイト
(ありきたりですが)を構築する場合、ServletでもEJBでも同じ物が
できあがりますよね?(ちょっと調べただけなんですが、結果的に
同じ物ができると判断しています)
J2EE対応とうたっているアプリケーションサーバーの構成をみると
JSP、Servlet、EJBとそれぞれ異なる技術を組み合わせているようなんですが、
それぞれどのような役割を持っているのでしょう?また、具体的な機能境界線と
いいましょうか、ここまではEJBの役割でここまでがServletの役割、というのが
イマイチみえてきません。
まだ資料を読み始めたばかりの者なんですがよろしくおねがいしますです。
>>20
あ、いや、まぁ、たしかにそのとおりなんですが、
JSPでは何をしていて、Servletでは、EJBでは・・・という具体的な
突っ込んだ役割をききたかったです。。
どうも、EJBがあるのなら、Servletって本当に必要なのか?(その逆も)
と感じてるのです。。単なるトレンドだから?ん?よくわかってなくてスイマセン。
RDBMSへの接続と取得したデータの加工(永続的な維持など含む)
もEJBとServletとでは明確な違いがあって、この時はServletを
使うのだ、という制限があるかな?と思ってます。
ServletがコントローラでEJBがモデルという構成であるのに、
双方からDB操作ができるというのは、どうも複雑というか、
初心者を混乱させるというか、、エレガントじゃないと感じるのです。
(私の勝手な話で恐縮ですが) >>20
ありがとうございます・・・こりゃすげぇー・・・ハァハァ
(ハァハァじゃないやろ・・・ >>21
EJBでどうやってクライアントのブラウザに表示させるつもりなんですか? >>21
EJBの結果をServletに返してJSPがHTMLレンダリングを担当するんだろ?違うか? JRun と Jakarta ってどっちがよさげ? > Jakarta
Tomcat のことでした、すみません。
JRun3.0 のフリーの機能制限版奴なら設定したことがあるけど、
それに比べると、Tomcatってなんだかインストール後の設定が
えらくめんどい…。
お金があって、Apache使うのなら、JRun の方がいいのかな、
なんて思う今日このころ。
(参考になるかも?なページを見た限りでは) 確かにJRunは設定がとっても楽。
その上価格も安いし。
中規模程度の案件ならJRunをお薦めするね。
ミッションクリティカルな仕事するなら高級なアプリケーションサーバ使えば。 Win98にApache + tomcat + MySQLにしようかと思ってますが
サーブレットからMySQLに接続する方法、わかりやすく書いてる
HPとかないですか?Linux系の説明は多いのですが、Windows系の
MySQLの説明って少ないですね。 >>30
黙ってLinux使いなさい。
Win98にMySQLなんて聞いたことねえぞ。 訂正。
使いかたじゃなくて接続する方法がわからないのね。
接続はどのOSも同じだと思うんだけどきのせい? Apache-1.3.22 + Jakarta-Tomcat-4.0.1 + mod_webapp で頑張ってます。
mod_webapp の README に書いてある設定で
http://localhost/examples/servlets/HelloWorldExample
が動いてることは確認できました。
そこで、 aho さんの UserDir 以下にある Servlet を
http://localhost/~aho/servlets/HelloWorldExample
というかんじで実行させたいと思ってるのですが、
httpd.conf と ${JAKARTA_HOME}/conf/ 以下のファイルの設定は
どんなかんじになりますか?
# Servlet って作る側はともかく設置する側の情報がなさすぎですね...... >>33
私はシンボリックリンクを張ってやり過ごしています。でもそれが一般的な方法かどうかは
知りません。実は私も多人数でTomcatを使う方法を知りたい。私のところは
reloadable = true に設定してあるけど.classファイルが増えた場合などはTomcatそのも
のをrootが再起動しなくちゃいけないような状況になってる。 >>34
やっぱりそれがシンプルでいいのかなー。
シンボリックリンクでできることはわかってたんですが、
なんかこう、うさんくさいのではという疑念が離れなかったので (汗) tomcatのサンプルから myapp.war 作ろうとしてて嵌ってます、教えてほすぃ
$ cd /usr/local/tomcat/doc/appdev/sample
$ sh build.sh dist
ってやると、
/usr/local/jakarta-tomcat-3.3a/doc/appdev/sample/build.xml:67: A zip file cannot
include itself
って怒られるのね、なにがあかんのや?
環境:
SUN_Enterprise_10000_8CPU,MEM:4G,HDD:1T
Soralis8for_SPARC日本語版10/00_64bit
Apache1.3.14
java_version_"1.2.2"_Solaris_VM_
(build_Solaris_JDK_1.2.2_05a,_native_threads,_sunwjit)
jakarta-Tomcat-3.3a mod_jk ajp13
jakarta-ant-1.4.1
SDK 1.4 + Tomcat 4 で使ってる人いる?
どう、ちゃんと動く? >>37
昨日入れ替えた。ちゃんと動いている。
ただ JDK1.3 も残しておいたら Tomcat のサービス起動時にそっちを見に行って
JSP が軒並みこけた。JDK1.3⇒1.4 と Tomcat 3.x⇒4.0 を一度にやろうと思っ
たら、JDK1.4インストール⇒Tomcat3.xアンインストール⇒Tomcat4.0インストール
ってやったほうがいいみたい。
それから 4.0 だと Apache-Tomcat 間の通信がまずいらしいね。 >>38 = Windows 2000 Professional JSP、Servlet、EJBで、初心者にも分かりやすい書籍を教えて下さい。 Windows2000(SP2) + Apache1.2.24 + Tomcat4.03の環境で
FRAMEタグを使ったページにアクセスするとTomcatが落ちる…。
mod_webapp.soのバグ?
> WebApp: Error 500
> (File: pr_warp.c Line: 438)
> Invalid packet 16
ってブラウザに表示される。 >>41
どうやって解決しました?
僕の会社ではうまく動かないです。
ちなみに環境は41さんとほぼ同じ環境です。 俺サーバー担当じゃないから詳しくはしらないけど、
mod_webapp.soじゃなくmod_jk使ったら安定したみたい。
ガムバレー >>41
サンクスコ!やっぱmod_webapp.soじゃだめか・・・
ちなみに社内でグループウェアを作って運営してるんだけど
社内ってことでアクセス数もしれてるから、
tomcatのwebサーバ機能だけでやってるよ。
servlet API2.3にしかない機能を使うわけじゃないんで
tomcat3.??でもいいかも・・・ なんかね、最近思うんですよ。
もう、Webbベースに関してはコーディングの時代じゃないんじゃないかってね。
個人的にはWebObjectsとかColdFusionとかね。
俺は使ったことないけど。
毎日午前様で過労死寸前の仕事をしている人にとっては
楽なツールって大切だと思うんだよね。
みなさんはどう思います?ってスレ違いだね。。。 >>46
WebObjectsはコーディング必要だじょ(´Д`;)
おぶぢぇくとしこう で書けば量は少なくなるけど。
>>41
昨日マイクロソフトのカンファレンス行ってきたけど、
VisualStudio.netは凄いよ。
ホームページビルダー感覚でwebアプリケーション作れる感じ。
まあコーディングは必要だけど・・・
でもサーブレットでしこしこコーディングするのは
馬鹿らしくなるよ。 >>48
みたけど、全然スゴイとは感じなかったよ。ヨソのツールでは
もう昔から当たり前のようにやっていたことだし(47で出ているWebObjectsとか).
。Netのフレームワークもこれからってとこだよね。これまでとちがって
クラス階層がすっきりした感じになっているのは歓迎するけど。
InterDevみたいに猛烈に落ちまくるクソツールでないことを祈る。
ま、漏れは現在ダメ板住人だけど、
面接で毎日終電までがんばれるか?っていわれて。
この業界って労務管理って無いに等しいみたいですね。
やることないんでServletであれこれやってたんですけど、
漏れの頭ではオブジェクト指向の利点をいかしきれなくて、
データベースの設計変更とかすると
あっちこっちソースを書き換えることになるんです。
結構面倒だとおもったんですね。
本屋いったらサーバーサイドJavaの本がいっぱいあって
マンセーな記事をたくさん見かけますが、
なんだかな…って思ったんですよ。
りおさんはこの分野の達人なんですね。
サーブレットで開発をしているのですが、
ある画面に遷移した際に、IEのステータスバーに出ている読み込み具合を
示す青いバーが遷移後に表示をはじめて、途中でとまったままに
なっています。画面は表示されるのですが、「ページが表示されました」
というメッセージがでません。なぜなのでしょうか。
画面はフレーム構成で、上フレームのonloadで下フレームを呼んでいます。
1画面で2つサーブレットを呼び出すとこうなるのでしょうか。 http://pc3.2ch.net/test/read.cgi/tech/1042407622/557 だが。
>>53
だから!この問題はServlet云々の問題じゃないって!
ここもスレ違い。
完全にクライアント側(というよりむしろIE)の問題。そして明確な対策は無い。
強いていうなら、ブラウザの負荷を軽くする事くらい。
>>55
そうですか。
同じような構成でも生じない画面があるので。
IEの問題なのですか。 Javaしか知らない奴がわざわざPerlやPHPを覚えるよりは手軽だろ。
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━― Jettyってどおよ?イマイチ情報がないんだが。
軽く触った限りでは軽くて速いのでTomcatから
乗り換えたいのだが。 JspでPathInfoってどうやれば取れるんですか?
tomcatなんやけど、404になっちゃう ∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄ ∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ System.out.println("保守あげ。"); ★☆ 夏休みは GETDVD で満喫・満喫!! ★☆★
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
☆★ 送料激安! スピード発送! 商品豊富!
★☆ http://www.get-dvd.com
☆★ 激安DVDショップ 「GETDVDドットコム」
★☆ http://www.get-dvd.com
☆★ 今すぐアクセス Let’s Go・Go!!
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
System.out.println(
"WebProg板はPerler,PHPer専用になってしまいました。",
"悲しきかな。"
); (⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン ServletってJ2SEでもJ2EEでもいいの?
Tomcatってバージョンがいくつもあるけど、どれ落せばいいの?
http://jakarta.apache.org/site/binindex.cgi
Tomcat 3 KEYS
* 3.3.2 zip PGP MD5
* 3.3.2 tar.gz PGP MD5
Tomcat 4.1.30 KEYS
* 4.1.30 zip PGP MD5
* 4.1.30 tar.gz PGP MD5
* 4.1.30 exe PGP MD5
Tomcat 5.0.24 KEYS
* 5.0.24 zip PGP MD5
* 5.0.24 tar.gz PGP MD5
* 5.0.24 exe PGP MD5
* 5.0.24 Deployer zip PGP MD5
* 5.0.24 Deployer tar.gz PGP MD5
* 5.0.24 Embed zip PGP MD5
* 5.0.24 Embed tar.gz PGP MD5 >>79
J2SEはサン(他)の出してるJavaのデスクトップ環境のことで、
バイナリなプログラム。
J2EEはそれと違って「仕様」だけが存在する。各メーカーが
それに合わせて作って売ってる。トム君、Jボス君などは
無料だけどね。
ServletはJ2EEの仕様の「一部」なのだ。
トム君のverは新しいのでいいんじゃない?
つーか、君の環境くらい書いてよ。 >>80
スマソ。
RedHat9.0です。
J2EEをインスコしようとしたら、IDとPASSみたいなの設定汁って出たから
ちょっと不安になって。J2SEならそんなこと無かったので。 Tomcat動かすならJ2SEをインストしてから
(JAVA_HOMEとCLASSPATHの設定忘れるなよ)
Tomcatをインストすればそれで完了。
SunのサイトのJ2EEをダウンロドする必要は無い。
あれは「JavaPetStore(だっけ?)」を利用して
J2EEのお勉強する時に使うものじゃなかったかな。
J2EEでSunからダウンロドする必要あるのは
docs関連だよ。
>>82
> JAVA_HOMEとCLASSPATHの設定忘れるなよ)
あほか?CLASSPATHなんかいらねーよ
> あれは「JavaPetStore(だっけ?)」を利用して
> J2EEのお勉強する時に使うものじゃなかったかな。
ばーか、"J2EE"ってのは仕様を指す言葉だ。
もしおまいがJ2EE SDK(またはJ2EE RI)のことを言っているのなら、あれはリファレンス実装だ。 79です。
>>80-83 回答いただき、ありがとうございます。
>ServletってJ2SEでもJ2EEでもいいの?
解決しました。
Java FAQ: よくある質問とその回答集
http://www.gimlay.org/~javafaq/S000.html#S000-04
によると
javax.servlet.*は、Java 2 SDK (あるいは JDK, JRE) に標準で含まれている Core APIには含まれていないので
別途ダウンロードが必要。
http://www.gimlay.org/~javafaq/S000.html#S000-05
>2SE(Java 2 Platform, Standard Edition)は、Java Core API と Java RMI、CORBA API、
>Java Accessibility API、Swing などで構成され、パソコンなどのデスクトップ環境向けです。
>J2EE(Java 2 Enterprise Edition)は J2SE をベースに、Java Servlet、
>JSP(JavaServer Pages)、EJB(Enterprise JavaBeans)などで構成され、
>企業の基幹システムなど、いわゆるエンタープライズシステム環境向けです。 JSP&サーブレットを侮辱している、
ここの腐ったみかんどもに制裁きぼん。
ttp://board.aaacafe.ne.jp/read.php/zatsudan/1089119409/index.html >>85
お前が腐ってるってことは分かったから、いい加減にやめてくれ。 すれ違いかもしれんが質問です。
簡単にいうと通常のサーバアプリケーションにhttpでのインタフェースをつけることになった場合の設計方針についての質問です。
クライアントをJAVAのGUIアプリケーションで、サーバをJavaのアプリケーションで作成しました。
ここで、クライアントのインタフェースをブラウザに変更するという要求があったのだが、
この場合いちから作り直すことになるのだろうか。 あ、思いっきり遅レスだけど
>89
元のサーバアプリには手を加えずに使いたい状況っぽい。
おいらだったら、サーバアプリにデータを要求して、それをhttpの形に変換する
プロクシを作ると思う。 勉強のため一から掲示板作った
10日くらいかかってやっと付けたかった機能が全部つけれたよ・・・
つかれた 最近高速なPOHPサーブレットを作ろうと勉強している。
実験段階でJSPの3倍のスループット、実用段階でどこまで維持できるやら。。 意味がわからん
実行環境ならTomcatでいいだろう HOME/conf/context.xmlに
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>META-INF/context.xml</WatchedResource>
</Context>
HOME/conf/server.xmlに
<Context path="/java" docBase="/home/hoge/java" debug="0"></Context>
でその他設定して、サーブレットは見れたのですが
/META-INF/context.xml
の
<Context reloadable="true" />
としてもオートリロードがうまく動きません。
HOME/conf/server.xmlにreloadable="true"を書いちゃえば動くので、まあ、いいのですが
何か設定がまずいのでしょうか? ※質問できそうなスレが他に見当たらなかったのでここで質問します。
もっと適当なスレがあれば誘導お願いします。
現在、WindowsXP + Tomcat5.5 + Eclipse3.2 + Tomcatプラグインで
サーブレットの開発をしています。
今まではTomcat4系を使ってて、普通にTomcatプロジェクトであれば
Eclipseでソース変更→Tomcat再起動でホットデプロイされていたのに
Tomcat5.5系にしてからそれができなくなってしまいまいました。
何か今までと別に設定が必要なのでしょうか?
Tomcat4系では設定をserver.xmlでしていましたが、
Tomcat5.5系ではコンテキストファイルにてしているのが
関係しているのでしょうか?
識者のご意見をお聞かせ下さい。 >Tomcat再起動でホットデプロイ
再起動したらホットじゃない気が
まあこっちで再現できる状況でもないなあ あれから、忙しくてなかなか進歩してませんがちょっとわかりました。
Contextの設定は
TOMCAT_HOME/conf/server.xml
TOMCAT_HOME/conf/Catalina/localhost/APPNAME.xml
APPHOME/META-INF/context.xml
に設定できて、上から順に優先され、設定があったら、その下のものは無視されるということがわかりました。
だから、97の例ではMETA-INFが無視されたんですね。
tomcatのみでやっている環境では
TOMCAT_HOME/webappsに置いた
ディレクトリのMETA-INFがチェックされるんでしょうけど
(試してないけど、私の読んでる本ではそんな感じだと思います。)
で私の現在の環境はjk2でtomcatとapacheの連携をしているのですが
上の二つの設定をしないで、METAで設定したい場合、どこにWEB-INFを置くのでしょうか?
というより、tomcatにどうやってdocBaseを教えるのでしょうか?
たとえばworkers2.propertiesに
[uri:/java/*]
と設定したとして、アプリケーションのWEB-INFは、例えば
/home/sites/java
にあったとしたら、どこかで、docBaseをtomcatに教えてあげないと動きませんよね?
ちなみにapacheのドキュメントルートは
/home/sites/html
です。
それともjk2でapacheと連携をとる場合META-INFは使えなかったりするのでしょうか?
いろいろ検索してみたんですけど、なかなか、見つからなくて・・・
長文で申し訳ありません。
お願いいたします。 Tomcat で Apache でいう Alias のような設定はできないのですか? サーブレットでフォームとかからsubmitしてきた人のグローバルIPを
得る方法を教えて下さい。 HttpServletRequestのドキュメントよめ おおwサーブレットクラスにもjavadocみたいなの有ったんですね。thx tomcatで、
http://hogehoge.com/<ID>/
とアクセスすると<ID>の値をパラメータとして取れるようにしたいのですが、
どのようにしたらいいのでしょうかorz
スレ違いだったらすみません。
>>108
request.getRequestURI().split("/")[0] Tomcat5.5で日本語が?に化けます。
ブラウザで表示されたソースを見てみると、もうその時点で?になってしまってます。
サーブレット側では、
res.setContentType("text/html");
res.setCharacterEncoding("UTF-8");
と指定しています。