java+mysql篮球论坛系统设计(6)
时间:2022-12-25 19:42 来源:毕业论文 作者:毕业论文 点击:次
//存储图片 upload。transferTo(file); //回调函数,上传完即可在页面上显示图片。 response。setCharacterEncoding("utf-8"); String callback =request。getParameter("CKEditorFuncNum"); out。println("<script type=\"text/javascript\">"); out。println("window。parent。CKEDITOR。tools。callFunction("+ callback + ",'" + file。getName()+ "','')"); out。println("</script>"); 得到的效果如下图2-5所示: 图2-5 ckeditor上传图片效果图 2。5。2 验证码插件kaptcha 我们先来说一下验证码出现的原因。数学家和计算机学家们为了解决机器很难分辨,而人类很容易分辨的东西,从而发现了验证码。验证码出现之后,也有很多用处。比如,黑客通过脚本语言就可以不断循环破解用户的密码,而有了验证码,用户的账户就安全了很多。本项目中也有很多地方会用到验证码。第一是用户注册的地方,为了防止用户恶意注册很多账户,因此用验证码控制一下。第二是发帖,防止用户恶意发帖,导致数据库存储太多垃圾信息。接下来介绍本项目使用的验证码插件kaptcha。 kaptcha 是谷歌开发的一个验证码插件。Kaptcha使用非常方便,只需要几步操作即可。同时,如果你对默认的验证码不满意,你可以对验证码的图片样式进行覆盖,既方便又灵活。Kaptcha会将生成的验证码字符串保存到session缓存中,然后在后台接收到用户输入的验证码,并把它与session中的验证码比较,就可以判断用户输入的是否正确了。 接下来我们来介绍一下kaptcha的使用方法。首先我们需要引入所需的jar包。然后在spring配置文件中配置kaptcha的bean组件,如下图2-6所示。当然我们需要在页面中加入图片标签用于显示验证码,<img src="#getRequestBase() /operator/login/kaptcha。htm " />。其中<img>标签的src属性为后台的路径,其作用是把图片画到指定的图片上。下面我们就需要在后台随机出一串字符串,然后把这串字符串加上样式画到前端的图片上。后台代码如下: //清除缓存 response。setDateHeader("Expires", 0); response。setHeader("Cache-Control","no-store, no-cache, must-revalidate"); response。addHeader("Cache-Control", "post-check=0, pre-check=0"); response。setHeader("Pragma", "no-cache"); // 设置返回类型为图片类型 response。setContentType("image/jpeg"); // 随机出一串字符串 String capText = captchaProducer。createText(); // 把字符串存在session中 HttpSession session = request。getSession(); session。setAttribute(Constants。KAPTCHA_SESSION_KEY, capText); // 创建出相应的图片 BufferedImage bi = captchaProducer。createImage(capText); ServletOutputStream out = response。getOutputStream(); // 把图片画到前端页面去 ImageIO。write(bi, "jpg", out); 图2-6 kaptcha的bean组件 2。5。3 报表工具HighCharts Highcharts是一个非常简单、方便、实用的图表工具。HighCharts支持很多种图表,比如:折线图、柱状图、饼图等等。Highcharts使用javascript语言编写,调用起来非常方便,不用担心后台的语言,是现在很多公司生成报表的工具首选。 本项目会统计网站的信息,比如每个板块的发帖量,还有每个用户的浏览记录,由此来发展更新网站,从而给用户提供更好的体验。而直观的图表比简单的数字更容易分析出结果,本项目选用HighCharts作为展示数据的工具。 (责任编辑:qin) |