栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

javascript实现网页登录验证码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javascript实现网页登录验证码

SeccodeServlet.java

package servlet;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class SeccodeServlet extends HttpServlet {
	private static final int width = 200;
	private static final int height = 50;
	private static final String code = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789";
	private Random random = new Random();
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("image/jpeg");
		BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_BGR);
		Graphics g = image.getGraphics();
		g.setColor(getColor(200,40));
		g.fillRect(0,0,width,height);
		
		for(int i=0;i<100;i++){
			int x1 = random.nextInt(width);
			int y1 = random.nextInt(width);
			int x2 = random.nextInt(width);
			int y2 = random.nextInt(width);
			g.setColor(getColor(160,40));
			g.drawLine(x1, y1, x2, y2);
			
		}
		//输出字符
		String seccode = "";
		Font font = new Font("宋体",Font.ITALIC,width/4);
		g.setFont(font);
		for(int i=0;i<4;i++){
			char c = code.charAt(random.nextInt(code.length()));
			seccode += c;
			g.setColor(getColor(100,40));
			g.drawString(c + "", i*width/4 + 5, 40);
		}
		HttpSession sessino = request.getSession();
		sessino.setAttribute("seccode",seccode);
		
		ImageIO.write(image, "JPEG", response.getOutputStream());
		g.dispose();
		
		
		
		
		ImageIO.write(image, "JPEG", response.getOutputStream());
		g.dispose();
	}
	private Color getColor(int base,int inc){
		int r = base + random.nextInt(inc);
		int g = base + random.nextInt(inc);
		int b = base + random.nextInt(inc);
		return new Color(r,g,b);
		
	}

}

login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>



  
    
    
    My JSP 'index.jsp' starting page
	
	
	    
	
	
	
  
  
  
    <%
    String msg=(String) session.getAttribute("msg");
    if(msg!=null){
    	session.removeAttribute("msg");
    	out.println("" +msg+"");
    }
    %>
    
用户名:
用户名:
验证码:
/seccode"/>

web.xml



  
    This is the description of my J2EE component
    This is the display name of my J2EE component
    SeccodeServlet
    servlet.SeccodeServlet
  
  
    This is the description of my J2EE component
    This is the display name of my J2EE component
    LoginServlet
    servlet.LoginServlet
  


  
    SeccodeServlet
    /seccode
  
  
    LoginServlet
    /login
  
  
    index.jsp
  


LoginServlet.java

package servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class LoginServlet extends HttpServlet {

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		
		String secode = request.getParameter("seccode");
		
		HttpSession session = request.getSession();
		String oldCode=(String)session.getAttribute("seccode");
		if(!secode.equals(oldCode)){
			session.setAttribute("msg","验证码不正确!!");
			response.sendRedirect("login.jsp");
		}else{
			out.println("验证码输入正确");
		}

		out.flush();
		out.close();
	}

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/458554.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号