プロが教える店舗&オフィスのセキュリティ対策術

この教えてgooの仕組みが知りたいのですが、PHPとJSPはどういう機能をしているんですか?
宜しくお願いします!

A 回答 (5件)

全然ないと書いてあるので、超初歩的なものを。

見るだけのホームページは、すべて、HTMLファイルで、ここに文章、ここに画像という風に書いてあり、見ることができません。JavaScriptをつかうと、多少変化がでますが。

では、たとえば、ここの掲示板を例にすると、
質問を書き、回答をする ボタンを押します。そうすると、
 おしえてgooの.phpと.jspについて の専門のデータベースに私の回答がNo.5 として、追加されます。次に、ページを表示する時は、私の回答もありますよね。まー、そういう処理をするわけです。php は。


要するに、この場合は、データベースへの接続、私の回答の追加、新しく私の回答が追加された、HTMLファイルの生成という1連の作業をします。これが、サーバ側の処理です。


以下に、jspのサンプルコードの載ったページを紹介しますので、どのようにして、HTMLファイルが生成されているかを見ると、具体的なイメージが以前よりは沸くと思います。ちなみに、参考までに、サーブレットでは、out.println("<title>JAVA<title>");のようにすると生成されるHTMLファイルのタイトルが、JAVAになります。Javaアプリケーションを作る時、System.out.println("あいうえお");と同じ原理ですね。


cgiも、jsp も、同じように、どのように、HTMLファイルを生成するか?というのが、基本的な処理です。では、頑張って下さい。

cgiや、php、rubyは、スクリプト言語といって、簡単な言語です。では。

参考URL:http://www5.big.or.jp/~tera/Labo/JSP/Basic3.html
    • good
    • 0

CGI(Common Gateway Interface)はWEB(HP)の動きをサーバ側で処理する(制御する)仕組みです。


例えば、掲示板やチャットはよくCGIで処理されています。
打ち込んだ文章を送受信したり、その文章をファイルに保存したり、HTMLを生成して動的なページを表示できます。
CGIは主にPerlという言語で作られています。(他にはC言語などがあります。)
JSP、PHPというのはそのCGIと同じ働きをしています。
特徴としては、PHPはデータベースとの連携が容易に出来、また、言語も難しくありません。結構作りやすいと思います。
JSPはJava Server Pageの略でHTMLにJAVAの処理を組み込んだものです。
ただし、JSPはサーバ側の処理を同じJAVAで作られたservletというプログラムとに分けてJSPは表示の部分のみという場合が多いです。
また、WINDOWS系のサーバならASPというVBScriptを用いたCGIに似た仕組みがあります。
結局、どれを用いても同じようなシステムを作ることは可能です。
ただ、開発しやすさ、メンテナンスのしさすさ、セキュリティなどから使う言語が変わってきます。

教えて!gooのシステムとしてはgooサイトそのものの骨格となるシステムはJAVA(JSP、Servlet)だと思われます。
そこで各コンテンツのトップやそれに近い階層ではJSPを使いそれ以降は各コンテンツごとに違っています。
教えて!gooのログイン画面はJSPで作られていますが、処理を行っているのはCGIのようです。ソースを見てみると解りますよ。
そして、質問、回答の表示、投稿など主な部分はPHPで作られているようです。
(gooサイトの骨格がJAVA(JSP、Servlet)だというのは憶測です。各コンテンツへのリンクの部分ではASPが使われてるようなので自信がないです・・・)

初心者なら簡単なPerlのCGIやPHPを勉強してみると仕組みが解りやすいと思います。
    • good
    • 0

あくまで、想像ですが、jspの方はただ単にリンクページで使われてます。


トップページと、カテゴリー一覧のページに使われています。

んで、phpの方は、今日の質問、ランキング、マイページに使われています。

両者の違いは、データベースを使うか使わないかだと思います。jspもphpもデータベースは使えるのですが、

phpの方は、言語が単純なので、phpでもいいところは、phpを使っているのでしょう。

あくまで、想像なんですが。。。
    • good
    • 0

「「教えてgoo」はどんなソフトウェアを使っているのでしょうか?」なんて質問がありました。

参考までに。
http://www.okweb.ne.jp/kotaeru.php3?q=215498

参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=215498
    • good
    • 0

サーバー側での処理を行っています。



cgi (perl)と言うのをご存じですか?
もし知っていれば話は早いです。出来る内容としては、それとほとんど代わりはありません。

javascript等との違いは、データをみんなで共有出来ることです。(例えば、今私がこれを書いたら、aika25さんにも私が書いた物が読めます。javascriptではこれは出来ません)

どの程度の知識をお持ちなのか分からないので、簡単に説明しましたが、分からないこと、もっと詳しく知りたい箇所があれば言ってください。

この回答への補足

知識的にはぜんぜんありません・・・。最近Javaをかじったくらいです。
でもこういう教えてgooみたいなシステムに興味があって、
似たようなものを作ってみたいんです。
cgiの仕組みがいまいちわからないのでまずそこが知りたいです。σ(^^)
あと、回答がきたときにメールで知らせるというような仕組みと、
ログイン/ログアウトする仕組み、もうひとつは検索する仕組みが知りたいです!
宜しくお願いしますσ(^^)

補足日時:2002/06/27 09:14
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!