2011-01-02 4 views
2

私は多くのテクノロジーを模索していますが、どのWebフレームワークでこれを最も簡単に/最も可能にするかについてのご意見をお待ちしています。私は現在、JSP/JSF/Primefacesを探していますが、このアプリが可能かどうかはわかりません。このWebアプリケーションを作成できるWebプログラミング言語は何ですか?

ここでアプリの基本的な説明です:

  1. ユーザーが(多分私は何とかのOpenIDを組み込むことができます)自分のユーザー名とパスワードでログインしますか?

  2. 本当に素敵なUIで、「料理」など、特定のカテゴリに特有の大きな質問リストが表示されます。 (私はこのリストを手作業でコンパイルして利用可能にします)。

  3. これらの質問のいずれかをクリックすると、小さな入力ボックスが開き、ユーザーがリンク/ URLを入力できるようになります。
  4. URLに入力されたリンクのURLが指し示すWebページで同じ質問がある場合、1つのポイントが与えられます。この質問が消え、正しくリンクされたすべての質問のリストを持つ別のページに追加されます。
  5. 画面の右側には、トップ10ポイントのユーザーのユーザー名を含むリーダーボードがあります。

アイデアは比較的単純です。多くの人が貢献できるようにすることで、特定の質問について外部のWebサイトへのリンクをコンパイルできるようにするのは比較的簡単です。

私はPrimefaceを使用して簡単にUIを構築できます。 [B] JSP/JSFが特定のURLでHTMLを解析して単語が含まれているかどうかを確認できるかどうかはわかりません[/ B] urllibを使って簡単にPythonでこれを行うことができますが、 Web GUIの構築にはPythonを使用しません(これは非常に難しい)。最善のアプローチは何ですか?

ご迷惑をおかけしますようお願い申し上げます。ありがとう!

+6

質問:上記のWebフレームワークと言語の組み合わせで*解決できないものはありますか? –

答えて

4

最良の方法は、あなたに最適な方法です。 Pythonがあなたの強みではなくJavaである場合は、Javaを使用します。 Pythonのエキスパートで、Javaの知識がほとんどない場合は、Pythonを使用してください。

非常に多くのプラットフォームをサポートしているインターネット上のリソースは非常に多く、その決定は本当に最適なものになるでしょう。

+0

これはJSP/JSF&PrimeFacesで可能ですか?もしそうなら、それらの技術を使ったURL解析に関するドキュメントはどこにありますか? – PythonNewbie2

+0

JavaのJavadocを確認してください。 URLは単なるStringであり、任意のString解析関数で解析できます。 http://download.oracle.com/javase/6/docs/api/java/lang/String.html – jmort253

+0

ありがとうございましたが、実際にはURLのWebサイトにアクセスし、そのページを解析して質問。たとえば、ユーザーが自分のアプリで「What web programming languages ...」という質問をクリックし、http://stackoverflow.com/questions/4577414/what-web-programming-languages-are-capable-of-を入力した場合、このWebアプリケーションを答えとして、WebアプリケーションはStackoverFlowに行き、HTMLを解析して "What Web Programming Language"という文字列を見つけてブール値を返すことができるかどうかを調べる必要があります。もともと不明なことにごめんね。 – PythonNewbie2

2

まずはJSP/JSFについて忘れてください。これは多くの問題を抱えていた古い組み合わせです。 Facelets/JSFについて考えてみてください。現在のバージョンのJSFではFaceletsがデフォルトのテンプレート言語ですが、JSPは下位互換性のためにのみ存在します。

JSP/JSFが特定のURLでHTMLを解析して単語が含まれているかどうかを確認できるかどうかはわかりません。

実際のデータのフェッチとその内容の解析は、プレーンなJavaコードで行われますが、これは可能です。これ自体はJSF APIとは関係ありません。

JSFでは、UI(入力フィールド、ボタンなど)を含むFaceletを作成します。それでも、JSFを使用して、これをいわゆるバッキングBeanにバインドします。これは主に通常のJavaクラスであり、1つまたは2つのJSF固有のアノテーション(たとえば@ManagedBean)が適用されています。

ユーザーがURLを入力してボタンを押すと、JSFはJavaクラス(バッキングBean)でアクション・メソッドをコールします。このアクションメソッドでは、ユーザーが入力したURLにアクセスできるようになりました。ここからプレーンJavaコーディングが開始され、JSFの詳細が終了します。 URLを取得し、必要な解析を個別のヘルパークラス(懸念の分離)で行うコードを置くことができます。また、バッキングBeanに直接自由に組み込むこともできます。選択はあなた次第です。

私たちは非常にジュニアなプログラマーを雇っていましたが、私たちのオフィスではJSFを使用して、あなたがここで要求しているものと変わりはなく、短時間で成功しました。したがって、実際にはそれほど難しくはありません;)

+1

これはすばらしい答えです!とても助けてくれてありがとう!私は15の担当者がいたら、私はあなたの答えをupvoteだろう。 JavaでリモートURLにアクセスする例を教えてください。ありがとう! – PythonNewbie2

+0

準備が整っていない例はありますが、それほど難しいことではありません。基本的にURLのような何かURL =新しいURL( "http://example.com"); UrlConnection connection = url.openConnection(); connection.connect(); InputStream input = connection.getInputStream();これはうまくいけば、あなたを始めさせるのに十分だろう。これらのクラスのJavadocを参照して、そこから作業してください。 –

1

あなたが望むのはウェブテクノロジーではありません。特定のURLで見つかったドキュメントを解析することは、Webインターフェイスを構築する範囲外です。

しかし、JavaのWebテクノロジのそれぞれは、JVM上で実行される豊富で多様な(あまりにも豊富ではなくても多すぎるとはいえ)一連のライブラリとフレームワークに制限なくアクセスできます。あなたが何かをするためのライブラリがあれば、利用可能なJavaバージョンが存在するということを、あなたは安全に言うことができます。ドキュメントのダウンロードや解析には、標準ライブラリで利用可能なもの以上のものは必要ありません(依存関係の注入や問題のクロスカットを主張している場合を除く).JSP、JSF/Primefacesなどでプロジェクトを行う上で問題はありません。

あなたは既にPythonを知っていると主張しているので、とにかくHTML/CSSを追加する必要があるので、私はDjangoを試してみることをお勧めします。それは死んでシンプルで、OpenIDプラグインのセットがあり、自由に管理インターフェースを提供します(最初のリンクセットでポンプをプライミングすることができます)。

+0

ありがとう!私はDjangoを見ていきます。 – PythonNewbie2

関連する問題