マンガでよめる痔のこと・薬のこと

現在、サーブレット&JSPの勉強をしている初心者です。
JAVAの勉強中にSwingなどを使ったGUIのプログラムをあまりしなかったので
すが、サーブレット&JSPなどのWeb開発では使用するのでしょうか?
またその頻度はどの位なんでしょうか?
ご存知の方教えて下さい。

A 回答 (1件)

GUIとして使うケースとしては、まぁアプレットをページに埋め込んで利用するような場合に限られるでしょう。

JSPなどでページを出力するのにSwingを利用することはありません。ですから使用頻度としては「ごく稀にあるかも知れない」という程度でしょう。ただ、AWTのイメージ処理などは、サーバサイドでも使うことがあります。サーバ側でイメージを生成するような場合がありますから。

また、現状ではWebといえばWebブラウザですが、最近になってRIA(Rich Internet Application)が重視されるようになり、それに伴いSwingの再評価の機運も高まっています。例えば、Java Web Startなどを利用してJavaアプリケーションをオンライン配布するようなスタイルもありますので、数年後にはサーバサイドでもSwingアプリケーションの開発が必要となってくる、という可能性はあるかも知れませんね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
参考にします。

お礼日時:2008/01/11 09:32

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

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

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

Qフォーム上で押されたボタンによってサーブレットの処理を変えたい

Urizakaです。
さて、さっそく質問です。
JSPの同一フォーム上に「登録」「修正」「削除」のボタンを置き、その押された
ボタンによってサーブレット内での処理が切り替わる(具体的には、違う
SQL文を実行し、違うJSPページをgetRequestDispatcherメソッドで生成
する)ようにしたいのですが、どのようにすればよいのでしょうか?
もちろんそれぞれの処理に対して別々のサーブレットを作り、javaScript
でそれぞれのサーブレットへ飛ぶように制御するという処理も考えたことは
考えたのですが、できれば一つのサーブレットで済ませたいと考えたもので
…宜しくお願いします。

Aベストアンサー

お恥ずかしい限りです。
前述の例、動くわけがありませんね(汗)

2つめの例、書きなおします。

---------------------------------------------------

■JSPのフォーム

<form name=MyForm action="<<サーブレットのURL>>" method=post>
<input type=button name=MyClick value=登録 onClick="func('Toroku');">
<input type=button name=MyClick value=修正 onClick="func('Shusei');">
<input type=button name=MyClick value=削除 onClick="func('Sakujo');">
<input type=hidden name=MySubmit>
</form>

<script language="JavaScript">
function func(MyCommand){
document.MyForm.MySubmit.value=MyCommand;
document.MyForm.submit();
}
</script>

■Servletでの処理
// リクエストの取得
String MyAction = req.getParameter("MySubmit");

// 処理の実行
if (MyAction.equals("Toroku")){...}
if (MyAction.equals("Shusei")){...}
if (MyAction.equals("Sakujo")){...}



---------------------------------------------------

こんな感じでどうでしょうか。
ちなみにこうやって書いておくと、フォームのボタンからじゃなくても
アンカーをクリックすることで同じ効果が出せそうな……

<a href="JavaScript:func('Toroku')">登録</a>

あ、でもまたボロが出そうなのでこの辺で(^_^;)

お恥ずかしい限りです。
前述の例、動くわけがありませんね(汗)

2つめの例、書きなおします。

---------------------------------------------------

■JSPのフォーム

<form name=MyForm action="<<サーブレットのURL>>" method=post>
<input type=button name=MyClick value=登録 onClick="func('Toroku');">
<input type=button name=MyClick value=修正 onClick="func('Shusei');">
<input type=button name=MyClick value=削除 onClick="func('Sakujo');">
<input type=hidden name=M...続きを読む

Qhtml、テーブル内にテーブル。表示位置

htmlで<table>タグを使って テーブルを作成しました。(これをテーブル(1)とします。)
このテーブルのなかに表を作成したいため、テーブル内で<table>タグを使用し表を作成しました。(ここで作成したテーブル(表)をテーブル(2)とします。)
つまり、テーブル(1)の中にテーブル(2)(表)が存在する。といった状況です。

