ホームページ > Java > &#&チュートリアル > ページのロード時に JSP からサーブレットを呼び出してデータを表示する方法

ページのロード時に JSP からサーブレットを呼び出してデータを表示する方法

Mary-Kate Olsen
リリース: 2024-12-08 07:08:20
オリジナル
714 人が閲覧しました

How to Call a Servlet from a JSP on Page Load to Display Data?

ページの読み込み時に JSP からサーブレットを呼び出す方法

特定のシナリオでは、JSP ファイルからサーブレットを呼び出す必要がある場合があります。 HTML フォームを使用します。たとえば、ページのロード時にデータベース クエリの結果を HTML テーブルに表示するには、

doGet() メソッドを使用した解決策

サーブレットの doGet() メソッドを使用すると、次のことが可能になります。リクエストの前処理と JSP へのリダイレクト。これを実装する方法は次のとおりです:

  1. サーブレットに doGet() を実装します:

    @WebServlet("/products")
    public class ProductsServlet extends HttpServlet {
        ...
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            ...
            request.getRequestDispatcher("/WEB-INF/products.jsp").forward(request, response);
        }
    }
    ログイン後にコピー
  2. サーブレット データにアクセスするJSP:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    ...
    <table>
        <c:forEach items="${products}" var="product">
            <tr>
                <td>${product.name}</td>
                <td>${product.description}</td>
                <td>${product.price}</td>
            </tr>
        </c:forEach>
    </table>
    ログイン後にコピー

これを実行すると、JSP ファイルは doGet() メソッドでサーブレットによって設定されたオブジェクトにアクセスでき、動的コンテンツ生成が可能になります。

直接 JSP アクセスの防止

セキュリティ上の理由により、 JSP ファイルは、ユーザーによる直接アクセスを防止するために、/WEB-INF フォルダー内に配置する必要があります。

@WebServlet アノテーションには、Servlet 3.0 以降が必要です。古いバージョンを使用している場合は、サーブレットを web.xml ファイルに手動で登録する必要があります。

参考文献

  • [サーブレット Wiki ページ]( https://wiki.java.net/bin/view/Projects/Servlets)
  • [doGet および doPost inサーブレット](https://javarevisited.blogspot.com/2011/05/java-servlet-doget-and-dopost-method-example.html)
  • [Java コードを回避する方法JSP](https://stackoverflow.com/questions/5521006/ways-to-avoid-java-code-in-jsp-in-a-best-practice-manner)
  • [サーブレットは "HTTP を返します"ステータス 404 要求されたリソース (/servlet) は利用できません"]

以上がページのロード時に JSP からサーブレットを呼び出してデータを表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート