JSP网站开发基础总结《十三》

news/2024/5/20 4:02:48/文章来源:https://blog.csdn.net/liudanyang_21/article/details/107633857

  继上一篇为大家补充过滤器类后,本篇为大家简单介绍一下如何实现验证码效果。验证码的作用是什么呢?1、防止恶意注册2、防止恶意提交3、防止盗取账户等等,总的来说验证码的存在就是为了,防止非人为的操作,不过需要指出的是验证码是一种影响用户体验的功能,所以一些网站通过设置参数,当用户第一次操作失败后,才会提示用户输入验证码,这可以说是验证码的一种提高。不说这没有用的了,下面我们开始实现我们的验证码效果。

 1、实现效果图:

  232119095998806.jpg

 2、index.jsp:

  在这个界面设计时添加了一些JavaScript的操作,如有疑问,可以留言。

<%@ 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>验证码</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">--><script type="text/javascript">function reloadCode(){var time = new Date().getTime();//通过这个来保证浏览器刷新界面
            document.getElementById("img").src="<%=request.getContextPath() %>/servlet/ImgSelect?time="+time;//验证更新操作
            document.getElementById("code").value="";document.getElementById("code").focus();}</script></head><body><center><h1>验证码</h1><form action="<%=request.getContextPath() %>/servlet/loginSelect" method="post"><input type="text" id="code" name="code"/><img alt="验证码" id="img" src="<%=request.getContextPath() %>/servlet/ImgSelect"><a href="javascript:reloadCode()" >看不清</a><br/><input type="submit" value="提交"> </form></center></body>
</html>

 3、生成验证码select:

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {BufferedImage bi = new BufferedImage(68, 22, BufferedImage.TYPE_INT_RGB);Graphics g = bi.getGraphics();Color color = new Color(200, 130, 255);g.setColor(color);g.fillRect(0, 0, 68, 22);char [] ch = "QWERTYUIOPASDFGHJKLZXCVBNM1234567890zxcvbnmlkjhgfdsaqwertyuiop".toCharArray();Random r = new Random();StringBuffer buf = new StringBuffer();int len = 0;for(int i=0; i<4; i++){len = r.nextInt(ch.length);g.setColor(new Color(r.nextInt(150), r.nextInt(255), r.nextInt(200)));g.drawString(ch[len]+"", (i*15)+3, 18);buf.append(ch[len]);}String code = buf.toString();request.getSession().setAttribute("code", code);ImageIO.write(bi, "JPG", response.getOutputStream());}

 4、验证selelct:

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");response.setContentType("text/html");PrintWriter out = response.getWriter();String code = request.getParameter("code");String imgCode = (String) request.getSession().getAttribute("code");if(imgCode.equalsIgnoreCase(code)){out.println("登录成功");}else{out.println("登录失败");}}

  到这里我们的验证码效果就实现了,对于生成汉字验证码、数学算式表达式的验证码效果大家就自行研究吧,思想已经为大家介绍完毕,对于JSP的总结,目前就差关于文件的上传和下载了,估计会在随后的日子里为大家分享,当然如果你能实现,还望多多指点。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_829524.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JSP网站开发基础总结《十》

经过上一篇的介绍相信大家对JSP提供的过滤器一定有了一个概念&#xff0c;本篇我们就一起再来研究一下关于创建多个过滤器时&#xff0c;如果有两个以上过滤器的过滤规则相同&#xff0c;那么这些过滤器的执行顺序如何呢&#xff1f;答案是根据我们在web.xml中声明的先后顺序进…

JSP网站开发基础总结《八》

JSP的学习总结到本篇已经八篇了&#xff0c;内容比较多&#xff0c;但都是实战&#xff0c;本篇最后为大家介绍一个小效果&#xff1a;百度分页。就是当我们遍历的数据对象较多时&#xff0c;这时我们就会看到了这个效果了&#xff0c;那他是如何实现的呢&#xff1f;下面我们就…

jquery mouseover与mouseenter,mouserout与mouseleave的区别

mouseover与mouseenter不论鼠标指针穿过被选元素或其子元素&#xff0c;都会触发mouseover事件只有在鼠标指针穿过被选元素时&#xff0c;才会触发mouseenter事件 <!doctype html> <html> <head> <meta charset"utf-8"> <script type&quo…

电商网站中价格的精确计算(使用BigDecimal进行精确运算(实现加减乘除运算))...

使用BigDecimal的String的构造器。商业计算中&#xff0c;使用bigdecimal的String构造器&#xff0c;一定要用。 重要的事情说三遍&#xff1a; 商业计算中&#xff0c;使用bigdecimal的String构造器&#xff01; 商业计算中&#xff0c;使用bigdecimal的String构造器&#xff…

利用Serverless架构下函数计算实现网站文件处理的最佳实践...

本文介绍如何通过函数计算实现网站文件管理的最佳实践&#xff0c;包括以下几个功能&#xff1a;•特定图片更新后&#xff0c;自动更新这些特定文件之前的压缩包&#xff08;compress函数&#xff09;•自动获取压缩包文件的md5值&#xff08;get-object-md5函数&#xff09;•…

sqlmap对php登录页面,SQLMAP/Metasploit介绍及PHP网站渗透

查找PHP网页&#xff1a; inurl:php?id查询jsp网页&#xff1a;inurl:asp?id判断网页的动态还是静态www.baidu.com------>www.baidu.com/index.html-----没有报错就是静态页面www.baidu.com/plasp?id86------>www.baidu.com/plasp?id86 and 11--测试网页是否有注入…

