Servlet/JSP、MySQLでwebチャットを趣味で作っています

このQ&Aのポイント
  • Servlet/JSP、MySQLを使用して趣味のWebチャットを作成しています。入室や書き込みの処理はできていますが、チャット参加者やROM人数の表示方法について悩んでいます。
  • 具体的には、アクセスした人のIPをデータベースに登録し、データベースから参加者の名前と人数を読み出して表示する方法を考えています。しかし、頻繁なデータベースアクセスが悩みの一つです。
  • サーブレット/JSPの知識が限られており、一般的な方法もわかりません。丁寧な解説をしていただけると助かります。
回答を見る
  • ベストアンサー

Servlet/JSP、MySQLでwebチャットを趣味で作っています

Servlet/JSP、MySQLでwebチャットを趣味で作っています。 入室、書き込みなどの処理は出来たのですが、CGIチャットなどにあるようなチャット参加者、ROM人数の表示方法がわかりません。 例えば、 アクセスした人のIPをすべてデータベースに登録し、その中からチャット参加者の名前、人数を読み出して参加者として表示する。 一定時間アクセスの無いIPをデータベースから削除し、残った人から参加者の人数を引きROM人数とする。 という方法を考えましたが、データベースへのアクセスが頻繁になってしまう気がして悩んでいます。 サーブレット/JSPの知識はそれほどなく、ネットにもサンプルが乏しいため、一般的な方法も良くわかりません。 どなたか丁寧な解説をしていただけると助かります。 よろしくおねがいします。

  • Java
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

そのくらいなら ServletContext に格納してしまえば?