ところがテーブル(2)がテーブル(1)の真ん中に表示されてしまいます。
そこでテーブル(2)のタグに<table align="left" valign="top">というような要素を加えてみたのですが変化がありません。
どうしたらよいでしょうか?
教えてくださいよろしくお願い致します。

Aベストアンサー

> そこでテーブル(2)のタグに<table align="left" valign="top">というような要素を加えてみたのですが変化がありません。

テーブル(2)ではなくてテーブル(1)を次のようにすればテーブル(2)が左に寄ります。

<TABLE> ここはテーブル(1)
<TBODY>
<TR>
<TD align="left">
<TABLE> ここからテーブル(2)
<TBODY>
<TR>
<TD> 

Q日付型カラムへのデータINSERT

お世話になります。ひとつご教授ください。

オラクル10g, ojdbc14でjdk1.4.2から接続です。

INSERT命令を使ってテーブルにレコードを追加する際に、DATE型のカラムに対して

INSERT TABLE_A (DATE1, ...) VALUES ('2006-4-27 12:00:00', ...);

を実行するとエラーORA-01861が出ます。そこで

INSERT TABLE_A (DATE1, ...) VALUES ('2006-4-27', ...);

このように記述して再度実行すると通ります。

このようなとき、時間の部分まで設定した値をカラムに格納したいときはどうしたらよろしいでしょうか?

よろしくお願いします。

Aベストアンサー

ごめんなさい。
説明と文例が違ってしまいました。
正しくはこちらです。

INSERT TABLE_A (DATE1, ...) VALUES (to_date('2006-4-27 12:00:00','yyyy/mm/dd hh24:mi:ss'), ...);
というように、to_date関数を使うのが一般的かと思います。

QJSPの処理の途中で、JavaScriptの処理をしたい

プログラムをJSPで記述している(<% %>タグ)のですが、
JavaScriptのalertやconfirmなどのポップアップするダイアログを
表示したいのです。それは可能なのでしょうか?

Aベストアンサー

No.2の回答に対する回答(変な日本語ですが)です。

JSPとJavaScriptの処理の行われる順番について考えていないと
エラーになることがありますよ。
大まかな流れは、
 JSPのソースをサーバ側で解釈、実行する(HTMLのソースを吐き出す)
  ↓
 クライアントに生成したソースを送信する
  ↓
 クライアント側のブラウザがソースを解釈する
  ↓
 ソースの中のJavaScriptを、ソースの上のほうから順次実行する
  ↓
 同時に、通常の表示(HTMLの解釈)も実行される

 と、こういう流れですので、例えば、JavaScriptで値を入力し、
JSPでその値を使おうとすると、エラーとなります。

 具体的にやりたいこと(やろうとしていること)を書いていただいたほうが
適切に回答できますが、上記が今考えられるエラーの原因です。

QJavaプログラムからポップアップを表示する方法

現在、Javaプログラムにおいて以下のような
ことを実施したいと考えています。

1。画面上(JSP)からSQLで使用する条件を選び、ボタンをクリック
1.JavaからDBにアクセスし、検索結果件数を取得
2.件数をポップアップで表示し、「はい」もしくは「いいえ」を選択することで、処理を続行させるかさせないかを決定

1及び2については問題なく行えるのですが、3のやり方がよくわかりません。

DBの検索結果が仮に3件だとすると、ポップアップで
「3件が選択されました。処理を続行しますか」というメッセージとともに
「はい」、「いいえ」ボタンを表示させます。

ここで表示するポップアップは、できればJavaScriptで行いたいのですが可能なのでしょうか。
もしJavaScriptでなくても、とにかくポップアップが表示できるようにしたいと考えています。

大変恐縮ですが、よろしくお願いします。

Aベストアンサー

補足の方も読ませて頂きました。

> ここで私の不明点として、1つめが(2)から(3)への遷移になります。
> つまり、Javaプログラム本体からJavaScriptを呼び出すこと。

厳密に言うと、JavaからJavascriptを「呼び出す」ことはできません。
JavaおよびJSPは、ブラウザからのHTTPリクエストに対して
応答としてHTML(含Javascript)を「返す」ことしかできません。
そのHTMLを表示してJavscriptを実行するのは、ブラウザの役目です。

