HTMLが何かは少ーーーしは知っているのですが、
以下の六つの違いが良く分かりません。

  ●java 
  ●javaスクリプト
  ●javaアプレット 
  ●ハイパーHTML 
  ●ダイナミックHTML
  ●CGI

自分で調べてみたのですが、いまいち理解できませんでした。
今のところ、この六つの違いについて少しでも知りたいと思います。

どなたか、パソコンへろへろな僕にも分かるように
簡単でいいですから、教えて頂けないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

まず基本的な方から。



[HTML]
ホームページを "見せる" ための言語。文章の内容は固定、つまり訪問者が見る内容は作者が更新するまで変わらない。動きを表現するのにはHTMLだけでは不十分 (アニメGIFとか駆使すればできなくはないけど、、、。)

[CGI]
HTMLだけでは双方向性がないので、Webサーバ側で別のプログラムを動かして訪問者のアクセスの仕方によって表示する内容を変えたり、訪問者からの書き込みを受け付けて処理したりするもの。基本的にサーバ側で状況に応じて HTML ファイルを作成し、訪問者に見せるので、見ために関しては HTML でできることしかできない (JavaScriptを埋め込んだりすればできるけど)。

[Java]
プログラミング言語。CとかC++とかとほぼ同等だと思っていいでしょう。

[Javaアプレット]
Java言語 (上を参照) で作られた、小さなアプリケーション。プログラムをダウンロードして見る側のコンピュータの上で実行する。普通のプログラムとほぼ同等のことができるが、セキュリティ対策のため一部に制限がある。

[JavaScript]
HTML ファイルにプログラムもどきを埋め込み、表示するブラウザの側で処理を行なうことで見た目を動的に変化させたりできるもの。Java言語に似せて作られたのでこの名前がつく。表示に関しては多彩な処理が可能となるが、JavaアプレットやCGIのような複雑な処理はできない。

[スタイルシート]
HTML でただ文字を表示するだけでなく、文字 (というか文章の塊) に属性を与えて見た目を決定するもの。

[DynamicHTML]
JavaScriptとスタイルシートなどを組み合わせて表示を動的に変える仕組み。

こんなところでしょうか。
ちなみに、ハイパーHTMLってのは聞いたことないのですが、そもそも HTML が「Hyper Text Markup Language」なのでこれに Hyper をつけるとおかしなことになると思うのですが、、、。
    • good
    • 2

DynamicHTMLに関して補足



JavaScriptとスタイルシート(CSS)を使って、動的(ダイナミック)にページを動かしたりすることをDHTMLと読んでいるだけで、DHTMLという言語があるわけじゃないです。

HTMLだけだと、静的なページになりますが、DHTMLとして作成すると、マウスの動きに合わせて画像の表示非表示、移動などなど、よりインタラクティブなページが作れるようになります。
参考URLのページはDHTMLで更にクロスブラウザというIEでもNN/NCでも同じように動くように作られています。
オススメです。

ハイパーHTMLって聞いた事無いですね。HTMLって「ハイパーテキストマークアップランゲージ」なので、もしかして最初のハイパーが外に出ちゃったのかな?

参考URL:http://www.fureai.or.jp/~tato/DHTML/simple/conte …
    • good
    • 0

私が知っている限りのことを・・・



【Java】
 これはマルチプラットフォームで動作するように
 設計された言語でクラスファイルである程度の
 プラットフォームの違いは吸収してしまう反面、
 完全に機械が理解できる形になっていないため、
 実行が少々遅いです。また、実行用のソフトも
 同時に必要となります。間違えてもWebだけの
 ための言語ではありません!
【Javaアプレット】
 これは上記のJavaで書かれたもので、ブラウザが
 実行できるようにしたものです(というよりも
 ブラウザ用のものです)。しかし、記述するのが
 楽なのと、JavaScriptのようなソースが見えて
 しまうものと違うので、結構いろいろなことが
 可能です。また、Java全体に言えることですが
 ネットワークに対応するように設計されているので
 ある程度のセキュリティは考えられています。
【JavaScript】
 これは、上記のJavaとはまったく関係のないもので
 昔は名前が違いました。しかし、記述が楽なのと
 HTMLに記述するだけで簡単に動的なページが作成
 可能なので、結構広まっています。ただブラウザ
 ごとに実行できる関数が異なるため、頻繁に
 ランタイムエラーが発生します。
