设计师工作室网站网页设计实训报告2000字通用

news/2025/10/5 14:53:04/文章来源:
设计师工作室网站,网页设计实训报告2000字通用,小型企业网站设计与制作,大数据精准获客软件在Web程序中#xff0c;验证码是经常使用的技术之一。Web程序永远面临未知用户和未知程序的探测。为了防止恶意脚本的执行#xff0c;验证码技术无疑是首选方案之一。本文将讨论如何在JSP和Servlet中使用验证码技术。 验证码的产生思路很简单#xff0c;在Servlet中随机产生…  在Web程序中验证码是经常使用的技术之一。Web程序永远面临未知用户和未知程序的探测。为了防止恶意脚本的执行验证码技术无疑是首选方案之一。本文将讨论如何在JSP和Servlet中使用验证码技术。   验证码的产生思路很简单在Servlet中随机产生验证码字符序列并计入session中JSP中以图片的形式进行显示。当用户在JSP表单中输入验证码并提交时在相应的Servlet中验证是否与session中保存的验证码一致。下面通过代码一次演示验证码产生和实现的验证的过程。   1 验证码的产生   我们需要创建一个名为ValcodeServlet的servlet并在其doGet()方法中完成验证码的产生。首先通过随机数的产生类Random随机产生一个4位的验证码并将其存入session然后使用BufferedImage和Graphics类把验证码转为图片当然为了起到较好的效果我们需要添加一些干扰线最后使用ImageIO将图片输出。详细代码如下 protectedvoiddoGet(HttpServletRequest request, HttpServletResponse   response) throwsServletException, IOException {        // 告知浏览当作图片处理        response.setContentType(image/jpeg);          // 告诉浏览器不缓存        response.setHeader(pragma, no-cache);        response.setHeader(cache-control, no-cache);        response.setHeader(expires, 0);          // 产生由4位数字构成的验证码        int length 4;        String valcode   ;        Random rd   new Random();        for(int i0;   ilength; i)            valcoderd.nextInt(10);          // 把产生的验证码存入到Session中        HttpSession   session request.getSession();        session.setAttribute(valcode, valcode);          // 产生图片        int width 80;        int height 25;        BufferedImageimg   newBufferedImage(width, height,BufferedImage.TYPE_INT_RGB);          // 获取一个Graphics        Graphics g   img.getGraphics();          // 填充背景色        g.setColor(Color.WHITE);        g.fillRect(0,   0, width, height);          // 填充干扰线50        for(int i0;   i50; i){            g.setColor(new   Color(rd.nextInt(100)155,rd.nextInt(100)155,rd.nextInt(100)155));            g.drawLine(rd.nextInt(width),   rd.nextInt(height),rd.nextInt(width), rd.nextInt(height));        }          // 绘制边框        g.setColor(Color.GRAY);        g.drawRect(0,   0, width-1, height-1);          // 绘制验证码        Font[]   fonts {new Font(隶书,Font.BOLD,18),new Font(楷体,Font.BOLD,18),new Font(宋体,Font.BOLD,18),new Font(幼圆,Font.BOLD,18)};        for(int i0;   ilength; i){            g.setColor(new   Color(rd.nextInt(150),rd.nextInt(150),rd.nextInt(150)));            g.setFont(fonts[rd.nextInt(fonts.length)]);            g.drawString(valcode.charAt(i), width/valcode.length()*i2, 18);        }          // 输出图像        g.dispose();        ImageIO.write(img,   jpeg, response.getOutputStream());     }   上面的代码只是产生了一个常规的验证码我们可以根据自己的需要对验证码的产生策略和干扰线进行调整。Servlet编写完毕别忘了在web.xml中进行配置以便能在JSP中调用其代码如下 servlet description/description display-nameValcodeServlet/display-name servlet-nameValcodeServlet/servlet-nameservlet-classorg.icer.jee.valcode.servlet.ValcodeServlet/servlet-class /servlet servlet-mapping servlet-nameValcodeServlet/servlet-name url-pattern/ValcodeServlet/url-pattern /servlet-mapping     2 验证码的显示   产生验证码的servlet编写完毕并且已经web.xml中进行了配置那么我们在input.jsp中使用img /标记以图片的方式调用servlet即可显示验证码。                           当然为了能起到验证效果本例中还包含了简单的表单。为了放置验证码无法识别此处还提供了看不清点击换一张功能用户点击图片时重新加载验证码图片问号是为了放置浏览器缓存而不能实现重新请求图片。JSP中表单部分代码如下 formnameform1methodpostactionLoginServlet 验证码 inputnamevcodetypetextclassinput02idvcode imgsrcValcodeServletalignabsmiddletitle看不清点击换一张onClickthis.srcthis.src?/ inputtypesubmitnamebuttonidbuttonvalue   提交 /form   3 实现验证功能   当表单提交到CheckServlet时对用户填写的验证码和session中存储的验证码进行比对根据结果给出不同提示。代码如下 protectedvoiddoPost(HttpServletRequest request, HttpServletResponse   response) throwsServletException, IOException {        // 获取验证码        String   valcode request.getSession().getAttribute(valcode).toString();        // 获取用户填写的验证码        String   vcode request.getParameter(vcode);        // 进行验证        if(!valcode.equals(vcode))            System.out.println(验证码错误);        else            System.out.println(验证码正确);     }   上面只是根据验证情况在控制台进行了输出使用时根据实际的业务逻辑需求进行修改即可。     总起来说验证码技术本质上就是利用Java绘图技术把随机产生的验证码字符图形化并在JSP中以图形调用最后在用户提交表单后在对应的servlet中进行验证。本文只是提供验证码的基本实现思路希望大家能灵活应用。   作者中软卓越天津ETC转载于:https://www.cnblogs.com/zretc/archive/2013/06/09/3129062.html

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

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

