2

1台のマシンで完全にローカルで実行されるアプリケーションを作成したいのですが、インターネットや外部マシンに接続する必要はありません。

このアプリケーションのプラットフォームとしてWebブラウザーを使用するのは良い考えだと思っていました。そうすれば、多くのUIをいじくり回す必要がなくなり、Webページをかなりすばやくまとめて利用できるようになります。アプリケーション全体で一貫したスタイルを取得するためのCSS。

ただし、問題のマシン上のMYSQLデータベースと対話したいと思います。このことを念頭に置いて、ユーザーがアプリケーションから入力した情報をJavaを使用して処理し、JDBCを介してデータベースに伝達できると考えていました。

アプレットを使用してこれを行うことができることは知っていますが、その欠点は、ユーザーがファイルをローカルマシンに保存できるようにすることです。また、アプレットがサンドボックスで実行されるため、アプレットが取得できないことを確認しました。ローカルマシンへのアクセス。

PHPを使用できることも知っていますが、Javaが最適なオブジェクト指向設計を利用したいと思います。

誰かがこれについて最善の方法を決定するのに役立つ可能性のある考え、提案、またはチュートリアル/Webページへのリンクを持っていますか?

どんな考えでも大歓迎です。

4

9 に答える 9

6

Java で GUI をいじりたくないとおっしゃっていましたが、Java Web Start を調べましたか? それはあなたが必要とすることをほぼ正確に行います。ユーザーが Web ブラウザーを介してリンクをクリックすると、アプリケーションがユーザーのマシンにデプロイされ、正しい JVM が使用されているかどうかもチェックされます。これはアプレットではなく完全なアプリケーションであるため、アプリはサンドボックス化されず、プログラムにアクセス制限はありません (通常の Java のもの以外..)。たとえば、簡単です。あなたが言及したことを実行し、mySQL DB と対話します。唯一の欠点は、先ほど述べたように、Java で UI を設計する必要があることです。

Web スタート ウィキペディア ページ

Sun の Web Start に関する FAQ

于 2009-03-14T13:52:28.717 に答える
2

Java EEベースのWeb開発に慣れている場合は、アプリケーションをTomcatまたはJettyにバンドルするだけでよいでしょう。

1つのアプリケーションに対してスタンドアロンサーブレットコンテナを実行したくない場合は、実行可能なJavaアプリケーションにJettyを埋め込むこともできます(ここのドキュメントを参照)。

どちらの方法でも、既存のJava EEフレームワーク(Spring JDBC、Hibernate、これらすべてのWebフレームワーク)を活用して技術的な複雑さを取り除くことができますが、Jettyが組み込まれている場合は、おそらく、選択。

于 2009-03-14T11:04:50.513 に答える
2

Grailsは有用な出発点になる可能性があります。スタンドアロンの Web サーバー ソリューションを提供し、動的に生成された Web ページを介して JDBC 要件と CRUD (作成-読み取り-更新-削除) 機能を処理します。Web ページを介してデータベースとのインターフェースを提供するアプリをまとめるのに、最小限の労力しか必要としません。

(fyi. Grails はRailsに相当する Java です)

于 2009-03-14T12:39:26.643 に答える
1

軽量なレストフレームワークであるRestletを試してみるべきだと思います。このチュートリアルでは、ローカル Web サーバーを起動する方法を示しています。これにより、ブラウザーを介して "Hello World" を数分以内に配信できます (冗談ではありません)。あらゆる種類のニーズに対応する拡張機能がたくさんあります。

アプリケーションをローカル ホストにデプロイして起動できるJava Web Startと組み合わせると、これが必要になるはずです。

于 2009-03-14T12:25:20.157 に答える
0

新しいものなどの実験に興味があり、大量の Java ライブラリ (JDBC を含む) を再利用したい場合は、Scalaベースの Lift Web フレームワークに興味があるかもしれません。

于 2009-03-14T15:21:07.253 に答える
0

アプレットとして実行したい場合は可能です。アプレットに署名し、ローカル ネットワークへのアクセス許可を付与します (その方法で MYSQL サーバーに接続するため)...これは可能です。 ここにチュートリアルがあります。

于 2009-03-14T13:33:17.437 に答える
0

JDBC を使用しても、アプレットを作成する必要はありません。デスクトップ アプリケーション、Web アプリケーション、EJB、MDB など、あらゆる種類のアプリケーションで JDBC を使用できます。

サーバー側でブラウザとJavaを使いたいですか?次に、サーブレット/JSPを使用します。プレゼンテーション フレームワーク ( Wicket、Struts2、Spring MVC など)、データ アクセスにはHibernate、その他の機能と配線には Spring を使用することを検討してください。Grailsも良いアイデアです。

ところで、私は PHP のスペシャリストではありませんが、PHP にはオブジェクト指向の機能 (PHP4 で導入され、PHP5 で拡張) があるため、PHP を選択してもすべてを犠牲にすることはありません。

したがって、それは本当にあなたが何をしたいかによって異なります。Java (webapp またはデスクトップ アプリ) を作成する場合: Java を選択します。いくつかの Web ページをすばやく配置し、Apache サーバーを使用する場合は、PHP を選択してください。本当に高い生産性を求めるなら、RoRまたは Grails を選んでください。

于 2009-03-14T13:07:07.920 に答える
0

誰かがすでに提案したように、アプリケーションに組み込みのjettyサーバーを使用し、ユーザーが何らかのシェルスクリプトまたはバッチスクリプトを使用して起動できるようにします。Java Web アプリケーションとその上で、layour ディレクトリに苦情を申し立てるだけです。すなわち:

私のアプリケーション
   アプリ/
      WEB-INF/
         ライブラリ/
         クラス/
         web.xml
   start.bat |
   start.cmd - クライアント OS によって異なります
   start.sh |

その後、start.[bat|cmd|sh] でアプリを webaplication コンテキストとして使用して Jetty を起動するだけで済みます。

于 2009-03-14T13:59:20.477 に答える
0

GWT + Google Gears を試すことができます

GWT は、ブラウザ用の Swing に似た GUI ツールキットです。Google Gears はブラウザ側のデータベースです。アプリは完全に Javascript で単一の HTML ファイルにまとめられており、クロスブラウザーと互換性があります。

GWT アプリはサーバー呼び出しを行うことができ、Gears はサーバー データベースと同期できます。したがって、アプリ データをローカル デスクトップに完全に制限する必要はありません。

于 2009-03-14T14:54:30.627 に答える