【Dynamic HTML】
 基本的に、これはJavaScriptを使用して作成された
 動的に変化するHTMLの書き方をいうようです。
 従って、JavaScriptと同じようなものだと考えて
 いいかもしれませんが、こちらはHTMLの知識が
 不可欠になります。
【CGI】
 Common Gateway Interfaceというもので、ページを
 要求されたときに、サーバがまず実行結果を得て
 その結果をクライアントに送信するため、動的に
 ページが生成されているように見えるものです。
 しかし、JavaScriptやJavaアプレットと違い、
 サーバ側で実行されるため、かなりサーバの負荷に
 なる原因となります。また、掲示板荒らしみたいに
 どこからアクセスしたのか、わかりにくくする
 ことも可能なものです(Javaはクライアントで
 実行するため、どんなにプロキシを通しても、
 生IPアドレスが取得できます)。
【Hyper HTML】
 すいませんが、分かりません。調べればある程度
 出てくると思いますよ。

これ以外にXML、ASP、VBScriptなどもありますね。
ちなみに、XMLはeXtended Markup Languageで、
HTMLのように決められたタグしか使えないような
ものではなく、自由にタグを作ることができるよう
設計されています。

間違いがありましたらご指摘ください。
ではでは☆

多分これであってるかな?
    • good
    • 0

これはなかなか回答が遅くなりそうですね。


難しい質問です。
詳しいことは専門家にお任せするとして・・・
私はこれらの違いを「開発者がちがう!」としか考えてません。
ドリキャスとプレステの違いは?みたいなモンかと。

HTMLを含め、すべてWeb上でコンテンツを見せる為のプログラム言語ですよね。
日本風に言うと、ホームページを作るため。
(ホームページというのは、正式にはサイトのトップページのことだけ指すのだそうです。)
さて、一般的にjavaとjanaアプレットは同じもののようです。
ネット上で簡単なゲームを作りたいときに使います。
javaスクリプトは、ホームページを動的に見せたい時に使います。
ロールオーバーやタスクバーの効果など。
ハイパーHTMLはよく判りません。勉強不足です。
ダイナミックHTMLは、IE用のHTMLタグみたいです。
効果は、javaスクリプトと大して違わないみたいです。
CGIは、アクセスカウンターや掲示板など、ホームページに誰かが来ることを受けて動くプログラムです。今はPerlが一般的です。
私の少ない知識ではこの程度です。

便乗質問で、XMLについてもお聞きしたいです。
    • good
    • 0
この回答へのお礼

為になりましたよ。

大体の感じをまず掴みたかったので・・・

『ドリキャスとプレステの違い』というのは、イメージしやすいですね。

ennoさん、どうもありがとうございました。

お礼日時:2001/01/28 12:32

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QjavaアプリケーションをHTML上から実行する

JAVAアプレットの場合は、HTML上で実行するときに
目的のクラスファイルを<applet>タグで囲んで実行しますが、
これがJavaアプリケーションの場合、HTML上から
Javaアプリケーションを実行することは可能なのでしょうか?
また可能な場合は、どのようにしてJavaアプリケーションを
実行すればよろしいのでしょうか?

Aベストアンサー

サーバーサイドでのJavaアプリケーションについて補足します。

対象のJavaアプリケーションがウィンドウを持たない、いわゆるコンソールアプリケーションであれば、CGIで動かすC/C++やPerlのプログラムと同様に動作可能です。もちろん、サーバーでJVM等の設定をしておく必要があります。

Servletは、Servletクラスを継承する形で作成する必要があるのと、結果の出力先が、標準出力ではないため、ここも修正する必要があります。

Qjavaでhtmlファイルを開く方法

通常は、下記のような記述をすれば、html.htmlファイルを開けると思うのですが開けせん。どうすれば、開くことができますか?

また、ディスクトップで実行しているのですが、Javaファイルと同じディレクトリ(デスクトップ)にあるhtml.htmlファイルを開くことはできないのしょうか?
相対パスで記述するとエラーになります。

初歩的な質問かもしれませんが、ご教示、宜しくお願い致します。

String[] cmd = {"C:\\html.html"};
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(cmd);

