ホームページ Java &#&チュートリアル Struts ユーザーおよび開発ガイド (序文 2)

Struts ユーザーおよび開発ガイド (序文 2)

Dec 17, 2016 am 10:55 AM

0.6 プロパティ (PROperties) ファイルとリソース バインディング (リソース バンドル)
多くの Java アプリケーション (Web アプリケーションを含む) は、プロパティ ファイルを通じて何らかの構成を実行することがよくあります。プロパティ ファイルは、Struts フレームワークがアプリケーションにメッセージ リソース リソース バインディングを提供するための基礎となります。

プロパティ ファイルの詳細については、次を参照してください:

「Java チュートリアル」の「プロパティを使用してプログラム属性を管理する」

Java リソース バインディングは、ユーザー ロケール (ロケール) サポートに基づいて、1 つ以上のプロパティ ファイルを通じてユーザーに国際化を提供します。 Struts は、当初からアプリケーションのローカリゼーションを適切にサポートしてきました。

ローカリゼーションとリソースバインディングの詳細については、以下を参照してください:

The Java TutorialのResourceBundleクラスについて

0.7 Java Servlet
Javaはオブジェクト指向プログラミング言語であるため、Java Servletプラットフォーム HTTPをオブジェクトに強制する-指向性のあるフォーム。この戦略により、Java 開発者は、HTTP メカニズムを扱う代わりに、独自のアプリケーションの機能を扱う時間を節約できます。

HTTP は、サーバーを拡張するための基本的なメカニズム、つまり Common Gateway Interface (CGI) を提供します。サーバーは CGI プログラムにリクエストを渡すことができ、CGI プログラムはレスポンスを返します。同様に、Java サーバーはリクエストをサーブレット コンテナに渡します。コンテナはリクエストに対して何らかの処理を行うことも、リクエストを HTTP サーバーに直接返すこともできます。リクエスト サーブレットを登録した後、コンテナはリクエストをサーブレットに転送します。

リクエストが届くと、コンテナはリクエストに登録されたサーブレットがあるかどうかを確認し、一致するサーブレットが見つかった場合はそのリクエストをそのサーブレットに渡します。

コンテナの責任は、サーブレットのライフサイクルを管理し、サーブレットを作成し、サーブレットを呼び出し、最後にサーブレットをリリースすることです。

一般に、サーブレットは [javax.servlet.http.HttpServlet] のサブクラスです。サーブレットは、コンテナが呼び出す必要がある 4 つのメソッドを実装する必要があります:

.public void init(ServletConfig config): サーブレット インスタンスが最初の場合。サーブレット コンテナは、作成時およびすべてのリクエストの実行前にこのメソッドを呼び出します。
.public void doGet(HttpServletRequest request, HttpServletResponse response) このメソッドは、HTTP GET プロトコルを使用してリクエストを処理し、対応する動的応答を生成するために使用されます。 public void doPost(HttpServletRequest request HttpServletResponse response) このメソッドは、HTTP POST プロトコルを使用してリクエストを処理し、対応する動的応答を生成するために使用されます。
.public void destroy() コンテナは、サーブレット インスタンスがサービスを終了するときにこのメソッドを呼び出します。 as when Web アプリケーションがアンデプロイされているとき、またはコンテナ全体がシャットダウンされているとき

Struts フレームワークは、アプリケーション用に既製のサーブレット [org.apache.struts.action.ActionServlet] を提供しています。 Struts アプリケーション開発者として、Struts フレームワークの ActionServlet インスタンスを使用する際、サーブレットの基本知識を理解し、Web アプリケーションでサーブレットが果たす役割を理解することも非常に重要です。

サーブレットの詳細については、次を参照してください。

.java.sun.com の Java Servlet Technology
java.sun.com の Servlet 2.2 および 2.3 の仕様
.Java Web Service Tutorial Java Servlet Technology ;
Java Web Service チュートリアルの Web アプリケーション;

0.7.1 Servlet と Thread

パフォーマンスを向上させるために、コンテナはマルチスレッド サーブレットをサポートしています。特定のサーブレットは 1 つのインスタンスのみを作成し、同じオブジェクトを通じてこのサーブレットに登録された各リクエストを処理できます。この戦略により、コンテナはシステム リソースを最大限に活用できるようになります。同時に、サーブレットの doGet および doPost メソッドのコーディングのスレッド セーフティの問題も考慮する必要があります。

サーブレットとスレッド セーフの詳細については、次を参照してください:

