サーブレットの相互作用プロセス図、サーブレットの一般的な問題、Webプロジェクトの作成の詳細な説明(1)

コンテンツ

1. B/SモードとC/Sモード

C / S:クライアント-サーバー側構造モード

B / S:ブラウザサーバーモジュール構造モード

B / S構造図:

2.Webプロジェクトを作成します

3.サーブレットの実行フローチャートを説明する例:

 4.サーブレットプロジェクトでよくある問題

1.Webプロジェクトの作成時にJavaEEがチェックされていない場合にWebを追加する方法

 2.jarファイルをWebファイルにインポートします

 3.404

デフォルトのパス方法1を設定します。

 デフォルトのパス方法2を設定します。

Four.405

 5.ヌルポインタとNumberFormatException

Six.500

7.中国のエンコーディングエラー

tomcat8の後:

 tomcat8の前:


 

(jdk8バージョンを使用する場合は、tomcat 9以降のtomcatバージョンを使用しないようにしてください。バージョンが一致しないためです)

1. B/SモードとC/Sモード

C / S:クライアント-サーバー側構造モード

利点:クライアントマシンのリソースを最大限に活用し、サーバーの負荷を軽減します。(セキュリティの低いコンピューターストレージタスクの一部はクライアント側にインストールされ、すべてのコンピューティングとリソースをサーバーに配置する必要がないため、サーバーへの負荷が軽減されます)

短所:クライアントメモリを占有し、インストールとアップグレードが必要であり、メンテナンスコストが高い

B / S:ブラウザサーバーモジュール構造モード

利点:すべてのデータがサーバーにデプロイされ、セキュリティが高く、アップグレードとメンテナンスのコストが低くなります。クライアントはインストールを必要としません。

短所:サーバーの負荷が高く、サーバーとクライアントブラウザー間で頻繁にやり取りする必要があるため、ネットワークに負荷がかかります。

B / S構造図:

2.Webプロジェクトを作成します

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form method="post" action="Add">
    ID:<input type="text" name="id"/><br/>
    姓名:<input type="text" name="username"/><br/>
    balance:<input type="text" name="balance"/><br/>
    <input type="submit" value="添加">
</form>

</body>
</html>

package temp;


import Dao.UserDaoImpl;
import bean.User;
import org.apache.commons.dbutils.ResultSetHandler;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

public class AddServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        String userId = request.getParameter("id");
        int id = Integer.parseInt(userId);

        String name = request.getParameter("username");

        String userBalance = request.getParameter("balance");
        double balance = Double.parseDouble(userBalance);

        System.out.println(id);
        System.out.println(name);
        System.out.println(balance);
    }

}

3.サーブレットの実行フローチャートを説明する例:

 4.サーブレットプロジェクトでよくある問題

1.Webプロジェクトの作成時にJavaEEがチェックされていない場合にWebを追加する方法

 

 2.jarファイルをWebファイルにインポートします

web-infにlibを作成します。その中のクラスライブラリは、変更されたモジュールでのみ使用でき、他のモジュールでは使用できません。

libがプロジェクトのディレクトリに作成されている場合:

 

 3.404

アクセスパスが正しくありません。URLを確認してください

デフォルトのパス方法1を設定します。

 デフォルトのパス方法2を設定します。

xml構成ファイルで以下を設定します。

開くデフォルトのページ名を設定する

Four.405

405は、値要求メソッドがサポートされていないことを意味します。たとえば、メソッドがpostであるが、servleがdoPostメソッドを実装していない場合、405エラーが報告されます。

405エラーがどのように報告されるかを説明する

 5.ヌルポインタとNumberFormatException

着信パラメータが空であるためすべて

Six.500

サーバーに内部エラーがあります。このエラーを報告するのは困難です。報告しないでください、ははは

7.中国のエンコーディングエラー

tomcat8の後


        postメソッドの場合のみ:request.setCharacterEncoding( "UTF-8");

 最初の行で実行

 tomcat8の前:


        (1.配信後のメソッドの場合:
            request.setCharacterEncoding( "UTF-8");
        (2.配信の取得メソッドの場合
            1.最初にデータをバイト配列に変換します
            String name = request.getParameter( " name ");
            byte [] by = name.getBytes(" ISO-8859-1 ");
            2.設定されたエンコーディング形式に従ってバイト配列を文字列に変換します
            name= new String(by、" UTF-8 ") ;

 

おすすめ

転載: blog.csdn.net/qq_52655865/article/details/124093567