Aベストアンサー

Windowsをご利用の場合、下のような記述で関連付け起動ができます。

try {
//絶対パスの例
String cmd = "C:\\html.html";
Runtime.getRuntime().exec("cmd /c start " + cmd);
//相対パスの例
File file = new File("html.html");
cmd = file.getAbsolutePath();
Runtime.getRuntime().exec("cmd /c start " + cmd);
} catch (IOException e) {
e.printStackTrace();
}

Javaの基本APIで関連付け起動を行う方法は、おそらくありません。私が不勉強なだけかもしれませんが。
もしもこれ以上細やかな動作が必要でしたら、JNIを使うかShellExecute API を利用するアプリケーションをC言語などで作成することをご検討ください。
ちなみに、下の例で起動する場合
{"C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE C:\\html.html"}を
{"C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE", "C:\\html.html"}
に変えればうまくいくと思います。

Windowsをご利用の場合、下のような記述で関連付け起動ができます。

try {
//絶対パスの例
String cmd = "C:\\html.html";
Runtime.getRuntime().exec("cmd /c start " + cmd);
//相対パスの例
File file = new File("html.html");
cmd = file.getAbsolutePath();
Runtime.getRuntime().exec("cmd /c start " + cmd);
} catch (IOException e) {
e.printStackTrace();
}

Javaの基本APIで関連付け起動を行う方法は、おそらくありません。私が不勉強なだけかもしれませんが。
もしもこれ以上細やか...続きを読む

Qhtml で 変数を定義できますか?

html(できればjava不使用)で変数に文字列をいれてつかう、またはそれに近いことはできないでしょうか?

例**************************
$color1="#000000"

<tr bgcolor=$color1>内容1<tr>
<tr bgcolor=$color1>内容2<tr>
****************************
みたいな感じです

Aベストアンサー

調べりゃ分かることは???だけど。

CSS2で無理やり作れば・・簡単だけど・・・
生成内容、自動番号振り、リスト ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/generate.html )
 本来はXSLTで作るほうがよいかと・・・
 <th><xsl:value-of select="parson" />の歌</th>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<title>サンプル</title>
<meta name="author" content="ORUKA1951">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rev="made" href="mailto:orika1951@hoge.com" title="send a mail" >
<link rel="START" href="../index.html">
<style type="text/css">
<!--
.parson1:before{content:"田中";}
p.age1:after{content:"36歳";}
-->
</style>
</head>
<body>
<h1>サンプル</h1>
<p class="parson1">は男の子</p>
<p class="parson1 age1">の年齢は</p>
<p>私の彼氏は<span class="parson1">君だよ</p>
</body>
</html>

調べりゃ分かることは???だけど。

CSS2で無理やり作れば・・簡単だけど・・・
生成内容、自動番号振り、リスト ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/generate.html )
 本来はXSLTで作るほうがよいかと・・・
 <th><xsl:value-of select="parson" />の歌</th>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<title>サンプル</title>
<met...続きを読む

QIOException ってどういうときに起こるのでしょうか?

IOException ってどういうときに起こるのでしょうか?

http://www.atmarkit.co.jp/fjava/rensai2/javaent12/javaent12.html
を見て勉強しています。

  catch ( IOException e) {
    System.out.println( "キーボードが故障しているのかもしれません" );
  }

と書いてあります。
ハード(キーボード)が故障しているのを Java のプログラムのレベル(ソフトウェア)で感知できるというのがよくわかりません。「

NumberFormatException の方はわかるのですが・・・

Aベストアンサー

現実的には、キーボードからの入力でIOExceptionが発生することは、
ほとんどあり得ないと思います。
そもそも、キーボードが故障していたとしても、
IOExceptionは投げられないでしょう。
「キーボードが故障しているのかもしれません」というのは、
その記事の著者が冗談で書いたのだと思います。

ではなぜ、try-catchを書かなくてはいけないのか?
InputStreamやBufferedReaderは、
データ入力を抽象化したものだからです。
実際の入力元はキーボードだったり、ファイルだったり、
ネットワーク接続だったりするわけですけど、
InputStreamは、その入力元の情報を持っていないので、
データを読み取る際は常に
IOExceptionをキャッチするコードを書かなくてはいけません。
たとえ、絶対にIOエラーが発生しないストリームだとしても。