.Java Web サービス チュートリアルの共有リソースへの同時アクセスの制御http://java.sun.com/webservices/docs/1.0/tutorial/doc/ Servlets5 .Html#64386;

0.7.2 サーブレットコンテキスト (Context)

ServletContext インターフェース [javax.servlet.ServletContext] は、実行中のサーブレットが配置されている Web アプリケーションのコンテキスト (または環境) のビューを提供します。サーブレットには getServletConfig() メソッドを介してアクセスでき、JSP ページは暗黙の変数アプリケーション変数を介して取得できます。サーブレット コンテキストは、Struts Web アプリケーションを作成するときに非常に役立ついくつかの API を提供します。

Web アプリケーション リソースへのアクセス: サーブレットは、getResource() メソッドと getResourceAsStream() メソッドを通じて Web アプリケーション内の静的リソース ファイルにアクセスできます。.サーブレット コンテキスト属性: コンテキストは、Java オブジェクトを格納し、文字列値キーを通じてオブジェクトを識別するために使用できます。これらの属性は、Web アプリケーション全体に対してグローバルであり、getAttribute()、getAttributeNames()、および setAttribute() メソッドを使用できます。アクセスするために。 JSP ページの場合、サーブレット コンテキスト プロパティは「アプリケーション スコープ Bean」に相当します。

サーブレット コンテキストの詳細については、次を参照してください。

The Java Web Services Tutorial の Web コンテキストへのアクセス http:// java.sun.com /webservices/docs/1.0/tutorial/doc/Servlets10.html#64724;

0.7.3 サーブレットリクエスト

サーブレットによって処理される各リクエストは、Java インターフェース、通常は HttpServletRequest インターフェース [javax.servlet.http. HttpServletRequest]。このリクエスト インターフェイスは、基になる HTTP リクエストに含まれるすべての情報にアクセスするための一連のオブジェクト指向メカニズムを提供します。リクエストに含まれる名前アクセス HTTP ヘッダーが渡されます。含まれるすべての HTTP ヘッダーの名前を列挙できます。 パラメータ: URL のクエリ文字列 (doGet) に含まれる名前、またはリクエストのコンテンツ (doPost) に含まれる名前によってアクセスできます。 GET または POST メソッドで使用されるプロトコル仕様 (「http」または「https」) など、HTTP リクエストのその他の特性を入力します。
リクエスト URI 情報: 元のリクエスト URL は getRequestURI( ) 方法 。さらに、サーブレット コンテナは、リクエスト URL を個別にアクセスできるいくつかのコンポーネント (contextPath、servletPath、および pathInfo) に解析します。
ユーザー情報: ユーザー管理のセキュリティを使用している場合は、認証されたユーザー名を検索して A を取得できます。現在のユーザーを表すプリンシパル オブジェクト、および現在のユーザーに特定のロールが許可されているかどうか。さらに、サーブレット リクエストは、前述のサーブレット コンテキストの属性と同様に、リクエスト属性 (JSP ではリクエスト スコープ Bean) もサポートします。リクエスト属性は、ビジネス ロジック層とビュー層の間で状態情報を通信するためによく使用されます。ビジネス ロジック層はこれらの状態情報を生成し、ビュー層はこの情報を使用して対応する応答を生成します。

サーブレットコンテナは、特定のリクエストがサーブレットによって別のスレッドで処理されることを保証するため、サーブレットによってリクエストされたプロパティにアクセスするときにスレッドの安全性の問題を心配する必要はありません。

サーブレット リクエストの詳細については、次を参照してください。

Java Web チュートリアルのリクエストから情報を取得するhttp://java.sun.com/webservices/docs/1.0/tutorial/doc/Servlets7.html#64433;

0.7.4 サーブレット応答

サーブレットの主な目的は、入力されたサーブレット要求 [javax.servlet.http.HttpServletRequest] を処理し、対応する応答を生成することです。応答を生成するプロセスは、サーブレット応答インターフェイス [javax.servlet.http.HttpServletResponse] の対応するメソッドを呼び出すことで完了します。 利用可能なメソッドは次のとおりです:

含まれる HTTP ヘッダー情報を設定できます。応答で。最も重要な HTTP ヘッダー情報は Content-Type で、応答本文にどのような種類の情報が含まれているかをクライアントに伝えます。通常、これを text/html タイプに設定することは HTML ページを意味し、text/xml タイプに設定することを意味します。 XML ドキュメントです。
.Set Cookies: 現在の応答に Cookie を追加できます。
.エラー応答を送信します。(通常のページ コンテンツの代わりに) sendErro() を使用できます。他のリソースへ: sendRedirect() メソッドを使用して、指定した他の URL リソースにクライアントをリダイレクトできます

