이 예제는 참조에 대한 Java 구현 로그인 검증 코드의 특정 코드를 공유합니다. 특정 내용은 다음과 같습니다
1. ValidAcode.java
import java.awt.color; import java.awt.font; import java.awt.graphics; import java.awt.image.bufferedImage; import java.io.ioexception; import java.io.outputStream; import java.util.randcom; import javax.imageio.imageio; org.springframework.stereotyp.service;/*** 로그인 검증 코드**/public class validatecode {/*** verification code image image image image* @param number 확인 번호* @throws servletexception* @throws ioexception*/public void getimage (outputstream out, stringsmence). 빈 이미지 BufferedImage Image = New BufferedImage (100,30, BufferedImage.type_int_rgb)를 만듭니다. // 1. 이미지 브러시 그래픽 g = image.getGraphics (); 랜덤 r = 새로운 랜덤 (); // 2. 랜덤 클래스에서 브러시 색상 (NextInt (n)를 설정하면 0보다 큰 임의의 숫자를 반환합니다.) G.setColor (new color (r.nextInt (255), r.nextInt (255), r.NextInt (255))); // 3. 직사각형 G.FillRect (0, 0, 100, 30)의 배경을 그립니다. // 4. 길이 4 g.setcolor의 영숫자 조합 문자열을 얻으려면 사용자 정의 메소드를 호출하십시오 (새 색상 (0,0,0)); g.setfont (new font (null, font.bold, 24)); // 5. 컬러 글꼴을 설정 한 후 문자열을 그립니다 (왼쪽 문자의 위치 인 x/y) G.DrawString (숫자, 20, 24); // 6. (int i = 0; i <8; i ++) {g.setcolor (new color (255), R.NextInt (255), R.NextInt (255), R.NextInt (255))에 대한 8 간섭선 (Alpha Transparency)을 그리기; G.Drawline (R.NextInt (100), R.NextInt (30), R.NextInt (100), R.NextInt (30); } imageio.write (image, "jpeg", out); } // 길이 크기의 영숫자 조합을 얻는 사용자 정의 메소드 공개 문자열 getNumber (int size) {String str = "abcdefghijklmnopqrstuvwxyz0123456789"; 문자열 번호 = ""; 랜덤 r = 새로운 랜덤 (); for (int i = 0; i <size; i ++) {number+= str.charat (r.nextInt (str.length ()); } 반환 번호; }}2. 컨트롤러
@RequestMapping (value = "/check",Method= (requestMethod.get}) @ResponseBody public void check (httpservletRequest req) {try {httpservletResponse responsk = this.getResponse (); Response.setContentType ( "Application/Octet-stream"); response.addheader ( "content-disposition", "첨부 파일; filename =" + "vcode.jpeg"); 문자열 번호 = ValidAcode.getNumber (4); ValidAcode.getImage (response.getOutputStream (), 숫자); } catch (예외 E) {}}3. HTML
<img src = "http://127.0.0.1:8080/test/check">
복제 다이어그램
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.