Java Web (2) JSPの基本文法&フォーム送信方法

 

目次

1.JSPとは何ですか?

2. csとbsの紹介

3. URL の 3 つの構成要素

4. Tomcatのデフォルトのポート番号を変更する方法

5. BS アーキテクチャに基づく動的な Web ページが必要な理由

6.Webページに現在の日付を出力します。

7. Web コンテナが JSP ファイル要求を処理する際に通過する必要がある 3 つの段階

8.jspページ要素

9. ページコマンド

10. jsp ファイル内の 3 つの注釈メソッド:

11. Web 実行時の一般的なエラー

12. JSP 組み込みオブジェクト

13. 登録インターフェース


1.JSPとは何ですか?

JSPはjava+HTML+CSSjsのファイル形式です

JSP は本質的には Java ファイルです

Tomcat は jsp ファイルを Java ファイルに変換します

jvm (Java Virtual Machine) は Java をコンパイル用のクラス ファイルに変換します

2. csとbsの紹介

CS はクライアント (クライアント) とサーバー (サーバー) の間にあり、その主な特徴は、強力な対話性、安全なアクセス モード、低ネットワーク トラフィック、高速応答、大量のデータの処理に適していることです。しかし、この構造のプログラムは的を絞って開発されており、変更の柔軟性が低く、維持管理が困難です。さらに、この構造では各クライアントに対応するクライアントプログラムをインストールする必要があり、配布機能が弱く互換性が悪く、迅速な展開、インストール、設定ができないため、汎用性に欠け、大きな制限があります。

bs ブラウザ(ブラウザ)とサーバー(サーバー)の間には、1 台のサーバー(サーバー)のみをインストールして保守する必要があり、cs と比較して、強力な配布、便利で簡単なメンテナンス、簡単な開発、強力な共有が主な特徴ですが、データセキュリティの問題、サーバーに対する高い要件、データ転送速度の遅さは誰の目にも明らかです。例: ブラウザを介して大量のデータを入力したり、レポートに応答して特殊な目的で印刷したりするのは困難です。複雑なアプリケーション構造を実装するのはさらに困難です。

一般的なCSアーキテクチャ: QQ、WeChat

一般的な bs アーキテクチャ: Baidu

もちろん、一般的なb局のようにcsとbsの両方のアーキテクチャを備えたものもあります。

3. URL の 3 つの構成要素

http(プロトコル)://localhost(ホスト):8080(ポート)

4. Tomcatのデフォルトのポート番号を変更する方法

サーバーをダブルクリックします

 

 クリックして変更します

 ポートの競合が見つかった場合はどうすれば解決できますか?

ポートを変更するか再起動してください

5. BS アーキテクチャに基づく動的な Web ページが必要な理由

プロジェクトを実行する前に

まず、Tomcat サーバーをダブルクリックします。

注: 現在のサーバーでプロジェクトが実行されている場合は、プロジェクトを選択する前にプロジェクトを削除する必要があります。

 次の選択を行います。

保存後、プロジェクトを実行するとき

私たちが書いたプロジェクトは、Tomcat によって Web アプリに移動されてデプロイされます。

次に、webo2 が webapps リリース ディレクトリに表示されることがわかります。これが新しいプロジェクトです。

 

 同時に、作品コンパイル ディレクトリに web02 も追加されます。

 最終的には Java ファイルになります

実行したい場合はクラスファイルになります

 

私たちが書いたコンパイラでは

 

Java ファイルを開きます

 Web ページに記述されたすべてのコードは、out.write() によって Java コードに変換されます。

 これは変換プロセスであり、jsp で記述した jsp ファイルが最終的に Java ファイルになることを意味します。

6.Webページに現在の日付を出力します。

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>web02</title>
</head>
<body>
	<%
			out.print(new Date());
	%>
</body>
</html>

効果は次のとおりです。

 7. Web コンテナが JSP ファイル要求を処理する際に通過する必要がある 3 つの段階

 その中で、各リクエストは初回のみ集計され、2 回目のリクエストで集計されたことがわかりますが、多くの Web ページでは入力に時間がかかることがわかります。初めてではありますが、2 回目にコンパイルされると、以前よりもはるかに高速になります。その理由は、コンパイルされているためです。個人が削除された場合は、再コンパイルする必要があります。

注: JSP ファイルが変更されると、Web コンテナは JSP ファイルを再変換してコンパイルします。

8.jspページ要素

 9. ページコマンド

  • 構文: <%@ ページ属性 1="属性値" 属性 2="属性値 1, 属性値 2"...属性 n="属性値 n"%>
  • ページ内に複数のプロパティを設定して、ページ全体のプロパティを定義します。

      属性

説明