php新闻添加图片,开发企业网站12 -- 新闻添加(带图片上传)

require_once(init.php);if(!empty($_POST)){//这里接收news_add.php传过来的数据$data $_POST;//这个值有默认值&#xff0c;所以判断一下//传值就使用传过来的值&#xff0c;空值就使用默认值0$data[sort] !empty($_POST[sort])?intval($_POST[sort]):0;//修改功能&#x…

web浏览器与网站服务器,web服务器和web浏览器

web服务器和web浏览器 内容精选换一换当您需要实现网站HTTPS化&#xff0c;并监控HTTPS业务流量&#xff0c;识别并阻断SQL注入、CC攻击等攻击&#xff0c;保护Web服务安全稳定时&#xff0c;本文档指导您如何实现网站HTTPS化并对HTTPS业务流量进行监控。假设您有一个网站&…

匿名用户访问用发布站点模板创建网站的列表项时要求登录的问题解决

因为发布站点中的一个Feature被打开了&#xff0c;造成将列表FormPage的查看给Lock了&#xff0c;所以需要登录&#xff0c;将其关闭就OK了。哈哈。英文KB&#xff1a;Users are unexpectedly prompted to enter their credentials when they access a list in a Windows Share…

如何部署互动百科的开源wiki建站系统

最近想在技术部门内部搭建一个知识共享平台&#xff0c;经过一番了解和相关资料的查阅&#xff0c;选定了互动百科的开源wiki系统。选定互动wiki&#xff08;下文简称hdwiki)&#xff0c;主要的原因有如下几个方面&#xff1a; 1.中文版。这样对于我个人或者团队内部成员而言&a…

大型高性能网站的十项规则,互联网营销

在我们公司ChinaNetCloud&#xff0c;见过多种不同类型的网站和系统&#xff0c;有好也有差。其中有些系统拥有良好的服务器/网络架构&#xff0c;并且进行了合理的调整和监控&#xff1b;然而一般的系统都会有安全和性能上的问题&#xff0c;不能良好运行&#xff0c;也无法变…

Jupiter:微软的下一代统一开发平台?,徐汇区网站设计

Silverlight真的完了么&#xff1f;未来在Windows 8和Windows phone中抉择吗&#xff1f;这是一个萦绕在Windows开发者脑海的问题&#xff0c;曾经Silverlight是解决开发者们跨平台跨浏览器兼容性的钥匙&#xff0c;后来又有了Javascript和HTML5来创建Windows 8上面的应用&…

Java.net网站新改版上线

Java.net 网站在今年2月25日时关闭进行升级&#xff0c;现在已经升级完毕&#xff08;不知道什么升级需要这么长时间&#xff09;。新版本更新编辑网页、博客、wikis和改组后的论坛。原文链接&#xff1a;http://www.oschina.net/news/15947/javanet-gets-some-new-jolt转载于:…

16个精美的 HTML5 作品集网站设计案例

今天分享的作品集网站有些特别&#xff0c;因为他们都是使用 HTML5 制作的。对于设计师来说&#xff0c;为了吸引注意力&#xff0c;作品集必须展示出你的能力&#xff0c;这有点像制作简历&#xff0c;要让人们看到你所擅长的&#xff0c;突出的部分&#xff0c;这是一次推销自…

转载——网站重构的8点建议

1.用局部变量替换多次使用的对象 比如我们在一段代码内&#xff0c;多次使用document、window这样的对象&#xff0c;我们可以用局部变量替换他们。 var d document,w window; 原理&#xff1a;访问直接量和局部变量的速度快&#xff0c;相反&#xff0c;访问数组元素和对象成…

ASP.NET 2.0中轻松实现网站换肤

一、简介&#xff1a;利用Themes我们可以很容易的更改控件、页面的风格&#xff0c;而不需要修改我们的代码和页面文件。Themes文件被单独的放在1个App_Themes文件夹下面&#xff0c;与你的程序是完全分开的。二、怎么使用Themes和Skins&#xff1a;  先看个非常简单的实例&a…

Python 使用 scrapy shell 网站 进入命令窗口时候报错 AttributeError: module ‘lib‘ has no attribute

Python 使用 scrapy shell 网站 进入命令窗口时候报错 问题描述——AttributeError: module ‘lib’ has no attribute ‘X509_V_FLAG_CB_ISSUER_CHECK’‘action’ 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 问题原因 错误分析&#xff1a;主要原因是…

想要好看的壁纸图片,用这个网站一键解决,不用爬虫也能实现爬虫效果,一键爬取图片网站所有的图片

想要好看的壁纸图片&#xff0c;用这个网站一键解决&#xff0c;不用爬虫也能实现爬虫效果&#xff0c;一键爬取图片网站所有的图片 网站的地址 https://extract.pics/演示例子&#xff1a; 图片网站 https://www.sohu.com/a/582693827_121123945演示&#xff1a;

视频工作者应该知道的几个网站

2019独角兽企业重金招聘Python工程师标准>>> 视频质量评价&#xff1a; MSU Video Quality Measurement Tool&#xff1a; MSU Video Quality Measurement Tool&#xff08;msu vqmt&#xff09;是一种客观视频质量评价程序。它提供了多种全参考视频质量评价方法&am…

在网站内建立地图(百度地图)

有时候网站会标注公司的地理位置&#xff0c;为了更直观的体现地理位置&#xff0c;一般会在网站内部嵌入地图。如下图例子&#xff1a; 完整html代码如下&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org…