验证码的制作
来源:互联网 发布:双色球中奖计算器算法 编辑:程序博客网 时间:2024/05/16 01:40
慕课笔记
servlet制作验证码
ImageServlet类//-------------------------------------------------------------------------------------------------------------
package com.checkcode;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ImageServlet extends HttpServlet{
public void doGet(HttpServletRequest request,HttpServletResponse response){
BufferedImage bi=new BufferedImage(68,22,BufferedImage.TYPE_USHORT_555_RGB);
Graphics g=bi.getGraphics();
Color c=new Color(100,188,255);
g.setColor(c);
g.fillRect(0, 0, 68, 22);
char[] ch="ABCDEFGHIJKLMNOPQRSUVWXYZ0123456789FZS".toCharArray();
int length=ch.length;
int index;
StringBuffer sb=new StringBuffer();
Random r=new Random();
for(int i=0;i<4;++i){
index=r.nextInt(38);
g.setColor(new Color(r.nextInt(100),r.nextInt(190),r.nextInt(255)));
g.drawString(ch[index]+"", (i*15)+3, 18);
sb.append(ch[index]);
}
request.getSession().setAttribute("checkcode", sb.toString());
try {
ImageIO.write(bi, "JPG", response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
}
}
LoginServlet 类
package com.checkcode;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginServlet extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException{
String loginCode=request.getParameter("logincode");
loginCode=loginCode.toUpperCase();
String checkCode=(String) request.getSession().getAttribute("checkcode");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
if(checkCode.equals(loginCode)){
out.println("验证码输入正确!");
}else{
out.println("验证码输入不正确!");
}
out.flush();
out.close();
}
}
web.xml 配置------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<servlet>
<servlet-name>ImageServlet</servlet-name>
<servlet-class>com.checkcode.ImageServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.checkcode.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ImageServlet</servlet-name>
<url-pattern>/servlet/ImageServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/servlet/LoginServlet</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
jsp页面-----------------------------------------------------------------------------------
<%@ page 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%>">
<title>My JSP 'index.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">
-->
</head>
<script type="text/javascript">
function reloadCode(){
var time=new Date().getTime();
document.getElementById("imagecode").src=
"<%=request.getContextPath() %>/servlet/ImageServlet?d="+time;
}
</script>
<body>
<form action="<%=request.getContextPath() %>/servlet/LoginServlet" method="get">
验证码<input type="text" name="logincode"/><br>
<img alt="验证码" id="imagecode" src="<%=request.getContextPath() %>/servlet/ImageServlet"/>
<a href="javascript:reloadCode();">刷新</a><br>
<input type="submit" name="确认" value="确认"/>
</form>
</body>
</html>
- 验证码的制作
- 验证码的制作
- 验证码的制作
- 验证码的制作
- 验证码的制作
- 验证码的制作
- 验证码的制作
- 验证码的制作
- 验证码的制作
- thinkPHP 验证码的制作
- Jsp验证码的制作
- 数字验证码的制作
- php验证码的制作
- JavaWeb验证码的制作
- 图片验证码的制作
- php验证码的制作
- 登录验证码的制作!
- java 验证码的制作 t图片制作
- Essentials of Caffe Tutorial
- hdu1242(bfs+优先队列)
- 堆和堆排序
- SpringMVC 封装参数
- SDUT 2133 数据结构实验之栈三:后缀式求值
- 验证码的制作
- mysql——innodb事务日志详解
- 判断横竖屏的问题解决
- struts2传文件时出现错误及解决和显示方法
- MVVMLight 1:MVVMLight介绍以及在项目中的使用
- nginx配置(三)重定向实例
- RestTemplate请求端和服务端的上传下载
- nginx常用命令
- APP首次启动:图片轮播3秒后进入首页或点击按钮进入首页(这里用的banner轮播)