デフォルト

言語

JSPページで使用されるスクリプト言語を指定します。

ジャワ

輸入

この属性を使用して、スクリプト言語で使用されるクラス ファイルを参照します。

なし

コンテンツタイプ

JSPページで使用されるエンコード方式を指定するために使用されます。

テキスト/html、 

ISO-8859-1

10. jsp ファイル内の 3 つの注釈メソッド:

  •  HTML コメント: <!-- html comments -->短所: 安全ではない、ネットワーク送信の負担が増加する
  •  JSP コメント: <%-- JSP コメント--%>
  •  JSP スクリプト内のコメント: <% //単一行コメント%> <% /*複数行コメント*/ %>

11. Web 実行時の一般的なエラー

  • Tomcat サービスが開始されていないか、予期されたポートで Tomcat サービスが開始されていません -> Tomcat が正常に実行されているかどうかを確認してください
  • WebアプリケーションをデプロイせずにWebプログラムを実行してみる -> Webアプリケーションが正常にデプロイされるか確認する
  • 実行時に URL が正しく入力されていない -> URL パスを確認してください
  • ファイルがWEB-INF、META-INFなどのフォルダに置かれている場合など、ファイルが格納されているディレクトリを外部から参照することはできません → ファイルの格納場所を確認してください

12. JSP 組み込みオブジェクト

  • JSP 組み込みオブジェクトは、Web コンテナによって作成されるオブジェクトのセットです。
  • JSP組み込みオブジェクトの名前はJSPの予約語です
  • JSP 組み込みオブジェクトは、インスタンスを取得するために「new」を使用せずに、JSP ページ内で直接使用できるオブジェクトです。

例えば:

 新品無しで使用可能です。

一般的な組み込みオブジェクト

 一般的なリクエスト方法

          メソッド名

            説明する

文字列 getParameter(文字列名)

ページフォームコンポーネント名に従ってページ送信データを取得します

String[ ] getParameterValues(文字列名)

ページフォームコンポーネントが複数の値に対応する場合、ユーザーのリクエストデータを取得します 

void setCharacterEncoding(文字列文字セット)

各リクエストのエンコーディングを指定し、getParameter()を呼び出す前に設定することで中国語の文字化けの問題を解決できます

文字列 getRemoterAddr()

リクエストを送信したクライアントの IP アドレスを返します。

 コード表示

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<h1>这是处理登录请求的界面</h1>
<%
//内置用户: sa  123

//获取到用户提交的表单信息
String username = request.getParameter("username");//请求中获取数据
String password = request.getParameter("password");//请求中获取数据

//从请求中获取数据(类型全部是string,必须自己做转换)
String age = request.getParameter("age");
out.print(username + "-" + password + "-" + age);

String ts[] = request.getParameterValues("habit");//接收到多个具备相同name的值
//遍历
String my_habit = "";
for (String habit : ts) {
	System.out.print(habit);//显示在控制台
	my_habit += habit + ",";//字符串拼接
}

//存在数据库中应该为一个数据
out.print(my_habit);
my_habit.split(",");

//用于做登录验证
if ("sa".equals(username) && "123".equals(password)) {
	out.print("登录成功");
} else {
	out.print("登录失败");
}
%>



13. 登録インターフェース

<form name="form1" method="post" action="reginfo.jsp">
    <table border="0" align="center">
      <tr> <td>用户名</td><td> <input type="text" name="name"></td></tr>
      <tr><td>密码</td><td > <input type="password" name="pwd"> </td></tr>
      <tr> <td>hello world</td><td> 
          <input type="checkbox" name="channel" value="报刊">报刊 
          <input type="checkbox" name="channel" value="网络">网络 
          <input type="checkbox" name="channel" value="推荐"> 推荐 
          <input type="checkbox" name="channel" value="电视"> 电视
        </td></tr>
       <!-- 以下是提交、取消按钮 -->
       <button>提交</button>
    </table>
</form>

情報読み取りインターフェース

<%
	//读取用户名和密码
	String name = request.getParameter("name");
	String pwd = request.getParameter("pwd");
	//读取复选框选择项
	String[] channels = request.getParameterValues("channel");
	if (channels != null) {
	         for (int i = 0; i < channels.length; i++) {
	out.println(channels[i]);
	          }
	}
%>

14. 中国語の出力が文字化けする場合、問題を解決するにはどうすればよいですか?

ページ開発中には複数の文字セットのエンコーディング設定がありますが、ページで中国語の文字をサポートする文字セットを設定するだけで済みます。好き:

request.setCharacterEncoding("UTF-8");	

今日のシェアはこちらです!

おすすめ

転載: blog.csdn.net/m0_67376124/article/details/123768013