syu1219_aさんがおっしゃる「JavaがJavascriptを呼ぶ」というのは
おそらく、Javaが応答を返して自動的にconfirmのダイアログが出て
「はい」か「いいえ」の確認をユーザに促す、ということなのかと
想像します。

それであれば、Javascriptの「onLoad」イベントが使えます。
onLoadイベントは、ブラウザが読み込み終わると発生しますが、
それを<body>タグにつければ、ページ読み込み完了時に
イベントが発生し、希望のfunctionを呼び出すことができます。
以下のようにすれば、ページ表示と同時に確認を行えます。
----------
<html>

<body onLoad="kakunin()">

</body>
</html>
<script language="Javascript">
<!--

function kakunin() {
  var msg = "検索結果は";
  msg += "<bean:write property="kensakuKekka"/>";
  msg += "です。\n処理を実行しますか?";
  if(confirm(msg) == true) {
    :
  }
  else {
    :
  }
  :
}

//-->
</script>
----------

> そして、2つめが(3)から(4)への遷移になります。
> つまり、JavaScriptで選択された結果をJavaプログラムに返すこと。

ブラウザ側からJavaの方へ情報を伝えるには、
入力された値にしろ、押したボタンにしろ、何にしても
<form>に情報を持たせてsubmitで送信するしかありません。
情報を何らかの形でsubmitに載せることになります。

「確認でどちらを選択したか」というプロパティを新たに設ければ
Java側で受け取ることができます。
<input type="hidden">を使い、submitに載せるといいでしょう。
----------
<html>

<form method="post" action="hogehoge">

<input type="hidden" name="sentaku">

</form>

</html>
<script language="Javascript">
<!--

function kakunin() {
  var f = document.forms[0];
  var msg = "検索結果は";
  msg += "<bean:write property="kensakuKekka"/>";
  msg += "です。\n処理を実行しますか?";
  f.elements["sentaku"].value = confirm(msg);
  f.submit();
}

//-->
</script>
----------

あとは、form.actionを書き換えることによって
ちがうActionを呼ぶということもできるでしょう。

補足の方も読ませて頂きました。

> ここで私の不明点として、1つめが(2)から(3)への遷移になります。
> つまり、Javaプログラム本体からJavaScriptを呼び出すこと。

厳密に言うと、JavaからJavascriptを「呼び出す」ことはできません。
JavaおよびJSPは、ブラウザからのHTTPリクエストに対して
応答としてHTML(含Javascript)を「返す」ことしかできません。
そのHTMLを表示してJavscriptを実行するのは、ブラウザの役目です。

syu1219_aさんがおっしゃる「JavaがJavascriptを呼ぶ」というのは
おそ...続きを読む

QJDBCドライバについて

JavaからアクセスしたいのでJDBCドライバをインストール、設定しようとしたのですが、Tomcatに組み込むやり方がわかりません。このサイトを参考にしてやったのですが・・・

<< db105.java >>

データベース(0):JDBCドライバ

JavaのプログラムからMySQLのデータベースへ接続するにはJDBCドライバが必要である。
●JDBCドライバのダウンロードとインストール

(1)Webブラウザで、http://www.mysql.com/downloads/に接続する。
ダウンロードするバージョン(MySQL Connector/J 3.0)をクリックする。
(2)http://dev.mysql.com/downloads/connector/j/3.0.htmlに切り替わる。Downloadをクリックする。
(3)ダウンロードが始まるので、保存先をデスクトップにする。ファイル(mysql-connector-java-3.0.15-ga.zip)がデスクトップに保存される。
(4)ZIP形式のファイル(mysql-connector-java-3.0.15-ga.zip)を解凍する。デスクトップ上のディレクトリ(mysql-connector-java-3.0.15-ga\mysql-connector-java-3.0.15-ga)内のファイル(mysql-connector-java-3.0.15-ga-bin.jar)にJDBCドライバが存在する。
(5)JDBCドライバを環境変数CLASSPATHに追加する。
SET CLASSPATH=%CLASSPATH%;c:\mysql-connector-java-3.0.15-ga\mysql-connector-java-3.0.15-ga-bin.jar;.
ただし、JDBCドライバは、
c:\mysql-connector-java-3.0.15-ga\mysql-connector-java-3.0.15-ga-bin.jarに存在する。
●Tomcatに組み込む。
ファイル(mysql-connector-java-3.0.15-ga-bin.jar)を
%CATALINA%\shared\libの下にコピーする。その後、再起動する。

