JavaWeb開発プログラム

Java Web開発技術ソリューション

Java Web開発は、フロントエンドとバックエンドに分かれてい
ます。JavaWebフロントエンド:
Webアプリケーションでユーザーが表示および操作できるものです。Webページの構造、Webの視覚的外観、Webレベルのインタラクティブな実現を含みます。
-使用して、メインのフロントエンド開発AJAX / jQueryの/ JS / HTML / CSS など、JS、使用を使用してはJQuery / HTML / CSSなど、開発の効果と対話するため
のJavaのWebバックエンド:
-より多くのバックエンドプロセスは、データベースと対話することです対応するビジネスロジック。考慮する必要があるのは、関数、データアクセス、プラットフォームの安定性とパフォーマンスなどをどのように実現するかです。
バックエンド開発では、Java、SQLステートメント開発を使用して、主にjava / MySQL / Oracleなどを使用します。

Java Webフロントエンド開発フレームワーク:
フロントエンドエンジニアリングフレームワークnodejs、React、ルーター、react、redux、webpack

Java Webバックエンド開発フレームワーク:
SSMとSSH:spring + springmvc / struts + spring jdbc / hibernate / mybatisなど

Javaバックエンドのほとんどのプロジェクトは、
制御層(コントローラー/アクション)、ビジネス層(サービス/管理)、持続性層(dao)の3つの層に分かれています。
コントロール層
は、パラメーターの受信、関連するビジネス層の呼び出し、データのカプセル化、およびjspページへのルーティングを担当します。次に、jspページでさまざまなタグ(jstl / el)または手書きのjava(<%=%>)を使用して、データをバックグラウンドで表示します。
ビジネスレイヤー
ビジネスロジックの実装を担当します。
パーシステンスレイヤー
データアクセスとストレージ

Java Webアプリケーションの動作メカニズム:
mavenやeclipseなどのツールを使用してコードをwarパッケージにパックし、このwarパッケージを本番環境のWebコンテナー(tomcat / jboss / weblogic / websphere / jetty / resin)に公開します。
公開後、Webコンテナーを起動し、サービスの提供を開始してから、ドメイン名やDNSなどを構成します。設計されたWebサイトにアクセスできます
1、ブラウザーにWebサイトのドメイン名(www.xxx.com)を入力します。え?
ブラウザはipを介してサービスにルーティングし、tcp 3ハンドシェイクの後
tcpプロトコルを介してWebサーバーへのアクセスを開始します。Webサーバーがリクエストを取得すると、サービスの提供を開始し、リクエストを受信して​​、レスポンスを通じてレスポンスを返します。ブラウザー

2.上記の実行プロセスは、実装に関して2つのタイプに分かれています。
従来のJava Webプロジェクト開発:
1.クライアントがリクエストを送信し
ます。2。サーバーのサーブレットまたはコントローラーがリクエストを受信します(ルーティングルールはバックエンドによって作成され、プロジェクト開発の焦点は背面にあります)最後に、Webバックエンドには大きな重みがあり、UI、フロントエンドのみが接続されています)
3、サービスを呼び出し、ビジネスロジックを完了するためのdaoコード
4、jspを返す
5、jspは動的コードを表示する

新しいJava Webプロジェクト開発方法
1.ブラウザーがリクエストを送信する
2. HTMLページに直接移動する(ルーティングルールはフロントエンドによって策定され、プロジェクト開発の焦点は前進している)
3. HTMLページは、サーバー側インターフェースを呼び出して(ajaxなどを介して)データを生成します。バックグラウンドはjson形式のデータを返します)
4. HTMLを入力し、動的効果を表示し、ページを解析してDOMを操作します

フロントエンドはcssだけでなく、jsも非常にシンプルです。フロントエンドは、いくつかのフレームワークとツールを使用してフロントエンドプロジェクトを形成します。フロントエンドはプロジェクトレベルで分解されます。フロントエンドもMVCフレームワークが必要で、コンパイル、パッケージ化、およびデプロイする必要があります。複雑に
なるほど、複雑になります。大規模なインターネット企業の場合、より多くのフロントエンドプロジェクトは、バージョン管理、フロントエンドプロジェクトの運用および保守を含むエンジニアリングプロジェクトです。