相关文章

详细介绍:几何绘图与三角函数计算应用

详细介绍:几何绘图与三角函数计算应用pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…

详细介绍:Hive在实际应用中,如何选择合适的JOIN优化策略?

详细介绍:Hive在实际应用中,如何选择合适的JOIN优化策略?2025-10-05 14:43 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importa…

【VM虚拟机】VM新版本,虚拟机中键盘输入延迟卡顿

关键设置: 虚拟机路径下.vmx文件中添加 keyboard.vusb.enable = "TRUE" 其他什么core-数量,3D加速都不好使

京东联盟 wordpress模板网站可以做优化

摘要:本篇博客深入介绍了如何借助深度学习技术开发癌症图像检测系统,以提高医疗诊断的精度和速度。系统基于先进的YOLOv8算法,并对比分析了YOLOv7、YOLOv6、YOLOv5的性能,如mAP和F1 Score。详细解释了YOLOv8的原理,并附…

2025石灰源头厂家最新推荐榜单:深度解析生石灰,熟石灰物流效率与综合实力

当前石灰行业需求持续攀升,但市场乱象凸显:部分企业产能波动大、交货周期长,劣质产品充斥市场,技术落后与环保不达标问题频发,严重困扰下游采购决策。尤其在高活性、专用化产品需求年增 18% 的背景下,企业亟需权…

AtCoder Beginner Contest 426 游记

$20min$ 拿下四题,自信跳过看起来复杂的 E 去做数据结构 F,结果迷失在调线段树未能通过。省流 \(20min\) 拿下四题,自信跳过看起来复杂的 E 去做数据结构 F,结果迷失在调线段树未能通过。10.4 内含剧透,请vp后再来…

广东手机网站制作价格进一步推进网站建设

文章目录------------------------------学习教程篇-------------------------------bilibili哔哩哔哩网易云课堂siki学院:泰课在线:可汗学院:线性代数的本质 - bilibili计算机科学速成课 - bilibiliLearnOpenGL:The Book of Shad…

淘宝客网站如何做推广方案wordpress接入微信支付

程序员在编程过程中,经常会在代码中使用到“where 11”,这是为什么呢?SQL注入初次看到这种写法的同学肯定很纳闷,加不加where 11,查询不都一样吗?例如:select * from customers; 与 select * fr…

如何把MCP服务集成到智能体?手把手教学(含视频教程)

导航前言 视频讲解 作品展示 工作流程展示 操作步骤一 新建mcpserver工作流 二 测试智能体 三 发布智能体结语 参考AI+ 的时代已经来临,不管你是否愿意,你都必须去接受它。前言 在前面的文章《10min搭建一个大模型智…

bootimg.exe检查验证备份导出的img镜像文件是否正常

前言全局说明经常刷手机的人,必要做的就是先备份,那备份出的文件,是否正常,就要用 bootimg.exe 来验证注意:刷机,会丢失用户:照片、聊天等信息资料。请备份基带等信息。请慎重刷机 !!! 注意:刷机,会丢失用户:…

华为云Flexus+DeepSeek征文|华为云Flexus服务器dify高效的平台通过自然语言转sql并执行搭建电商数据分析

华为云Flexus+DeepSeek征文|华为云Flexus服务器dify高效的平台通过自然语言转sql并执行搭建电商数据分析pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: …

《独立开发者精选工具》第 019 期

IndieTools 是一个专为独立开发者打造的精选工具和资源平台。通过直观的分类,轻松找到 Web 开发、设计、营销、SEO 等全流程实用工具。 独立开发者必备网站:https://www.indietools.work Github: https://github.com…

备案个人可以做视频网站郑州 网站建设 东区

抖音的转场动画—iOS https://www.jianshu.com/p/29b0165de712 抖音的上下滑实现—iOS https://www.jianshu.com/p/e8799510c7aa转载于:https://www.cnblogs.com/qingzZ/p/10281740.html

什么网站做简历最好嘉兴网站排名优化报价

总结: ●使用模板时必须确定出通用数据类型T,并且能够推争出一致的类型 #include<iostream> using namespace std; #include<string> #include<fstream>//函数模板注意事项 template<class T> //typename 可以替换成class void mySwap(T&a, T&am…

实用指南:MyBatis 的动态 SQL

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

活着,就像明天就要死去一样

活着,就像明天就要死去一样本文来自博客园,作者:breezecn,转载请注明原文链接:https://www.cnblogs.com/breezecn/p/19126572

社保网站人员减少怎么做三门峡住房和建设局网站

Qt实现可伸缩的侧边工具栏 一直在网上找&#xff0c;发现大多的实现方案都是用一个按钮&#xff0c;按下控制侧边栏的伸缩&#xff0c;但是我想要实现鼠标悬浮在侧边栏的时候就伸出&#xff0c;移开就收缩的功能&#xff0c;也没找到好的参考&#xff0c;所以决定自己实现一个…

一 网站开发背景成都网站建设方案

全省工业互联网平台推广会上台州工业互联网平台发布、7个工业互联网项目签约——“企业间一座座孤立的烟囱&#xff0c;通过数据‘联姻’打破了信息孤岛。”5月22日&#xff0c;在路桥召开的全省工业互联网平台建设推广会上&#xff0c;专家们这样形容正在发生的变革。工业互联…

vue漏洞

Vue 源码泄露(最常见低危→高危) 原理: webpack 默认生成 .js.map,生产环境未关闭,可反编译还原完整源码,泄露接口、密钥、注释路径。 黑盒特征: 响应头 X-SourceMap: xxx.js.map 或 JS 末尾出现 //# sourceMap…