2番目の黒丸の%CATALINA%\shared\libが全くみつからないです。教えてください~;;

JavaからアクセスしたいのでJDBCドライバをインストール、設定しようとしたのですが、Tomcatに組み込むやり方がわかりません。このサイトを参考にしてやったのですが・・・

<< db105.java >>

データベース(0):JDBCドライバ

JavaのプログラムからMySQLのデータベースへ接続するにはJDBCドライバが必要である。
●JDBCドライバのダウンロードとインストール

(1)Webブラウザで、http://www.mysql.com/downloads/に接続する。
ダウンロードするバージョン(MySQL Connector/J 3.0)をクリックする。...続きを読む

Aベストアンサー

おっ、解決したみたいですね。

なんかあまり役に立てなかったですけど、
解決してよかったです。

Q文字列として"(ダブルコーテーション)を表示させる方法

こんにちは。文字列として、ダブルコーテーションを表示させるには、どうすればよいのか教えてください。m(__)m


例えば、
<font size="2">あいうえお</font>

というタグの「あいうえお」の部分が、セルA1にあった場合、

="<font size="2">"&A1&"</font>"という表示にしたいのです。

"2"のダブルコーテーションも文字列として表示させるには、どうすればよろしいのでしょうか。

教えてください。よろしくお願い致します。

Aベストアンサー

こんにちは~

表示形式は 「標準」 のままで、
ダブルコーテーションを、ダブルコーテーションで囲んでください。

""2""

="<font size=""2"">"&A1&"</font>"

としてみてください。

Q【Servletのエラーについて教えて下さい!】

こんにちわ。いつもありがとうございます。
サーブレットをコンパイル後、実行するとHTTPのPOSTメソッドは、このURLではサポートされていません。
と表示されます。

前のJSPからはmethod="POST"にて送信しているのですが・・・

すみませんが、ご教授下さい!

ソースは以下となります。
よろしくお願い致します!

import javax.servlet.http.*;
import java.sql.*;
import java.io.*;

public class EditingServlet extends HttpServlet {
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws IOException {

/*フィールドの宣言*/
Connection conn = null;

res.setContentType("text/html; charset=Shift_JIS");
PrintWriter out = res.getWriter();

out.println("<html><head></head><body>");

String Str = req.getParameter( "Str" );

try {
String user = "ID", pwd="PW";

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url="jdbc:sqlserver://10.121.67.247:1433;DatabaseName=Name"; /*JDBC URL*/
conn = DriverManager.getConnection(url,user,pwd);
Statement stmt = conn.createStatement();
stmt.executeUpdate("UPDATE T_Strfer SET フラグ ='1' WHERE id='"+ Str +"'");

out.println("データを更新しました!<br>");
} catch (ClassNotFoundException e) {
out.println("クラスが見つかりません。");
} catch (SQLException e) {
out.println("データの更新に失敗しました。 ");
} finally {
try {
if (conn != null) { conn.close(); }
} catch (SQLException e) {}
}
out.println("</body></html>");
out.close();
}
}

こんにちわ。いつもありがとうございます。
サーブレットをコンパイル後、実行するとHTTPのPOSTメソッドは、このURLではサポートされていません。
と表示されます。

前のJSPからはmethod="POST"にて送信しているのですが・・・

すみませんが、ご教授下さい!

ソースは以下となります。
よろしくお願い致します!

import javax.servlet.http.*;
import java.sql.*;
import java.io.*;

