首页 文章 精选 留言 我的

精选列表

搜索[Java库],共10000篇文章
优秀的个人博客,低调大师

Java通过反射机制修改类中的私有属性的值

首先创建一个类包含一个私有属性: class PrivateField{ private String username = "Jason"; } 通过反射机制修改username的值: //创建一个类的对象 PrivateField privateField = new PrivateField(); //获取对象的Class Class<?> classType = privateField.getClass(); //获取指定名字的私有域 Field field = classType.getDeclaredField("username"); //设置压制访问类型检查,只有这样,才能获取和设置某个具体类的Field对应的值。 field.setAccessible(true); System.out.println(field.get(privateField)); //设置私有域的值 field.set(privateField, "aaaaa"); System.out.println(field.get(privateField)); 我是天王盖地虎的分割线 本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3882731.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Java实现Web页面前数字字母验证码实现

最近公司做项目开发中用到了验证码实现功能,将实现代码分享出来, 前段页面实现代码: <ul> <li><label>验证码:</label></li> <li> <div> <inputtype="text"name="validateCode"class="login_input"value=""/> <imgid="img"src="${baseURL}/validateCode"onclick="onclickValidateCode(this);"/> </div> </li> </ul> 为了表达清晰,样式部分代码去掉了,大家根据自己的需求,自己添加样式。 页面JS代码:触发变动验证码改变的JS <scripttype="text/javascript"language="javascript"> //请求获取验证码 functiononclickValidateCode(obj){ $(obj).attr("src","${baseURL}/validateCode?"+newDate().getTime()); } </script> 后台 Controller处理: packagecom.njcc.pay.controller.login; importjava.awt.Color; importjava.awt.Font; importjava.awt.Graphics; importjava.awt.p_w_picpath.BufferedImage; importjava.io.IOException; importjava.io.OutputStream; importjava.util.Random; importjavax.p_w_picpathio.ImageIO; importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletResponse; importorg.apache.commons.lang3.math.NumberUtils; importorg.apache.commons.logging.Log; importorg.apache.commons.logging.LogFactory; importorg.springframework.stereotype.Controller; importorg.springframework.web.bind.annotation.RequestMapping; importcom.alibaba.dubbo.common.utils.StringUtils; /** *验证马Controller * *@authorAdministrator * */ @Controller publicclassValidateCodeController{ @SuppressWarnings("unused") privatestaticfinalLogLOG=LogFactory.getLog(ValidateCodeController.class); publicstaticfinalStringVALIDATE_CODE="validateCode"; privateintw=70; privateinth=23; /** *@throwsException *函数功能说明:进入后台登陆页面. * *@参数:@return *@returnString *@throws */ @RequestMapping(value="/validateCode") publicvoidvalidateCode(HttpServletRequestrequest, HttpServletResponseresponse)throwsException{ createImage(request,response); } privatevoidcreateImage(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{ response.setHeader("Pragma","no-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires",0); response.setContentType("p_w_picpath/jpeg"); Stringwidth=request.getParameter("width"); Stringheight=request.getParameter("height"); if(StringUtils.isNumeric(width)&&StringUtils.isNumeric(height)){ w=NumberUtils.toInt(width); h=NumberUtils.toInt(height); } BufferedImagep_w_picpath=newBufferedImage(w,h,BufferedImage.TYPE_INT_RGB); Graphicsg=p_w_picpath.getGraphics(); /* *生成背景 */ createBackground(g); /* *生成字符 */ Strings=createCharacter(g); request.getSession().setAttribute(VALIDATE_CODE,s); g.dispose(); OutputStreamout=response.getOutputStream(); ImageIO.write(p_w_picpath,"JPEG",out); out.close(); } /** *生成颜色 *@paramfc *@parambc *@return */ privateColorgetRandColor(intfc,intbc){ intf=fc; intb=bc; Randomrandom=newRandom(); if(f>255){ f=255; } if(b>255){ b=255; } returnnewColor(f+random.nextInt(b-f),f+random.nextInt(b-f),f+random.nextInt(b-f)); } /** *生成背景 *@paramg */ privatevoidcreateBackground(Graphicsg){ //填充背景 g.setColor(getRandColor(220,250)); g.fillRect(0,0,w,h); //加入干扰线条 for(inti=0;i<8;i++){ g.setColor(getRandColor(40,150)); Randomrandom=newRandom(); intx=random.nextInt(w); inty=random.nextInt(h); intx1=random.nextInt(w); inty1=random.nextInt(h); g.drawLine(x,y,x1,y1); } } /** *生成字符 *@paramg *@return */ privateStringcreateCharacter(Graphicsg){ char[]codeSeq={'A','B','C','D','E','F','G','H','J', 'K','M','N','P','Q','R','S','T','U','V','W', 'X','Y','Z','2','3','4','5','6','7','8','9'}; String[]fontTypes={"Arial","ArialBlack","AvantGardeBkBT","Calibri"}; Randomrandom=newRandom(); StringBuilders=newStringBuilder(); for(inti=0;i<4;i++){ Stringr=String.valueOf(codeSeq[random.nextInt(codeSeq.length)]);//random.nextInt(10)); g.setColor(newColor(50+random.nextInt(100),50+random.nextInt(100),50+random.nextInt(100))); g.setFont(newFont(fontTypes[random.nextInt(fontTypes.length)],Font.BOLD,26)); g.drawString(r,15*i+5,19+random.nextInt(8)); // g.drawString(r,i*w/4,h-5); s.append(r); } returns.toString(); } }

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册