JSPのメソッドサイズ制限について

このQ&Aのポイント
  • JSPのメソッドサイズ制限について知りたいです。
  • JSPではメソッドのサイズが64Kバイトを超えることはできません。
  • JSPでのメソッドサイズ制限対策には、コメントや空白、改行を減らす、動的includeを使用して分割する、beanで処理できる部分を作成する、<%! function(){} %>で別のメソッドを作成する、またはservletで作成する方法があります。
回答を見る
  • ベストアンサー

JSPのメソッドサイズ制限について

JSPを初めたばかりで、基本的なこともよくわからなくてどなたかお教え願えないでしょうか Eclipseを操作しながら作成しています 今回複雑な計算処理のJSP(form文のactionで実行)で作成する予定で、メソッドが64Kバイトを超えることが想定されます JSPでは、64K バイトを超えるサイズのメソッドの生成出来ない記載と、 jspのメソッドの行数が,コメントおよび空行を含めて1000行を超える場合が発生する記載を見つけました 下記対策が有るようですが、jspではどの方法とるのがよいかですか   1.jspのスリム化には     (a)コメント、スペース、改行を減らす     (b)動的includeを使用して分割する        変数の引き渡しが必要で単純に分割出来ない     (c)beanで処理できる部分を作成        Eclipseでの作成方法の手順があるとたすかります (d)<%! function(){} %>別メソッドを作成        この方法は正しいかわかりません   2.jspでなくてservletで作成する        

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

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 そうそう64KBを超えることは無いと思いますが、JSPの制限というよりはJavaの制限ですので 2.のサーブレットで作成も同じ制限がかかります。 (HTML出力部分も含めるとJSPのほうが超えやすくなると思いますが) 個人的にはサーブレットで作ってしまいます。 あとはメソッドをうまく分割したりクラス設計をきちんとしたりでしょうか。

oooooooos
質問者

補足

早急にご回答頂きまことのすみません 今日サーブレットをようやく動かせて、JSPのテストプログラムと 同じ動作が出来ましした。 サーブレットで開発を進めます。 64Kを超えるプログラムは、複雑な技術計算をする為のものです わからないことが多く大変助かります。