関連するQ&A

  • JSP、Servlet、設計について

    今回Webアプリの設計を行っていますが、そこで発生した疑問について質問させて頂きます。 このアプリは、大きく分けてログイン画面とメイン画面の二つがあり、各メイン画面ではフレーム部分と内側の部分が存在し、各メイン画面のフレーム部分のデザインは統一したいと思っています。 また、出来るだけMVCモデルを守り、スプリクトレットはできる限り用いず、カスタムタグは使用せず、JavaとServletが理解できれば全体が把握できるような形にしたいと思っています。 ○疑問1 メイン画面のデザインを統一させるためにどのような流れにするか? ・案1 サーブレット、フレーム部分のjsp、内側のjspのファイル、この3つをメイン画面の各機能分作る。 サーブレットで要求を受け、フレーム部分jspにフォワードし、フレーム部分jspから内側jspをインクルードする。 ・案2 サーブレット、フレーム部分のjsp、フレームからインクルードするファイルを決める分岐用サーブレット、この3つを一つづつ作り、内側のjspファイルを各機能分作る。 サーブレットで要求を受け、フレーム部分jspにフォワードし、フレーム部分jspから分岐用サーブレットをインクルードし、分岐用サーブレットから内側jspをインクルードする。 ・考察 案2では、フレーム部分jspを一つに限定できるのでそちらのほうが良いように思えますが、流れが若干複雑になります。案1ではシンプルですが、フレーム部分jspファイルが複数できてしまいます。 機能によっては、サーブレットとJSPがお互いを呼び出すような事が5回ぐらいネストされると思います。 このようなやり方が普通なのか、判断できません。 ○疑問2 ログイン情報を用いた動的メニューを、メイン画面で共通のフレームに追加したい。 ・案1 ViewHelperパターン?のような形にする 一例 <jsp:useBean id="menu" scope="request" class="MenuBean" /> <%= menu.getMenu() %> サーブレットでMenuBeanにログイン情報を設定し、JSPからメニューのHTMLを構成したStringを返してもらう。 ・案2 Servletにする <jsp:include page="MenuServlet" /> JSPからインクルードされたMenuサーブレットで、ログイン情報を取得してメニューのHTMLを構成し、out.printlnする。 ・考察 案1はサーブレットでMenuを作成しなくてはならず、一つ手間が増える。案2は、コントローラであるはずのServletでout.printlnしなくてはならないので何か違和感がある。(他のサーブレットでは、out.printlnする箇所は全くない) どちらが良いのか、または別の方法があるのか。 Servletで実現できるならViewHelperの用途とは何か? よろしくお願い致します。

  • JSP URLに表示される拡張子 .jsp

    Servlet、JSPの開発を行っているのですが・・・ ページを表示する際のアドレスに「http://hogehoge/test.jsp」とJSPの拡張子が表示されると思うんですが、この拡張子を表示させずにアクセスする方法はあるでしょうか? サーバー:Apache 2.2.3 Tomcat:Apache Tomcat 5 OS:CentOS 5 自分で考えた方法 ・ApacheのProxy設定でJSPファイル一つずつ設定していく ・JSPファイルへのアクセスに対してもサーブレットを介して、dispacher.forward(request, response)を使う。 ※forwardだったらサーブレットのアドレスのままになったので。 どちらも結構面倒なんですが・・・他に方法はあるでしょうか?

    • ベストアンサー
    • Java
  • チャットの作成

    Javaでチャットを作ろうと思います。ブラウザ上で動作するもので、Servlet + JSP + Beansを用いて作成しようと思っています。たいていはjavaアプレットで作成したものが多いのですが、サーブレットで作成したいと思ってます。どなたか作成方法などのアドバイスをよろしくお願いします。

  • Servlet+JSPを使ったWEBアプリ構造について

    現在TOMCAT6.xにて生産管理システムの前段として在庫管理システムを開発しようとしています。雛形等は無く1から作成していこうと思っているのですが、システム全体の構造をどのようにするか結論が出ていない状況です。別の開発で行った構造をベースにしようかとも考えてもいます。プロジェクトメンバーと話し合った結果、2つに分かれました。 でも共通部分は同じ所があり、MVC構造(本来とは違うかもです)という所までは一緒です。 その2つの案とは、 (1)1つの機能毎(若しくは画面単位)に1つのコントローラー(サーブレット)を持たせ、そのサーブレットからモデルのインスタンス化及びDBへのアクセス(ここはもしかしたらマネージャークラス、若しくはDAOを持たせてそこで処理)を行ったり、結果をレスポンスするJSPを呼び出したりする方法。 (2)1つのサーブレットだけ作成し、そこからJSPを直ぐに呼び出し、JSPにてモデルやDBへアクセスしたりするDAO及びマネージャクラスの生成をし業務処理した後、そのJSP上で結果を返す方法(要はFrontControllerパターン)。 これは、今回に限らず他のシステムではどのような構造になっているのか、とても興味があります。 (1)がベストなのか(2)がベストなのか、はたまた「うちのシステムでは、こっちのほうがトレンドで用いてますよ」というご意見を頂ければ助かります。 本来なら、私が知っている限りの中で(1)と(2)のメリットとデメリットを書くべきかと思いますが、素のままのご意見をいただければと思います。 宜しくお願いします。

    • ベストアンサー
    • Java
  • jsp/サーブレット

    jsp サーブレットを勉強しています。 jspに入力された値を サーブレットに投げます。 サーブレットからjavaクラスに値を投げて javaクラスで値が正しいかどうかを判断します。 その結果をサーブレットに投げて、 サーブレットからjspに投げて jspで結果を表示する。というのは理解できました。 しかし私が行いたいのは、 クライアントがjspにアクセスしたときに、 javaクラスにある値をjspに表示させたいというものです。 この場合はサーブレットに何も投げるものがないのですが、 jsp→サーブレット→javaクラス→サーブレット→jsp このようにサーブレットを使って表示させるには、 どのようなプログラムを書いたらいいのでしょうか。 わかりにくい説明で大変申し訳ないですが、 具体的なプログラムを教えていただけるとありがたいです。 また、参考になりそうなURLがありましたら教えてください。 よろしくお願いします。

  • JSPのバージョン

    現在使用している、jsp,servletのバージョンを確かめるのはどうしたらいいのでしょうか? java -version みたいな感じで確かめる方法があれば、教えてください。 Tomcat4.1.27をインストールする際にservlet2.3,JSP1.2みたいな事が書いてあったので そうなんだなぁ。という知識くらいしかありません。 あと、JDK、Tomcat等JSPサーブレットコンテナ?のそれぞれのバージョンと 上記のバージョンの関連表みたいなものがわかるサイトがあれば、教えてください。

  • データベース、jsp、servlet、JavaBeans・・

    データベース、jsp、servlet、JavaBeans・・ 授業で勉強しはじめた者です。 そもそも、データベースの概念がわかりません。データベースには沢山のデーターがあって、 それがテーブルになっている。それをsqlを使って書き換えることができる。 でも、元のデータは書き換えることはできない。 デスクトップに表示されるのは、命令にたいする処理であって元はそのままになっている。 と言うことは、例えばデーターベースという宇宙があるとして、その中にデータが星のように散らばっているのでしょうか? そして、元のデータを書き換えるにはどうすればいいのでしょうか? CELECT文などで書き換えられたデータはその時だけ? よくわかりません。自分の勉強不足だと承知の上どなたかご回答よろしくお願いいたします。

    • ベストアンサー
    • Java
  • JSPからサーブレットを呼び出す際に404エラー

    現在、tomcatでサーブレット/JSPの勉強をしています。 参考書に載っている、jspの入力画面で入力した値をサーブレットで受け取り、そのまま表示させるようなサンプルを作成しています。 JSPの入力画面は表示できるのですが、値を入力してサーブレットに移動する際、404エラーが出てしまいます。 ・ファイルの配置 basic |-input |...|-echo.jsp |-WEB-INF |...|-src |......|-input |.........|-EchoServlet.java |...|-classes |......|-input |.........|-EchoServlet.class |...|-web.xml ・echo.jsp内のサーブレットのパスに関する記述 <FORM ACTION="../servlet/input.EchoServlet"> ・web.xmlの記述 <servlet> <servlet-name>EchoServlet</servlet-name> <servlet-class>input.EchoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>EchoServlet</servlet-name> <url-pattern>/servlet/EchoServlet</url-pattern> </servlet-mapping> tomcatの/confのinvokerのコメントは外していません。 過去の質問も調べてみて、上記の記述の辺りがおかしいのではないかと 思うのですが、、お気付きの点がありましたら教えて頂けないでしょうか。

    • ベストアンサー
    • Java
  • JSPとサーブレットとBean

    とある参考書には サーブレットからBeanを呼び、Beanからデータベースに接続して JSPで表示する。と書かれています。 しかし、とあるサイトには JSPファイルだけでデータベースに接続できるソース、 Beanを使用しなくてもデータベースに接続できるというソースが書かれていました。 Beanとは一体何なのでしょうか。と思うようになりました。JSPやサーブレットで接続することができるのであれば、Beanは不要なのでは?と思っています。 今、「Beanはデータベースに接続するだけのもの」としか理解できてなく、いまいちはっきりとしません。 Beanとは一体何なのでしょうか。 意見や参考できるサイトを教えていただけませんか、 よろしくお願い致します。

    • ベストアンサー
    • Java
  • JSPよりMySQLへ接続する

    jspよりMySQLへ接続しようとすると、以下のエラーがでます。 解決方法をお教え下さい。 メッセージ: javax.servlet.ServletException: Cannot create PoolableConnectionFactory (Data source rejected establishment of connection, message from server: "Host 'localhost.localdomain' is not allowed to connect to this MySQL server") 環境: Red Hat Linux 9 tomcat 5.5.4 MySQL 4.1.7