- 浏览: 700364 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 939web.xml 中的listener、 filter、serv ... -
网页爬取
2013-09-05 13:10 1065网页爬取 参考: 1.http://www.csdnjava ... -
Jsp内建对象详解
2013-08-09 22:19 1083Jsp内建对象详解 方法: 1. void ... -
浏览器插件集合(火狐+谷歌)
2013-07-03 10:26 1161Change Host 引用c:\windows\syste ... -
【32位和64位不同的操作系统】环境的配置
2013-07-02 13:34 1202【32位和64位不同的操作 ... -
跨域共享Cookies
2013-06-29 22:23 12397跨域共享Cookies 正常的cookie只能在一个应用中 ... -
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2013-06-15 09:01 5150JSP页面头部的标识:<!DOCTYPE HTML PU ... -
代码托管Eclipse插件--Egit使用(GitHub)
2013-06-09 00:09 4868代码托管Eclipse插件--Egit使用(GitHub) ... -
FindBugs简介
2013-05-14 16:18 1328FindBugs简介 一、介绍 FindBugs 是一个静态 ... -
常用Java代码质量检测评估工具
2013-05-14 16:07 8389常用Java代码质量检测评估工具 1. PMD fro ... -
乱码解决
2013-05-09 16:31 1005乱码解决 1.超链接发送参数: 发送的时候使用URLEnc ... -
JAVA操作Excel
2013-05-05 15:02 958JAVA操作Excel JAVA 通常有两种方法来操作Ex ... -
购物车实现的三种方式
2013-03-31 10:33 1054购物车3种实现方式 详 ... -
Servlet3.0-使用注解定义Servlet
2013-03-26 18:03 1072http://www.cnblogs.com/luxh/arc ... -
将Web应用打包成.war
2012-12-26 15:32 1525如何将Web应用打包成.war ... -
JavaMail邮件发送Demo
2012-12-26 11:37 3086JavaMail邮件发送Demo import com ... -
Servlet详解
2012-12-12 09:21 877Servlet详解 参考: http://my.oschin ... -
JSTL(JSP标准标签库)
2012-11-03 21:20 819JSTL( JSP标准标签库 ) JSTL(JSP Stan ... -
JNDI(Java命名和目录接口)
2012-11-03 14:20 861JNDI(Java命名和目录接口) JNDI(Java N ... -
web.xml里面<context-param>与<init-param>的区别与作用
2012-11-01 13:35 1092<context-param>与<init- ...
相关推荐
Java使用Servlet实现登录验证码涉及到的是Web开发中的安全性与用户体验部分。验证码是一种常用的安全机制,用于防止自动化的机器人或恶意程序进行非法操作,如批量注册、恶意登录等。在这个例子中,我们将探讨两种...
在这个"JSP+servlet验证码登陆"的场景中,我们主要讨论的是如何在MVC(Model-View-Controller)架构下实现一个安全的登录系统,特别是涉及到验证码的生成和验证。 验证码是一种防止恶意自动程序(如机器人)进行...
在实现登陆验证时,Servlet可以接收用户的登录请求,验证提交的凭证,并根据结果决定是否允许访问。Servlet生命周期包括初始化、服务、销毁等阶段,其中“服务”方法用于处理客户端的请求。 图片验证码,又称为...
以上就是基于JSP和Servlet实现简单验证码的基本流程。实际应用中,为了增强安全性,还可以考虑以下几点: - 使用更复杂的图像扭曲算法,增加自动化识别的难度。 - 设置验证码过期时间,防止长时间未使用的验证码被...
在本文中,我们将深入探讨如何基于Servlet技术实现一个完整的用户登录验证系统,同时涵盖增、删、改、查以及验证码功能。Servlet是Java Web开发中的重要组成部分,它为服务器端提供了处理HTTP请求的能力,使得我们...
本项目"Servlet+jsp实现的有验证码和MD5加密的登陆"是一个典型的Web登录系统,它结合了数据库操作、前端展示和安全机制,具体涉及以下几个关键知识点: 1. **Servlet**:Servlet是Java编写服务器端应用程序的接口,...
本项目“实现验证码功能的登陆界面”是基于Java技术,利用Servlet实现的一个简单的验证码登录界面,旨在帮助学习者理解验证码的工作原理和实现方法。 验证码的主要目的是增加一个验证步骤,确保用户是真实的、有...
在servlet中随机生成一个指定位置的验证码,一般为四位,然后把该验证码保存到session中.在通过Java的绘图类以图片的形式输出该验证码。为了增加验证码的安全级别,可以输出图片的同时输出干扰线,最后在用户提交数据的...
结合“验证码登陆”这一文件名,我们可以推测这是一个实现了基于JSP和Servlet的登录页面,其中包含了验证码功能,帮助确保只有合法的用户能够成功登录。在这个项目中,可能包括了HTML/CSS/JavaScript的前端页面,...
本项目" MyBatis+Servlet+JSP实现登陆、注册、验证码、数据的操作 "旨在演示如何利用这些技术实现用户管理的基本功能,包括用户登录、注册、验证码验证以及对数据的增删改查操作。以下是这些技术的具体解释和它们在...
【标题】:“jsp,Mysql,servlet,验证码为一体的简单的用户登陆验证” 在这个项目中,开发者结合了四个关键的技术:JSP(JavaServer Pages)、MySQL数据库、Servlet以及验证码技术,来实现一个基础的用户登录验证...
本文将深入探讨动态生成图片的登陆验证码技术,包括其原理、实现方法以及与Java和Web开发的结合。 验证码(CAPTCHA)是“全自动区分计算机和人类的图灵测试”(Completely Automated Public Turing test to tell ...
在Web应用中,这些资源文件通常存放在特定的目录下,供JSP页面引用,以实现动态网页的视觉效果。 综上所述,"jsp+servlet+javabean客房管理系统"是一个利用Java技术栈构建的Web应用,它整合了前端展示、后端处理和...
在本文中,我们将深入探讨如何使用Java编程语言和HttpSession接口来实现一个简单的验证码登录系统。验证码(CAPTCHA)是一种防止恶意机器人或自动化程序非法访问网站的安全机制,它要求用户输入图片上显示的一组随机...
这通常通过`Servlet`实现,使用`HttpServletResponse`的`setContentType`和`getOutputStream`方法。 - 验证码的值也应存储在服务器的会话(`HttpSession`)中,以便后续的表单提交时进行验证。 5. 用户交互: - ...
【标题】"jsp+servlet实现最基本的注册登陆功能"所涉及的知识点主要集中在Web开发领域,尤其是Java服务器页面(JSP)和Servlet技术的应用。这两者是Java Web开发中用于构建动态网页的重要工具。 **JSP(JavaServer ...
Servlet+JDBC实现登陆功能的小例子(带验证码) 以下是对给定文件信息的详细解释和知识点总结: 标题解释 Servlet+JDBC实现登陆功能的小例子(带验证码),这个标题表明了这篇文章将要介绍如何使用Servlet和JDBC技术来...
【标题】"jsp+servlet+mvc实现登陆、查询新、删除"的知识点解析: 在Web开发领域,JSP(JavaServer Pages)、Servlet和MVC(Model-View-Controller)模式是构建动态网站的重要技术。本项目结合这三者,实现了用户...
综上所述,这个"javaweb_验证码登陆源码"项目涉及了Servlet技术的使用、会话管理、验证码生成与验证,以及Web应用程序的基本安全实践。通过理解和学习这些核心概念,开发者可以构建更安全、更健壮的JavaWeb应用程序...
综上所述,这个压缩包中的内容涵盖了验证码技术、Web页面开发、数据库连接、Servlet编程以及可能的JavaScript和Java后端开发。这些技术组合在一起,构建了一个完整的用户登录和注册系统,确保了用户认证的安全性和...