public class EditingServlet extends HttpServlet {
public void doPost(HttpServletRequest req, Http...続きを読む

Aベストアンサー

えーと実はJSPならばOKなのですね。
とゆーことはJavaには問題はないと考えられます。
すると問題はSQLか
例えば存在しないカタチのIDを入力したとか。

もともと問題なかったので問題は違う状態で
発生してるのでは?

QServletからHTMLページへの遷移について

初めまして。

JDK:1.5.0_10
Apache Tomcat:/5.5.15
の環境で、Java Servletを組んでいます。

実現したい処理があるのですが、いろいろ調べても見つからないので質問させて頂きます。

1.クライアントがボタンを押す(.htmlのページ)
2.1から命令を受け取ってサーブレットが処理する
3.1のページを更新して再表示してあげる
というようなものです。

わからないのが、3の サーブレットからHTMLへページ遷移する方法です。

すみませんが、何か方法があったら教えて下さい。

Aベストアンサー

処理が終わった後にサーブレットのページを表示させずに、パッと元のHTMLに戻るということですよね?
でしたら、
response.sendRedirect("XXX.html");←これをサーブレットの最後に入れればhtmlに遷移します。
responseですが、HttpServletResponseクラスの名前が、resとかならば
res.sendRedirect("XXX.html");という感じになります。

■サンプルページ
Java 入門 | Servlet/JSP/Java Bean | リダイレクト:http://www.nextindex.net/java/servlet/sendRedirect.html
リダイレクト(redirect) - サーブレット間の連携 - サーブレット入門:http://www.javadrive.jp/servlet/dispatch/index4.html

QEclipseでのJSP・Servlet開発について(文字化け)

EclipseでJSP、Servletの開発をしております。
文字化けについての質問なのですが、ブラウザ上で表示される文字が
文字化けしてしまいます。JSPの頭に
<%@page contentType="text/html; charset=SHIFT_JIS"%>
と入れており、ブラウザでもエンコードはShift_JISとなっています。

自分なりに原因を調べたのですが、○○.jsp→○○_jsp.javaに変換?する際に
文字化けしているようで、Eclipse上でJSP、Servletを見ると普通なのですが、
○○_jsp.javaは見事に文字化けしていました。
文字化けした○○_jsp.javaを削除して再度表示(_jsp.javaの再作成)も試みた
のですが、同じ結果でした。

1ヶ月以上触っていないパッケージのソースも突然文字化けを起こしたので
原因も分からない状態です。
原因・直し方がお分かりの方、是非ともご指南下さい。
情報不足でしたら追記させて頂きますので、どうぞ宜しくお願い致します。

Aベストアンサー

Eclipseの文字コードの設定は、これから作成するファイルに関しては
「ウィンドウ->設定->一般->ワークスペース」で
「テキスト・ファイル・エンコード」にて指定できます。
ただし、これだとすでに作成したファイルの文字コードは変更されないため、
対象ファイルを右クリックし、「プロパティ->リソース」で変更できます。

>テキストエディタで開くと文字化けしていないのに、何故かEclipseで開くと文字化けし、稀に(きっかけは不明だが)ブラウザ(FireFox)上でも文字化けした状態で表示される。

これも上記で設定すれば解決すると思います。
テキストエディタは何を使っているのかわからないですが、テキストエディタ側ではShift-jisで読み込んで、EclipseではUTF-8?で読み込んでいるために起きているのが原因だと思います。

ちなみに、JSPをインクルードする際、インクルードされるJSPに
<%@ page pageEncoding="SHIFT-JIS" %>
を指定しないと文字化けする可能性があります。(インクルードする側とされる側両方にContentTypeをしていすると、される側のContentTypeは無効化され、される側の文字コードを判断する手立てがなくなってしまうため)

Eclipseの文字コードの設定は、これから作成するファイルに関しては
「ウィンドウ->設定->一般->ワークスペース」で
「テキスト・ファイル・エンコード」にて指定できます。
ただし、これだとすでに作成したファイルの文字コードは変更されないため、
対象ファイルを右クリックし、「プロパティ->リソース」で変更できます。

>テキストエディタで開くと文字化けしていないのに、何故かEclipseで開くと文字化けし、稀に(きっかけは不明だが)ブラウザ(FireFox)上でも文字化けした状態で表示される。

これ...続きを読む


人気Q&Aランキング