Java Webプロジェクトでは、jspをできるだけ使用しないようにする必要があります。大規模および中規模のWebアプリケーションほど、フロントエンドとバックエンドの分離が進み、分散アーキテクチャでの作業が増えるため、このようなWebアプリケーションアーキテクチャはより強力になります。
通常の分散アーキテクチャが必要です。逆アセンブル:
Webサーバークラスター(nginx)+アプリケーションサーバークラスター(tomcat)+ファイルサーバークラスター+データベースサーバークラスター+メッセージキュークラスター+キャッシュクラスターなど

新しいJava Webプロジェクト開発メソッドの要求ステップ:
多数の同時ブラウザー要求—> Webサーバークラスター(nginx)—>アプリケーションサーバークラスター(tomcat)—>ファイル/データベース/キャッシュ/
サブモジュールの再生中のメッセージキューサーバークラスター、ビジネスに応じて小さなクラスターに分割すること、コアビジネスをビジネスセンターにカプセル化すること、リモートビジネスコールを再生すること、rpcを再生すること、soaを再生すること、springboot + Dockerを使用してマイクロサービスを再生することで、柔軟な分散型アーキテクチャー

機能:
1.フロントエンドとバックエンドのデカップリングを実現します。フロントエンドサーバーはnginxを使用します。
フロントエンドサーバーは、css、js、picturesなどの一連の静的リソースを配置します(css、js、picturesおよびその他のリソースをAlibaba Cloudのossなどの特定のファイルサーバーに配置し、cdnを使用して高速化することもできます)。
フロントエンドサーバーは、ページ参照の制御、ジャンプ、およびバックエンドインターフェースの呼び出し。
バックエンドサーバーは、Tomcat(アプリケーションサーバーのTomcatをデータプロバイダーとして想定)を使用して、全体的な応答速度を高速化します。バックエンドサービスは一時的にタイムアウトするか、マシンになり、フロントエンドページにも通常どおりアクセスします。ただし、データをブラッシュアウトすることはできません。2。Java
Webプロジェクト開発の分業は明確です。
フロントエンドエンジニア:ページロジック、ジャンプエラー、ブラウザーの互換性の問題、スクリプトエラー、ページスタイルなどの問題に責任があります。
バックエンドエンジニア:インターフェイスデータエラー、失敗したデータ送信、および応答タイムアウトの処理を担当します。
3.同時実行性が高い場合、サーバークラスターを展開することにより、フロントエンドサーバーとバックエンドサーバーを同時に水平方向に拡張できます。バックエンドサーバーの同時実行性の負荷を軽減するために、インターフェイスを除くすべてのhttp要求がフロントエンドnginxに転送されます。
フロントエンドフレームワークは、ページの入れ子、ページング、ページジャンプコントロールなどの機能を解決します。呼び出しインターフェイスは、コントローラーでメソッドを呼び出すことです。ページにいくつかのアクセス許可とその他の関連する検証がある場合、これらの関連データはajaxも渡すことができます。インターフェースから
4 取得します。おそらく、インターフェースを完全に共有できるように、WeChat関連の軽量アプリケーションも必要です。アプリ関連のサービスがある場合は、一部のコードがリファクタリングされている限り、インターフェースを大量に再利用して効率を向上させることもできます。
5.ページに何が表示されていても、非同期に読み込まれるので心配しないでください。

Java Web開発におけるフロントエンドとバックエンドの分離のための技術的ソリューション:
1.フロントエンドはAngularJSを使用してSPA(シングルページアプリケーション)アプリケーションを記述し、バックエンドサーバーはRESTfulインターフェースのみを提供し、完全にステートレスです。
機能:
フロントとバックが完全に分離されているフロントエンドの開発者は、サーバー側で使用されているテクノロジーを気にする必要はありません。インターフェースの説明ドキュメントだけが必要です。
モバイルアプリとPCサイトは同じインターフェイスを共有できます。
「ページ」が多すぎると、SPAアプリケーションのロードが初めて少し遅くなります。

2. NodeJSを使用してWebページをレンダリングし、バックエンドのRESTfulインターフェースを呼び出します。
機能:
バックエンド開発者は、ビジネスロジックの開発に専念できる前後に完全に分離します
例外処理が適切でない場合、NodeJSコードはプロセスを簡単に切断できます。
NodeJSのレイヤーを追加し、ネットワーク伝送のコストを増やし、展開とメンテナンスのコストを増やします

オリジナルの記事を8件公開 Likes2 訪問数494

おすすめ

転載: blog.csdn.net/qq_42003546/article/details/102503068