サーブレット応答 API を使用する重要な原則は、ヘッダー情報と Cookie を維持するために呼び出されるすべてのメソッドが全体に存在する必要があることです。キャッシュされた応答コンテンツは、最初の更新がクライアントに提供される前に完了します。その理由は、この情報は HTTP 応答の最初の部分として送信されるため、ヘッダー情報が送信された後にヘッダー情報を追加しようとしても必然的に無駄になるためです。

モデル 2 アプリケーションのプレゼンテーション層を使用する場合、サーブレット応答 API を直接使用して応答を生成することはできません。これは通常、JSP ページを使用して行われ、JSP コンパイラによって JSP ページがサーブレットに変換されます。この JSP サーブレットには、JSP タグによって生成された動的な情報が含まれる場合があります。

Struts ツールの Velocity フレームワークなどの他のプレゼンテーション システムは、応答を生成するタスクを特殊なサーブレットに委任する場合がありますが、原理は同じです。テンプレートを作成すると、動的応答がテンプレートから動的に生成されます。

サーブレット応答の詳細については、次を参照してください:

.ConstrUCting Responses in The Java Web Tutorialhttp://java.sun.com/webservices/docs/1.0/tutorial/doc/Servlets7.html#64531;

0.7 .5 フィルタリング

バージョン 2.3 以降の仕様 (Tomcat 4.x など) のサーブレット コンテナを使用する場合は、新しいフィルタ API [javax.servlet.Filter] を使用して、いくつかのコンポーネントを組み合わせてリクエストを処理し、レスポンスを生成できます。フィルターは実際にはフィルター チェーンの集合であり、各フィルターはリクエストを処理して応答を生成し、処理能力を次のフィルターに渡し、最後にサーブレットを呼び出します。

Struts 1.x系(バージョン1.0、1.1など)はバージョン2.2以前のサーブレット仕様のサーブレットコンテナのみをサポートしているため、Struts自体はフィルターを使用しません。次世代の Struts (2.x シリーズ) は、Servlet2.3 以降の仕様に基づいています。 Struts バージョン 2.x ではフィルターを使用する場合があります。

フィルターの詳細については、次を参照してください:

.Filtering Requests and Responseshttp://java.sun.com/webservices/docs/1.0/tutorial/doc/Servlets8.html#64572;

0.7.6 Session (セッション

上記は Struts ユーザーおよび開発ガイド (序文 2) の内容です。その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) を参照してください


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP モール商品管理システムの設計および開発ガイド PHP モール商品管理システムの設計および開発ガイド Sep 12, 2023 am 11:18 AM

PHP モール商品管理システムの設計および開発ガイド 概要: この記事では、PHP を使用して強力なモール商品管理システムを開発する方法を紹介します。商品の追加、編集、削除、検索などの機能をはじめ、商品分類管理、在庫管理、受注管理などの機能を備えています。この記事のガイドを通じて、読者は PHP 開発モールの商品管理システムの基本的なプロセスとテクニックを習得できます。はじめに 電子商取引の急速な発展に伴い、オンラインでショッピング モールを開設する企業が増えています。モールの中核機能の一つである商品管理システム

PHP 開発ガイド: Web サイトのアクセス制御を実装する方法 PHP 開発ガイド: Web サイトのアクセス制御を実装する方法 Aug 18, 2023 pm 10:46 PM

PHP 開発ガイド: Web サイトのアクセス制御を実装する方法 Web サイトを開発する場合、ユーザー データを保護し、機密情報のセキュリティを確保することが重要です。一般的かつ効果的な方法は、Web サイトのアクセス制御を通じて、さまざまなユーザーのさまざまなページへのアクセスを制限することです。この記事では、PHP を使用して Web サイトのアクセス制御を実装する方法を紹介し、すぐに開始できるようにいくつかのコード例を示します。ステップ 1: データベース テーブルを作成する まず、ユーザー情報と権限を保存するデータベース テーブルを作成する必要があります。以下は MySQL の例です

PHP による CMS システム開発ガイド PHP による CMS システム開発ガイド May 21, 2023 pm 02:51 PM

