teneur
C/S : mode structure côté client-serveur
B/S : mode de structure du module de serveur de navigateur
3. Un exemple pour illustrer l'organigramme d'exécution de la servlet :
4. Problèmes courants dans les projets Servlet
1. Comment ajouter du web lorsque Java EE n'est pas coché lors de la création d'un projet web
2. Importez le pot dans le fichier Web
Définissez la méthode de chemin par défaut 1 :
Définissez la méthode de chemin par défaut 2 :
5. Pointeur nul et NumberFormatException
(Lorsque vous utilisez la version jdk8, essayez de ne pas utiliser la version tomcat de tomcat 9 et supérieur, car la version ne correspond pas)
1. Mode B/S et mode C/S
C/S : mode structure côté client-serveur
Avantages : Tirez pleinement parti des ressources de la machine cliente et réduisez la charge du serveur. (Une partie des tâches de stockage informatique à faible sécurité sont installées côté client, et tous les calculs et ressources n'ont pas besoin d'être placés sur le serveur, ce qui réduit la pression sur le serveur)
Inconvénients : occupation de la mémoire client, installation et mise à niveau nécessaires, coût de maintenance élevé
B/S : mode de structure du module de serveur de navigateur
Avantages : Toutes les données sont déployées sur le serveur, avec une sécurité élevée et de faibles coûts de mise à niveau et de maintenance. Le client ne nécessite pas d'installation.
Inconvénients : le serveur est fortement chargé, nécessitant une interaction fréquente entre le serveur et le navigateur client, ce qui entraîne une charge du réseau.
Schéma de structure B/S :
2. Créer un projet 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. Un exemple pour illustrer l'organigramme d'exécution de la servlet :
4. Problèmes courants dans les projets Servlet
1. Comment ajouter du web lorsque Java EE n'est pas coché lors de la création d'un projet web
2. Importez le pot dans le fichier Web
Créer lib dans web-inf, la bibliothèque de classes qu'il contient ne peut être utilisée que par le module modifié et les autres modules ne peuvent pas l'utiliser
Si la lib a été créée dans le répertoire du projet :
3.404
Le chemin d'accès est incorrect, vérifiez l'URL
Définissez la méthode de chemin par défaut 1 :
Définissez la méthode de chemin par défaut 2 :
Définissez les éléments suivants dans le fichier de configuration xml :
Définir le nom de la page par défaut à ouvrir
Quatre.405
405 signifie que la méthode de demande de valeur n'est pas prise en charge : par exemple, si la méthode est post, mais que le servle n'implémente pas la méthode doPost, une erreur 405 sera signalée.
Expliquer comment les erreurs 405 sont signalées
5. Pointeur nul et NumberFormatException
Tout cela parce que le paramètre entrant est vide
Six.500
Il y a une erreur interne dans le serveur, il est difficile de signaler cette erreur, j'espère que ce n'est pas le cas, hahaha
7. Erreur d'encodage chinois
Après tomcat8 :
Uniquement pour la méthode post : request.setCharacterEncoding("UTF-8");
Exécuter sur la première ligne
Avant tomcat8 :
(1. S'il s'agit de la méthode de livraison post :
request.setCharacterEncoding("UTF-8");
(2. S'il s'agit de la méthode de livraison get
1. Convertissez d'abord les données en un tableau d'octets
String name = request.getParameter(" name");
byte[] by = name.getBytes("ISO-8859-1");
2. Convertissez le tableau d'octets en une chaîne selon le format d'encodage défini
name = new String(by,"UTF-8") ;