さらに付け加えるなら、
そもそも「標準入力=キーボード」であるとは限りません。
(一般的にはキーボードであることが多いですが。)
Javaでは、
System.setIn(InputStream)
を呼び出して、標準入力を変えてしまうことができますし、
標準入力を指定してプログラムを実行することができるOSもあります。

追伸1:
例外をキャッチしたときは、
スタックトレースをプリントすることをおすすめします。
catch (IOException e) {
e.printStackTrace();
}

追伸2:
そのプログラムでIOExceptionを発生させる最も簡単な方法は、
readLine()を呼び出す前に
標準入力(System.in)を閉じてしまうことです。
System.in.close();

現実的には、キーボードからの入力でIOExceptionが発生することは、
ほとんどあり得ないと思います。
そもそも、キーボードが故障していたとしても、
IOExceptionは投げられないでしょう。
「キーボードが故障しているのかもしれません」というのは、
その記事の著者が冗談で書いたのだと思います。

ではなぜ、try-catchを書かなくてはいけないのか?
InputStreamやBufferedReaderは、
データ入力を抽象化したものだからです。
実際の入力元はキーボードだったり、ファイルだったり、
ネットワーク接...続きを読む

Qjavascriptからjavaを呼び出したい

javascriptの勉強中です。
javascriptでajaxを用いてjavaのメソッドにアクセスし、結果をjavascriptに返す、という実装をしたいのですが上手く行きません。

流れとしては以下のようなものを想定しています。

js
/project/WebContent/js/testJS.js(画面の値を引数としてtestJavaクラスのtestMethodメソッドを呼び出す)

java
/project/src/java/jp/co/application/util/testJava.java(受け取った引数の値をtestDAOクラスのtestDAOMethodメソッドに渡す)

java
/project/src/java/jp/co/application/dao/testDAO.java(受け取った値を用いてDBにアクセスし、結果をjsに返す)

まず技術的に、同じプロジェクト内のjavaメソッドをjs上で呼び出し、結果を受け取るということは可能なのでしょうか。
ご教示お願いします。

Aベストアンサー

#3 です。

> 「javaを使わない」という条件だと、XMLのリクエストのみで実現は可能でしょうか。
DB上にあるデータを全てXML化して置いておけば出来なくはありません。
ただ、その場合は静的データ(XML)で管理することになるので、DBを使用する意味がなくなると思うのですが…。

DBを利用するならサーバサイドスクリプトの存在は必須です。

1. DBの内容をサーバ意サイドスクリプトで出力
2. 出力データを JavaScript で受け取り、カレンダーに描画する

このような処理が必要になります。
出力データのフォーマットは JSON, XML 何でも良いですが、JavaScript で認識しやすいデータが望ましいですね。
DBデータがあらかじめキャッシュして置ける内容なら初めからJavaScriptに全データをObjectとして渡しておくのが理想だと思います。
月が変化する毎にリクエストを発行する必要がなくなりますので、コードを単純化できます。
その場合は、カレンダーを出力するHTMLをサーバサイドスクリプトで書いて、JSONを出力しておくのが楽な実装ですね。

# Re: mifu223さん

#3 です。

> 「javaを使わない」という条件だと、XMLのリクエストのみで実現は可能でしょうか。
DB上にあるデータを全てXML化して置いておけば出来なくはありません。
ただ、その場合は静的データ(XML)で管理することになるので、DBを使用する意味がなくなると思うのですが…。

DBを利用するならサーバサイドスクリプトの存在は必須です。

1. DBの内容をサーバ意サイドスクリプトで出力
2. 出力データを JavaScript で受け取り、カレンダーに描画する

このような処理が必要になります。
出力データのフォーマッ...続きを読む

QJAVAで出力した値をHTMLで使う

HTMLのフォームからJAVAに値を渡し、
JAVAで処理をしたものをHTMLのアプレットに
表示する方法は分かりました。
でも、アプレットでの出力だと、HTMLの
JavaScriptで扱えません。
JAVAの値をHTMLのフォームなどに出力する方法が
あれば教えてください。

Aベストアンサー

ヘルプとかをHTML文でだしたい、とか…?でしょうか…?

