- 浏览: 682712 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (362)
- java基础 (33)
- html/css+div/javascript (17)
- Ajax/XML/JSON/XSL (7)
- JQuery (11)
- Extjs (1)
- JSP/Servlet (19)
- MVC模式 (4)
- struts 1 (17)
- Struts 2.3.4 (17)
- Spring 3.2 (26)
- Springmvc (3)
- Hibernate 4.1 (21)
- ibatis (6)
- Velocity模板语言 (2)
- Rose框架 (5)
- EJB (1)
- JUnit测试 (2)
- 数据库DB (24)
- 重构 / 设计模式 (3)
- 开发工具IDE (37)
- 数据结构与算法设计 (3)
- Android (12)
- Linux (4)
- bug集合 (29)
- 缓存技术(redis) (3)
- Lucene全文索引 (15)
- maven3.0.5 (4)
- 小工具集合 (18)
- 面试题 (5)
- 闲聊 (11)
- 其他 (4)
- 接口API (2)
- work (2)
- Flex (0)
- JMS (1)
- 开源项目集合 (1)
- 技术博客 (1)
- 分类04 (0)
- 分类05555 (0)
最新评论
-
小小小羊:
好屌...
java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$Refle -
liubinli2005:
这个可以脱底spring。单独使用吗?
DAO层:jade -
cangbaotu:
我觉得对于开发者来说,能脚本化编写爬虫是一件挺开心的事情( ̄▽ ...
网页爬取 -
asjava:
很好的文章, 但每段代码清单都重复了一次.
spring 事务 -
xia635317478:
jethypc 写道验证码的session无法传过去啊 还是我 ...
登陆验证码(struts2实现)
登陆验证码(Servlet实现)
1.前台登陆界面:
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <% String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/"; %> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <base href="<%=basePath%>"> <title>实训管理系统</title> <link rel="stylesheet" type="text/css" href="css/team.css" /> <script type="text/javascript"> function changeValidateCode(obj) { /*** * 获取当前的时间作为参数,无具体意义 * 每次请求需要一个不同的参数,否则可能会返回同样的验证码 * 这和浏览器的缓存机制有关系,也可以把页面设置为不缓存,这样就不用这个参数了。 */ var timenow = new Date().getTime(); obj.src="LoginCode.servlet?d="+timenow; } </script> </head> <body> <div id="top"> <h1>实训管理系统</h1> </div> <div id="content"> <form action="admin/Login" method="post"> <p>用 户:<input type="text" name="admin.name"> <p>密 码:<input type="password" name="admin.password"> <p>验证码:<input type="text" name="code" size="11"><img src="LoginCode.servlet" onclick="changeValidateCode(this)" title="点击图片刷新验证码"/> <p><input type="submit" value="登录"><input type="reset" value="重置"/></p> </form> </div> </body> </html>
2.web.xml配置文件配置servlet映射路径:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>training</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>LoginFilter</filter-name> <filter-class>com.org.momo.filter.LoginFilter</filter-class> </filter> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>LoginCodeServlet</servlet-name> <servlet-class>com.org.momo.servlet.LoginCodeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LoginCodeServlet</servlet-name> <url-pattern>/LoginCode.servlet</url-pattern> </servlet-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app>
3.LoginCodeServlet.java处理类
package com.org.momo.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.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class LoginCodeServlet extends HttpServlet { public LoginCodeServlet() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //设置输出类型和浏览器不保存缓存 response.setContentType("image/jpeg") ; response.setHeader("Cache-Control", "no-cache") ; //创建图片对象 int width = 60,height = 20 ; BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB) ; Graphics g = image.getGraphics() ; //生成随机数 Random random = new Random() ; String s = "" ; for(int i=0;i<4;i++){ s += random.nextInt(10) ; } //把随机数存到Session里面,便于等下比较 HttpSession session = request.getSession() ; session.setAttribute("code",s) ; //随机生成颜色 Color color = new Color(255,255,255) ; random.nextInt(256)的值范围是0~255 Color color = new Color(random.nextInt(256),random.nextInt(256),random.nextInt(256)) ; //把随机数写到图片上 String a = null ; Font font = new Font(a,Font.ITALIC,18) ; g.setColor(color) ; g.setFont(font); g.drawString(s,10,height-5) ; g.dispose() ; //关闭画笔 //把图片送到客户端 ServletOutputStream output = response.getOutputStream() ; ImageIO.write(image,"JPEG",output) ; output.flush(); //关闭输出流 } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request,response) ; } public void init() throws ServletException { } }
发表评论
-
web.xml 中的listener、 filter、servlet 加载顺序及其详解
2013-09-11 18:28 905web.xml 中的listener、 filter、serv ... -
网页爬取
2013-09-05 13:10 1031网页爬取 参考: 1.http://www.csdnjava ... -
Jsp内建对象详解
2013-08-09 22:19 1045Jsp内建对象详解 方法: 1. void ... -
浏览器插件集合(火狐+谷歌)
2013-07-03 10:26 1161Change Host 引用c:\windows\syste ... -
【32位和64位不同的操作系统】环境的配置
2013-07-02 13:34 1153【32位和64位不同的操作 ... -
跨域共享Cookies
2013-06-29 22:23 12317跨域共享Cookies 正常的cookie只能在一个应用中 ... -
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2013-06-15 09:01 5097JSP页面头部的标识:<!DOCTYPE HTML PU ... -
代码托管Eclipse插件--Egit使用(GitHub)
2013-06-09 00:09 4823代码托管Eclipse插件--Egit使用(GitHub) ... -
FindBugs简介
2013-05-14 16:18 1281FindBugs简介 一、介绍 FindBugs 是一个静态 ... -
常用Java代码质量检测评估工具
2013-05-14 16:07 8333常用Java代码质量检测评估工具 1. PMD fro ... -
乱码解决
2013-05-09 16:31 969乱码解决 1.超链接发送参数: 发送的时候使用URLEnc ... -
JAVA操作Excel
2013-05-05 15:02 918JAVA操作Excel JAVA 通常有两种方法来操作Ex ... -
购物车实现的三种方式
2013-03-31 10:33 1019购物车3种实现方式 详 ... -
Servlet3.0-使用注解定义Servlet
2013-03-26 18:03 991http://www.cnblogs.com/luxh/arc ... -
将Web应用打包成.war
2012-12-26 15:32 1460如何将Web应用打包成.war ... -
JavaMail邮件发送Demo
2012-12-26 11:37 3052JavaMail邮件发送Demo import com ... -
Servlet详解
2012-12-12 09:21 845Servlet详解 参考: http://my.oschin ... -
JSTL(JSP标准标签库)
2012-11-03 21:20 780JSTL( JSP标准标签库 ) JSTL(JSP Stan ... -
JNDI(Java命名和目录接口)
2012-11-03 14:20 800JNDI(Java命名和目录接口) JNDI(Java N ... -
web.xml里面<context-param>与<init-param>的区别与作用
2012-11-01 13:35 1053<context-param>与<init- ...
相关推荐
一个小的例子,里面有纯4位数字验证码,还有大小写字母和数字混合验证码,帮助各位理解验证码的生成原理
JSP下MVC架构的验证码登陆,验证码单独封装形成,存于session中实现验证
简单验证码的实现,通过简单的web.xml配置便可以在登陆页面展现验证码。实现登陆的验证功能
代码基于servlet的登陆验证并实现增、删、改、查、验证码等功能,开发可以直接使用,学习可以作为参考资料
在servlet中随机生成一个指定位置的验证码,一般为四位,然后把该验证码保存到session中.在通过Java的绘图类以图片的形式输出该验证码。为了增加验证码的安全级别,可以输出图片的同时输出干扰线,最后在用户提交数据的...
mysql+myeclipse,有验证码,有md5加密,是不错的资源你值得下载
实现验证码功能的简简单单的登陆界面,通过使用servlet实现验证码的功能,此小作品仅作为个人学习以及掌握一小点知识的作用而存在。
MyBatis+Servlet+JSP实现登陆、注册、验证码、数据的增加修改和查询功能。
jsp+servlet+javabean客房管理系统
JAVA Web(JSP SERVLET)留言板 已经实现有验证码的登陆
有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上是用验证码是现在很多网站通行的方式(比如招商银行的网上个人银行,腾讯的QQ社区),我们利用比较简易的方式实现了这个功能...
主要介绍了Servlet+JDBC实现登陆功能的小例子(带验证码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
jsp+servlet实现的OCR识别系统简单功能,输入手机号产生验证码 登陆后上传图片,支持中文文件名图片的上传
有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上是用验证码是现在很多网站通行的方式(比如招商银行的网上个人银行,腾讯的QQ社区),我们利用比较简易的方式实现了这个功能...
基于JAVAWEB(Jsp、Servlet、Jdbc、Mysql、Druid、commons-dbutils、jquery、ajax、html、css、javascript)MVC模式开发 已实现登陆,注册,验证码,开户,绑卡,提现,充值等 内附项目实现功能介绍及说明书
用servlet编写的一个交友系统 直接部署即可看到效果。可以实现注册,登陆,照片上传的功能。用户登陆注册添加了ajax验证。注册时需要填写随机生成的验证码。
本项目是一个简单的图书管理系统,本博客在tomcat中采用servlet 和 jsp技术实现如下功能: * 用户登陆,输入用户名,密码,登陆成功后保存到session中,跳转到首页; * 用户注册,输入相关信息,以及验证码,注册...
本项目是一个简单的图书管理系统,本博客在tomcat中采用servlet 和 jsp技术实现如下功能: * 用户登陆,输入用户名,密码,登陆成功后保存到session中,跳转到首页; * 用户注册,输入相关信息,以及验证码,注册...
jsp的一个登陆验证代码,使用servlet编写
1、 登陆页面,实现用户名、密码及验证码的正确验证。 2、 操作员管理页面,实现对操作员的增删改查,及分页显示全部内容的功能。 3、 资源管理页面,实现手机号码类型及号码段的数据库录入功能。 4、 配置业务费用...