インターネットの発展に伴い、ウェブサイトは人々が情報を取得しコミュニケーションを図るための重要な手段となっています。ウェブサイトのコンテンツをより適切に管理および維持するために、CMS(コンテンツ管理システム)システムが登場しました。 CMS システムは、一般的に使用される Web サイト構築ツールとして、Web サイトを構築および管理するためのシンプル、高速、効率的な方法を提供します。 PHP は強力なバックエンド言語として、CMS システム開発で広く使用されています。この記事では、PHP での CM について説明します。

PHP WebSocket 開発入門ガイド: さまざまな関数を一緒に実装する方法を探る PHP WebSocket 開発入門ガイド: さまざまな関数を一緒に実装する方法を探る Sep 11, 2023 am 08:12 AM

PHP WebSocket 開発入門ガイド: さまざまな機能を実装する方法を一緒に検討します。 はじめに: インターネットの発展に伴い、リアルタイム通信の重要性がますます高まっています。従来の HTTP プロトコルはリアルタイム パフォーマンスが比較的弱いのに対し、WebSocket プロトコルはより効率的なリアルタイム通信ソリューションを提供できます。 PHP はサーバー側の共通言語として、WebSocket を介したリアルタイム通信機能も実装できます。この記事では、PHPWebSocket 開発の基礎知識といくつかの一般的な知識を紹介します。

PHP および WeChat パブリック アカウント開発ガイド PHP および WeChat パブリック アカウント開発ガイド Jun 11, 2023 pm 03:31 PM

ソーシャル ネットワークで WeChat パブリック アカウントが徐々に普及するにつれて、ますます多くの開発者が WeChat パブリック アカウント開発の分野に関与し始めています。その中で、PHP は一般的なバックエンド プログラミング言語として、WeChat 公開アカウントの開発にも広く使用され始めています。この記事では、WeChat パブリック アカウント開発における PHP の基礎知識と一般的なテクニックを紹介します。 1. PHP および WeChat パブリック アカウント開発の基本 WeChat パブリック アカウントの開発 WeChat パブリック アカウントとは、情報プッシュなどのさまざまな種類のサービスやコンテンツをユーザーに提供できる、WeChat プラットフォームに基づくインターネット アプリケーションを指します。

PHP 開発ガイド: 簡単な友達リンク機能の実装 PHP 開発ガイド: 簡単な友達リンク機能の実装 Jul 03, 2023 pm 05:33 PM

PHP 開発ガイド: 簡単なフレンド リンク機能の実装 フレンド リンクは Web サイトの一般的な機能であり、フレンド リンクを通じて他の Web サイトと相互推薦や相互友人関係を確立し、Web サイトのトラフィックとユーザーのコンバージョン率を向上させることができます。この記事では、PHPを使って簡単なフレンドリーリンク機能を開発する方法を紹介します。データベース テーブルの作成 まず、フレンドリ リンク情報を保存するテーブルをデータベースに作成する必要があります。テーブル構造は、次の SQL ステートメントを使用して作成できます。 CREATETABLE`links`(

PHP Exchange メールボックス開発ガイド: 主要な機能を段階的に実装する PHP Exchange メールボックス開発ガイド: 主要な機能を段階的に実装する Sep 11, 2023 pm 01:00 PM

PHPExchange メールボックス開発ガイド: 主要な機能を段階的に実装する インターネットの急速な発展に伴い、電子メールは人々の日常生活や仕事に不可欠な部分になりました。一般的に使用されるエンタープライズ レベルの電子メール ソリューションとして、Exchange メールボックスは、より強力で安全な電子メール機能を提供します。この記事では、主要な機能を段階的に実装することで独自の Exchange メールボックス システムを構築できるようにするための PHP Exchange メールボックス開発ガイドを読者に提供します。ステップ 1: 構築する

優れたモバイル アプリの構築: Webman のモバイル開発ガイド 優れたモバイル アプリの構築: Webman のモバイル開発ガイド Aug 12, 2023 pm 10:29 PM

優れたモバイル アプリの構築: Webman のモバイル開発ガイド モバイル アプリは、今日のデジタル時代における重要なツールおよびエンターテイメントの形式となっています。スマートフォンの人気とモバイルインターネットの急速な発展に伴い、さまざまなニーズを満たすためにモバイルアプリケーションを利用する人がますます増えています。 Webman (架空のアプリ開発会社) は、モバイル アプリ開発に関して豊富な経験と専門知識を持っています。この記事では、優れたモバイル アプリケーションの構築に役立つ Webman のモバイル開発ガイドを提供します。選択する

See all articles