Certains mots ne sont pas autorisés à être publiés lorsque nous discutons ou laissons des messages. Nous pouvons utiliser des filtres pour implémenter cette fonction.
Nous utilisons simplement des filtres pour implémenter cette fonction de filtre, et certains endroits ne sont pas écrits en entier
Code de réception:
<body> <form action = "<c: url value = '/ wordservlet' //>" method = "post"> name: <input type = "text" name = "name" /> <br/> contenu du message: </ textarea wows = "10" cols = "10" name = "textarea"> </ textArea> <br/> <entrée type = "soumettre" value = "soumiver" /> </ form>
Code en servlet:
Il suffit de lire les données collectées à la réception. Regardez les mots sensibles dedans, tous filtrent.
Code:
public void doPost (requête HttpServletRequest, réponse httpservletResponse) lève ServletException, ioException {String name = request.getParameter ("name"); // name String text = request.getParameter ("textarea"); // Browse Content Printwriter pw = réponse.getwriter (); pw.println ("name =" + name); // sort directement ici juste pour voir si ces mots clés peuvent être filtrés. . pw.print ("contenu" + texte); }Filtre:
La fonction du filtrage peut être reflétée et le filtre intercepte entre les clients accès au serveur.
Nous savons que les filtres peuvent contrôler la demande et la réponse, afin que nous puissions commencer par cela.
La demande du client est une demande, nous n'avons donc qu'à l'intercepter à mi-chemin et à modifier la valeur à l'intérieur pour atteindre le filtrage. Adopter le modèle de conception d'emballage;
Code de filtre:
Public void Dofilter (ServLetRequest Request, ServletResponse Response, FilterChain Chain) lève IOException, ServletException {httpServletRequest req = (httpServLetRequest) request; MyFilter myf = new myFilter (req); chain.Dofilter (myf, réponse); // demande Caiyong de la classe que nous avons renforcée, passez-la au servlet ultérieur pour une utilisation}Écrivez manuellement une classe MyFilter pour modifier les fonctions que nous devons utiliser.
class MyFilter étend httpservletRequestwrapper {// Ceci utilise le mode wrapper public myFilter (httpservletRequest request) {super (request); } @Override // Écrivez cette méthode publique String getParAmètre (nom de chaîne) {String Words = super.getParAmètre (name); System.out.println (mots); // Filter Text List <string> list = wordutils.getword (); for (String ll: list) {words = words.replace (ll, "*"); // Les mots sensibles sont remplacés par **} des mots de retour; }Afin de faciliter la maintenance, nous avons spécialement écrit un outil pour obtenir un vocabulaire sensible, ce qui est pratique pour l'administrateur à ajouter.
classe publique WordUtils {// Utilisez le mode Singleton Liste statique privée <string> list = new ArrayList <string> (); // Nous pouvons accéder aux mots sensibles stockés dans la base de données à partir de ceci et les encapsuler dans la liste pour retourner static {// ajouter manuellement plusieurs list.add ("scam"); List.add ("jurer"); list.add ("idiot"); } public static list <string> getword () {return list; } public static void addword (name de chaîne) {list.add (name); } public static void Sava () {// Ici, vous pouvez stocker les données dans la liste dans la base de données pour une maintenance facile, et bien sûr, vous pouvez également écrire des ajouts, des suppressions, des modifications et des recherches}Ici, tant que le mot contient, tout deviendra *
rendu;
Résumé: La puissance du filtre est que vous pouvez modifier les objets de demande et de réponse ensemble. Quelle fonction vous devez appeler, nous pouvons modifier la fonction sous la forme d'un modèle de conception d'emballage pour devenir l'effet que nous voulons. Ceci est un peu similaire au modèle de conception proxy.
Ce qui précède est la connaissance pertinente de la méthode d'utilisation du filtre Javaee pour filtrer les mots sensibles qui vous sont présentés. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!