• ベストアンサー

おしえてgooの.phpと.jspについて

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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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

その他の回答 (4)

  • wolfwood
  • ベストアンサー率50% (199/398)
回答No.4

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を勉強してみると仕組みが解りやすいと思います。

回答No.3

あくまで、想像ですが、jspの方はただ単にリンクページで使われてます。 トップページと、カテゴリー一覧のページに使われています。 んで、phpの方は、今日の質問、ランキング、マイページに使われています。 両者の違いは、データベースを使うか使わないかだと思います。jspもphpもデータベースは使えるのですが、 phpの方は、言語が単純なので、phpでもいいところは、phpを使っているのでしょう。 あくまで、想像なんですが。。。

  • vaice
  • ベストアンサー率26% (89/340)
回答No.2

「「教えてgoo」はどんなソフトウェアを使っているのでしょうか?」なんて質問がありました。参考までに。 http://www.okweb.ne.jp/kotaeru.php3?q=215498

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=215498
noname#2494
noname#2494
回答No.1

サーバー側での処理を行っています。 cgi (perl)と言うのをご存じですか? もし知っていれば話は早いです。出来る内容としては、それとほとんど代わりはありません。 javascript等との違いは、データをみんなで共有出来ることです。(例えば、今私がこれを書いたら、aika25さんにも私が書いた物が読めます。javascriptではこれは出来ません) どの程度の知識をお持ちなのか分からないので、簡単に説明しましたが、分からないこと、もっと詳しく知りたい箇所があれば言ってください。

aika25
質問者

補足

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

関連するQ&A

専門家に質問してみよう