関連するQ&A

  • jsp 動的テーブルについて

    現在jspでServletのO/R マッパーを使用しSQL文の結果をMapListでセットしそれをjspへリクエストを 送りjspで全件表として表示させようとしています。 件数によってテーブルの行数も増え また行数がある一定の行数まで増えたら~ っといった処理を作成するにはどのようにテーブルを作成したらいいのでしょうか?

  • ServletからJSPに遷移させた後もServletに制御を戻したいんですが

    Java初心者です。宜しくお願いします。 現在、ServletからJSPに対してIncludeまたはForward した後にServlet側にて処理を継続させる方法が ないか調べています。 Forwardは×かなというところ まではわかったのですがIncludeで行った場合 Servlet → JSPに遷移させた後に呼び出し元の Servletに制御を戻す事は可能でしょうか。 また、一般的な方法がありましたらご教授お願いします。 宜しくお願いします。

    • ベストアンサー
    • Java
  • EclipseでServlet/JSP

    エクリプス2.0.2を使っていますが、Servlet/JSPを使った開発でひとつ疑問があります。 ちなみに、 http://www.atmarkit.co.jp/fjava/rensai2/eclipse03/eclipse03.html で各種設定いたしました。 JSPを作成するのは問題ないのですが、 Servletのクラスを作るときに、新規→クラスで、ソースフォルダがプロジェクト名か、j2srcのどちらかしか選択できません。コンパイルして、そのクラスをclassesに移動してやりましたが、それを実行するときに、 http://localhost:8080/myWeb/servlet/Hello とすると、Helloクラスをダウンロードするような形になってしまうのです。URLはなんパターンか変えてやってみましたが、できません・・・。 どうすればうまくサーブレットを作って実行できるのでしょうか? 宜しくお願いします。

  • RequestDispatcher.forwardメソッドで遷移する際のURL

    お世話になります。 JSP/サーブレットを使用してwebアプリケーションを作成しています。 タイトルの通りRequestDispatcher.forwardメソッドで遷移する際のURL についてうまくいかず、原因がわからない為質問させて頂きます。 ご教授宜しくお願い致します。 Aproject/jsp/login.jsp Aproject/jsp/top.jsp Aproject/WEB-INF/src/servlet/Login.java という3つのファイルを使用しています。 login.jspにて<form action="../Login" method="post">で Login.javaサーブレットにIDとパスワードを渡し、 サーブレットで認証を行ったあと RequestDispatcher.forwardメソッドにて以下のように 遷移するようになっています。 RequestDispatcher rd = request.getRequestDispatcher("./jsp/top.jsp"); rd.forward(request, response); 遷移はうまくいくのですが、top.jspが表示される時のURLが http://localhost:8080/Aproject/jsp/top.jspとなるはずが、 http://localhost:8080/Aproject/Login となってしまいます。 web.xmlの記述は <servlet> <servlet-name>Login</servlet-name> <servlet-class>servlet.Login</servlet-class> </servlet> <servlet-mapping> <servlet-name>Login</servlet-name> <url-pattern>/Login</url-pattern> </servlet-mapping> としています。 forwardメソッドではなく、sendRedirectメソッドを使用した場合 http://localhost:8080/Aproject/jsp/top.jsp とうまくいきます。 どのような原因が考えられますでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • Java
  • サーブレットからJSPの呼び出しについて

    こんにちは。 JSPの呼び出しについて質問です。 サーブレットで RequestDispatcher dispatcher = req.getRequestDispatcher("/jsp/java.jsp"); dispatcher.include(req, res); としてJSPファイルを呼び出そうとしているのですが、うまくいきません。コンパイルは通ります。 dispatcher.include(req, res); の部分で例外処理にいってるのでそこがおかしいようですが。urlの指定もjspファイルの内容も何度も確認したのですがミスはないみたいで原因がわかりません。 またTomcatのログファイルlocalhost_logを見ると 2002-07-11 16:05:35 ApplicationDispatcher[/DB] サーブレット jsp のServlet.service()は例外を投げました という文が出力されています。

    • ベストアンサー
    • Java
  • eclipseでのJSPのデバッグ方法について。

    eclipseでのJSPのデバッグ方法について。 eclipse3.5を利用しています。 こういうことはできますでしょうか? 1.JSPからサーブレットに作成されたjavaファイルをeclipse上で参照。 2.1のjavaファイルにブレークポイントを設定してデバッグ。 eclipseのサーバビューでTOMCAT5.5を新規作成して動かしています。

    • ベストアンサー
    • Java
  • JSPとServletの連携

    JSPからServletを呼ぶ方法がわかりません。 例えばログインの一連の動きとしては、 一番初めにログイン画面があって、 それからユーザIDとパスワードが一致するか判断するためにservletを呼んでクラスで処理して、 一致したらメニュー画面、一致しなかったらもう一度ログイン画面に遷移するんですよね? 一番初めにJSPからservletを呼ぶにはどこでファイル名を指定したらいいのでしょうか?

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

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

    現在、tomcatとeclipseでサーブレット/JSPの勉強をしています。 参考書に載っている、jspの入力画面で入力した値をサーブレットで受け取り、そのまま表示させるようなサンプルを作成しています。 JSPの入力画面は表示できるのですが、値を入力してサーブレットに移動する際、404エラーが出てしまいます。 ■eclipseのパッケージエクスプローラー basic |-WEB=INF/src |..|input |...|EchoServlet.java |-WEB-INF |..|web.xml |.|echo.jsp (WEB-INF直下に作成) ■echo.jsp内のサーブレットのパスに関する記述 <FORM ACTION="/servlet/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> ■EchoServlet.javaの記述 package input; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class EchoServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String msg = request.getParameter("message"); response.setContentType("text/plain; charset=Windows-31J"); PrintWriter out = response.getWriter(); out.println("message=" + msg); } } お気づきの点がございましたらご査収の程よろしくお願いいたします。

  • 取得したデータをJSPに渡したい

    はじめまして。現在以下の処理をするwebアプリを作成しています。 html(検索条件の入力)    ↓ servlet(データベース接続・検索)    ↓ jsp(検索結果の表示) 現在は検索結果(ResultSet)をそのままrequestにセットしjspに渡しているのですが,この方法でいいのでしょうか? また,一般的な方法が分かれば教えていただけると幸いです。 質問内容に不備があれば補足させていただきます。よろしくお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう