Mécanisme de réécriture d'URL : Afin de garantir que l'adresse d'une URL soit unique, les paramètres transmis au serveur peuvent être différents à chaque fois. Ici, lors de la mise en œuvre de la fonction de modification du code de vérification, la valeur de la liste de paramètres est modifiée pour être actualisée. Veuillez vous référer à cet article pour le code détaillé
Mécanisme de réécriture d'URL : Afin de garantir que l'adresse d'une URL est unique, les paramètres transmis au serveur peuvent être différents à chaque fois.
Les informations Baotou de la demande de données peuvent être analysées : les informations Baotou incluent le protocole http, l'adresse IP, le numéro de port, le nom du projet et la liste des paramètres de la demande. Si les ressources auxquelles vous souhaitez accéder ne changent pas, vous pouvez les analyser. ne peut modifier que les paramètres du tableau continu.
Lors de la mise en œuvre de la fonction de modification du code de vérification ici, la valeur de la liste des paramètres est modifiée pour être actualisée.
Implémentation détaillée du code :
<%@page import="javax.imageio.ImageIO"%> <%@page import="java.awt.Font"%> <%@page import="java.awt.Color"%> <%@page import="java.awt.Graphics"%> <%@page import="java.awt.image.BufferedImage"%> <%@ page contentType="image/jpeg" language="java" import="java.util.*" pageEncoding="UTF-8"%> <% int w=100; int h=30; BufferedImage bi=new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB); Graphics g=bi.getGraphics(); Color c=g.getColor(); Font f=g.getFont(); Random r=new Random(); Color bg=new Color(150+r.nextInt(100),150+r.nextInt(100),150+r.nextInt(100)); g.setColor(bg); g.fillRect(0, 0, w, h); String code=""; for(int i=1;i<=4;i++){ int num=r.nextInt(10); code=code+num; Color num_c=new Color(r.nextInt(150),r.nextInt(150),r.nextInt(150)); g.setColor(num_c); g.drawString(String.valueOf(num), 20*i, h/2); } request.getSession().setAttribute("code", code); //清空缓存 response.setHeader("pragma", "bo-cache"); response.setHeader("cache-control", "bo-cache"); response.addDateHeader("expires", 0); ImageIO.write(bi, "jpeg", response.getOutputStream()); out.close(); %>
Ajouter une page de connexion :
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.util.*" pageEncoding="UTF-8"%> <%String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>" rel="external nofollow" > <title>My JSP 'login.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" > --> <script type="text/javascript"> function changeimage(){ var d=new Date();//生成时间戳, document.getElementById("img").src="image.jsp?t="+d;//由变化的时间使参数连表发生变化,url重写 } </script> </head> <body> <font color="red">${requestScope.msg }</font> <form action="loginServlet" method="post"> name:<input type="text" name="uname"><br> pwd:<input type="pwd" name="upwd"><br> code:<input type="text" name="code" size="5"><img id="img" alt="" src="image.jsp "><a onclick="changeimage()">换一张</a><br> <input type="submit" > </form> </body> </html>
Profitant du changement d'heure, un horodatage est généré à chaque fois et transmis à l'URL demandée pour atteindre l'objectif de réécriture de l'URL, réalisant ainsi la fonction d'actualisation consistant à modifier une page.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!