SwingならHTMLを扱えるクラスがあります。
IEやNetScapeでアプレットにするには
Pluginが必要になります。

QJSPでリンクを利用してパラメータを次画面に渡す方法について。

一覧表示されているデータのNOをクリックすると、二つのパラメータでデータベースへアクセスし、該当データの詳細画面に遷移する、というプログラムを作っています。

データベースへアクセスする際に必要なIDは2つで、仮にID_A、ID_Bとします。
リンク部分のソースは

---------------------------------------------------------------------
<a href = "update_form.jsp?ID_A=<%= rs.getString("ID_A") %>">番号</a>
<input type="hidden" name="ID_B" value="<%= rs.getString("ID_Bcat_id") %>">
---------------------------------------------------------------------

としておりますが、次画面へ遷移すると、ID_Bの値はnullとなってしまうために、正常にデータの取得ができません。

二つのパラメータを使用する場合のパラメータを渡す方法を教えて頂きたいと思います。よろしくお願いします。

一覧表示されているデータのNOをクリックすると、二つのパラメータでデータベースへアクセスし、該当データの詳細画面に遷移する、というプログラムを作っています。

データベースへアクセスする際に必要なIDは2つで、仮にID_A、ID_Bとします。
リンク部分のソースは

---------------------------------------------------------------------
<a href = "update_form.jsp?ID_A=<%= rs.getString("ID_A") %>">番号</a>
<input type="hidden" name="ID_B" value="<%= rs.getString("ID_Bcat_id") %>">...続きを読む

Aベストアンサー

<a href = "update_form.jsp?ID_A=<%= rs.getString("ID_A") %>&ID_B=<%= rs.getString("ID_Bcat_id") %>">番号</a>

としてID_Bを&で繋げればMethod="get"で送れますね。
inputタグで送る場合はformタグでactionアトリビュートに飛ぶjspを指定してsubmitボタンかJavaScriptでsubmitさせなければならないと思います。

QサーブレットとJSPについて

こんにちは、今回初投稿させてもらいます。aetklimです。よろしくお願いします。
過去ログを見たのですが、同じような質問が見当たらなかったので、質問させてもらいます。 初歩的なことなのですが、サーブレットとJSPの意味(違い)が分かりません。本やサイトなどで調べたのですが、初めての僕には意味不明なのでどなたか、詳しく、分かりやすいく説明してもらいませんでしょうか。 どうか、よろしくお願いします。返答をお待ちしております。

Aベストアンサー

JAVA言語そのものについてはある程度は理解されているでしょうか。
また、WEBの仕組みやWEBアプリケーションについての理解も必要です。

Java Servletというのはサーバーの内部で動作するJAVA言語で作られたアプリケーションです。
動作としてはCGIと同じような動きをします。(仕組みは違いますが)
掲示板を例にするとHTMLページから送信されたデータを受取り、ファイルに書き込み、その結果画面をブラウザに送信するといった処理を行うのがServletです。

JSPはHTMLの記述の中にJAVAのコードを記述することでコンパイルなしでデータの受取りや動的なページの生成を行う技術です。
Servletを用いても動的なHTMLは作れますが、HTMLのコード全てをServletから送信しなければならないので面倒であり、また、HTMLは画面デザインに関係してくるので
コンパイルが必要なServletに記述していては画面の変更などをHTMLファイルのように簡単に行えません。
JSPはコンパイルをせずHTMLファイルの中に直接JAVAコードを記述するだけでで動的なページを生成できるのでデザインの変更などが行いやすいのがメリットです。
ただし、あまりJAVAコードを記述すると内容が複雑となり管理しにくくなります。
そこで役割としてサーバ内部の処理はServletで行い、画面表示はJSPで行うというのが一般的な方法となっています。

JSPはコンパイルしないと書きましたが、実際はサーバにインストールされたJSPコンテナというモジュールによって自動的にコンパイルされServletに変換されています。
簡単に書くとJSPはHTMLの中にServletのJAVAコードが埋め込まれていてアクセス(起動)されると自動的にコンパイル・実行を行う機能です。
つまりJSPも結局は同じServletであるということになります。
ただ、プログラムの処理と表示する画面の部分をメンテナンスしやすいように別々にしているという訳です。

下記のページで分りやすく解説されているので参考にしてください。

JSP・サーブレットについての解説
http://www.atmarkit.co.jp/fjava/rensai2/jspservlet01/jspsevlet01_1.html

WEBの仕組み
http://www.lsd.tamagawa.ed.jp/johokiso/ITTEXT2001/FPEx/FPIndex.htm
CGIについて
http://www.mytools.net/cgitips/index.html

JAVA言語そのものについてはある程度は理解されているでしょうか。
また、WEBの仕組みやWEBアプリケーションについての理解も必要です。

Java Servletというのはサーバーの内部で動作するJAVA言語で作られたアプリケーションです。
動作としてはCGIと同じような動きをします。(仕組みは違いますが)
掲示板を例にするとHTMLページから送信されたデータを受取り、ファイルに書き込み、その結果画面をブラウザに送信するといった処理を行うのがServletです。

JSPはHTMLの記述の中にJAVAのコードを記述する...続きを読む

Qテーブル内の文字サイズを変更したい。

HTMLのテーブル内の文字サイズを変更したいのですが。
イマイチ上手くいかずに悩んでいます。
出来れば全体的に<TABLE></TABLE>のほうでいじれますか?
<TD>タグや<TR>タグのところでいじくるのですか?

Aベストアンサー

いろいろやり方はありますが
文字単位でサイズを変更するには
#2の方法ですね。

テーブルごとやセル(<TD>)ごとにサイズを変更するには
スタイルシート(CSS)を使用します。

テーブルごとにサイズを変更する場合
<TABLE style="font-size : 20px;">

セル(<TD>)ごとにサイズを変更する場合
<TD style="font-size : 20px;">あああ</TD>

#1の方法だとページ内の全てのセル(<TD>)に設定することになります。

スタイルシート(CSS)はこれら以外にも
いろいろな設定方法があります。

QJSP使用によるスタイルシート読み込みについて

勉強のため、struts + Eclipseを使用して、JSP
を作成しているのですが、<link>タグを使用して
スタイルシートを読み込みたいのですが、うまく
いきません。(1)のURLでJSPを表示するとうまくい
くのですが、イベントを実行(submit)すると、URL
が(2)に変更されてしまい、読み込めません。

URL(1)
http://localhost:8080/aa/bb/cc/dd/index1.jsp

URL(2)
http://localhost:8080/aa/index1.do

現在、<link>タブは相対パスを指定しているの
ですが、パスを絶対パスに変更すればうまくいき
ます。

変更前(相対パス指定)
<link href="../style.css"・・・>

変更後(絶対パス指定)
<link href=
"http://localhost:8080/aa/bb/cc/style.css"・・・>

他にスタイルシートを読み込む方法はございません
でしょうか。よろしくお願いします。

勉強のため、struts + Eclipseを使用して、JSP
を作成しているのですが、<link>タグを使用して
スタイルシートを読み込みたいのですが、うまく
いきません。(1)のURLでJSPを表示するとうまくい
くのですが、イベントを実行(submit)すると、URL
が(2)に変更されてしまい、読み込めません。

URL(1)
http://localhost:8080/aa/bb/cc/dd/index1.jsp

URL(2)
http://localhost:8080/aa/index1.do

現在、<link>タブは相対パスを指定しているの
ですが、パスを絶対パスに変更すればうまくいき
ます。

...続きを読む

Aベストアンサー

解決したと思いますが、誤った書き込みがあるので訂正します。

>JSP は一度、コンパイルされて、ワークフォルダに実体(.java)ができますから、表示されている JSP の実体がある場所がカレントパスになります。
>こういった事象は、カレントパスの誤認識のせいで起こる場合があります。
の部分は間違いです。
linkタグで指定されたCSSの場所はJSPやサーブレットが解決するわけではなく、ブラウザが解決します。なのでJSPの実体のパスなどは無関係で、カレントパスの誤認識等で起こるわけではありません。むしろ正常な動作です。

URL(1)でアクセスした場合、ブラウザは「http://localhost/aa/bb/cc/dd/」をカレント(現在地)と見なします。
しかし、URL(2)でアクセスした場合、ブラウザは「http://localhost/aa/」をカレントと見なすため、CSSのパスが相対パスで指定された場合、両者のCSSは全く違うものを指すことになります。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング