- 浏览: 543917 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
jsdsh:
自己写的就是不一样.
Spring3 MVC 注解(二)---@RequestMapping -
jsdsh:
吼,非常吼.学习了
Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释 -
爱情是一种错觉:
我爱你 i love 你[color=red][/color] ...
Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释 -
fs08ab:
大哥,目前这个问题有什么可靠的解决方案吗
@ResponseBody注解 -
lhs295988029:
说的很清楚,明白了~
Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释
kaptcha 是一个非常实用的验证码生成工具。有了它,你可以生成各种样式的验证码,因为它是可配置的。kaptcha工作的原理是调用 com.google.code.kaptcha.servlet.KaptchaServlet,生成一个图片。同时将生成的验证码字符串放到 HttpSession中。
使用kaptcha可以方便的配置:
- 验证码的字体
- 验证码字体的大小
- 验证码字体的字体颜色
- 验证码内容的范围(数字,字母,中文汉字!)
- 验证码图片的大小,边框,边框粗细,边框颜色
- 验证码的干扰线(可以自己继承com.google.code.kaptcha.NoiseProducer写一个自定义的干扰线)
- 验证码的样式(鱼眼样式、3D、普通模糊……当然也可以继承com.google.code.kaptcha.GimpyEngine自定义样式)
…… 详细信息请看下面的web.xml文件 下面介绍一下用法: 1.首先去官网下载jar:http://code.google.com/p/kaptcha/
2.建立一个web项目,导入kaptcha-2.3.jar到环境变量中。
3.配置web.xml文件<!--Kaptcha 验证码 --><!--
<servlet>
<servlet-name>kaptcha</servlet-name>
<servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
<init-param>
<param-name>kaptcha.border</param-name>
<param-value>no</param-value>
</init-param>
<init-param>
<param-name>kaptcha.border.color</param-name>
<param-value>105,179,90</param-value>
</init-param>
<init-param>
<param-name>kaptcha.textproducer.font.color</param-name>
<param-value>red</param-value>
</init-param>
<init-param>
<param-name>kaptcha.image.width</param-name>
<param-value>250</param-value>
</init-param>
<init-param>
<param-name>kaptcha.image.height</param-name>
<param-value>90</param-value>
</init-param>
<init-param>
<param-name>kaptcha.textproducer.font.size</param-name>
<param-value>70</param-value>
</init-param>
<init-param>
<param-name>kaptcha.session.key</param-name>
<param-value>code</param-value>
</init-param>
<init-param>
<param-name>kaptcha.textproducer.char.length</param-name>
<param-value>4</param-value>
</init-param>
<init-param>
<param-name>kaptcha.textproducer.font.names</param-name>
<param-value>宋体,楷体,微软雅黑</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>kaptcha</servlet-name>
<url-pattern>/ClinicCountManager/kaptcha.jpg</url-pattern>
</servlet-mapping>
jsp 页面使用
<table> <tr> <td><img src="/ClinicCountManager/kaptcha.jpg"></td> <td valign="top"> <form method="POST"> <br>sec code:<input type="text" name="kaptchafield"><br /> <input type="submit" name="submit"> </form> </td> </tr> </table> <br /><br /><br /><br /> <% String c = (String)session.getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY); String parm = (String) request.getParameter("kaptchafield"); out.println("Parameter: " + parm + " ? Session Key: " + c + " : "); if (c != null && parm != null) { if (c.equals(parm)) { out.println("<b>true</b>"); } else { out.println("<b>false</b>"); } %>
上面的配置在普通jsp环境下面是有效的,如果在spring mvc环境下,则取不到session值,对于sping mvc环境验证码配置如下:
1.不用在web.xml进行相关配置,在applicationContext.xml中配置
<bean id="captchaProducer" class="com.google.code.kaptcha.impl.DefaultKaptcha"> <property name="config"> <bean class="com.google.code.kaptcha.util.Config"> <constructor-arg> <props> <prop key="kaptcha.border">no</prop> <prop key="kaptcha.border.color">105,179,90</prop> <prop key="kaptcha.textproducer.font.color">red</prop> <prop key="kaptcha.image.width">250</prop> <prop key="kaptcha.textproducer.font.size">90</prop> <prop key="kaptcha.image.height">90</prop> <prop key="kaptcha.session.key">code</prop> <prop key="kaptcha.textproducer.char.length">4</prop> <prop key="kaptcha.textproducer.font.names">宋体,楷体,微软雅黑</prop> </props> </constructor-arg> </bean> </property> </bean>
新建生成图片控制类
import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import com.google.code.kaptcha.Constants; import com.google.code.kaptcha.Producer; @Controller @RequestMapping("/") public class CaptchaImageCreateController { private Producer captchaProducer = null; @Autowired public void setCaptchaProducer(Producer captchaProducer) { this.captchaProducer = captchaProducer; } @RequestMapping("/captcha-image") public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { response.setDateHeader("Expires", 0); // Set standard HTTP/1.1 no-cache headers. response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); // Set IE extended HTTP/1.1 no-cache headers (use addHeader). response.addHeader("Cache-Control", "post-check=0, pre-check=0"); // Set standard HTTP/1.0 no-cache header. response.setHeader("Pragma", "no-cache"); // return a jpeg response.setContentType("image/jpeg"); // create the text for the image String capText = captchaProducer.createText(); // store the text in the session request.getSession().setAttribute(Constants.KAPTCHA_SESSION_KEY, capText); // create the image with the text BufferedImage bi = captchaProducer.createImage(capText); ServletOutputStream out = response.getOutputStream(); // write the data out ImageIO.write(bi, "jpg", out); try { out.flush(); } finally { out.close(); } return null; } }
前台调用方式
<div class="chknumber"> <label>验证码: <input name="kaptcha" type="text" id="kaptcha" maxlength="4" class="chknumber_input" /> </label> <img src="/ClinicCountManager/captcha-image.do" width="55" height="20" id="kaptchaImage" style="margin-bottom: -3px"/> <script type="text/javascript"> $(function(){ $('#kaptchaImage').click(function () {//生成验证码 $(this).hide().attr('src', '/ClinicCountManager/captcha-image.do?' + Math.floor(Math.random()*100) ).fadeIn(); }) }); </script> </div>
取验证码的方式
String code = (String)session.getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
评论
我在引用那个图片生成类得时候
createImage()这个方法提示少了一个参数。
真不地道,
我用了你的东西了啊
很好, 呵呵
Spring mvc中, web.xml中的那些配置是多余的
只要在spring配置文件中设置就好了.呵呵
亲身体验了
web.xml中去掉 后 我在spring配置文件中的 怎么不起作用啊 望回复....
然后就突然跳出来,然后就不执行了~~~求解为什么?
真不地道,
我用了你的东西了啊
很好, 呵呵
Spring mvc中, web.xml中的那些配置是多余的
只要在spring配置文件中设置就好了.呵呵
亲身体验了
LZ说了在SpringMVC中,只需要配置applicationContext了啊,不需要配置web.xml的。
真不地道,
我用了你的东西了啊
很好, 呵呵
Spring mvc中, web.xml中的那些配置是多余的
只要在spring配置文件中设置就好了.呵呵
亲身体验了
发表评论
-
Spring @Transactional
2011-08-01 11:53 1809Spring事务的传播行为 在service类前加上@ ... -
spring mvc java.lang.IllegalStateException: Errors/BindingResult argument declar
2011-01-21 10:21 5055关于BindingResult Spring ... -
@ResponseBody注解
2010-11-04 17:44 29822在SpringMVC中可以在Contr ... -
spring 标签介绍
2010-10-27 14:42 3036Spring 标记库分类如下: 1、spring:has ... -
spring roo
2010-10-22 14:50 3155Spring Roo 是一种 Spring 开发的辅助工具,当 ... -
spring mvc 实现的验证码功能
2010-10-19 15:56 8810import java.awt.BasicStroke; i ... -
spring3 Validation, Data Binding, and Type Conversion
2010-10-18 17:52 38085. Validation, Data Binding, ... -
spring 基于注解的控制器配置
2010-10-18 16:10 386113.12. 基 于注解的控制器配置 现时对于一些类型的配 ... -
打散 <mvc:annotation-driven>
2010-10-18 13:10 4763Spring3.0的基于注解的MVC非常好用,特别在加入了新的 ... -
spring mvc使用注解后的校验和绑定处理
2010-10-12 15:18 1391spring mvc使用注解后,依然可以使用自带的Valida ... -
使用 Spring 2.5 基于注解驱动的 Spring MVC
2010-10-12 10:45 1561概述 继 Spring 2.0 对 Spring MV ... -
Spring MVC的表单控制器
2010-10-11 15:36 3931概述 大多数Web应 ... -
context:component-scan
2010-10-08 13:33 44641. 扫描过滤方式 过滤器类型 说明 注释 假如 com.ba ... -
Spring MVC
2010-09-21 16:12 4405Spring提供了一个细致完整的MVC框架。该框架为模型、视图 ... -
领略Spring 3.x 时代的Spring MVC
2010-09-21 16:07 2002鼎鼎大名的Spring框架3.0版在12月5日由其作者之 ... -
Spring入门之三: 进入Spring MVC
2010-09-13 11:04 2435Spring入门之三: 进入Sprin ... -
Spring3 MVC Restful 多请求类型(json,xml,k-v),多视图配置(Json,Xml,JSP,Freemarker,Volacity等)
2010-09-13 10:59 5852beans xmlns="http://www.sp ... -
Spring3 MVC (三)---请求处理方法 参数及返回值总结
2010-09-13 10:50 8562@RequestMapping("/xx ... -
Spring3 MVC 注解(二)---@RequestMapping
2010-09-13 10:47 155671 问题:有多个 @RequestMapping @ ... -
Spring3 MVC 注解(一)---注解基本配置及@controller和 @RequestMapping 常用解释
2010-09-13 10:46 93108一:配置web.xml 1)问题:spri ...
相关推荐
, 在精通Spring MVC4中,我们将会从头开始构建一个有用的Web应用。本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、...
主要介绍了spring整合kaptcha验证码的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
kaptcha 是一个非常实用的...有了它,你可以生成各种样式的验证码,因为它是可配置的,下面这篇文章主要给大家介绍了关于Spring MVC中使用Google kaptcha验证码的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
精通Spring MVC 4 中文
本文详细介绍spring MVC的原理和开发心得体会。
本篇文章主要介绍了spring mvc 使用kaptcha生成验证码实例,详细的介绍了使用Kaptcha 生成验证码的步骤,有兴趣的可以了解一下
十三、如何给spring3 MVC中的Action做JUnit单元测试? 十四、spring mvc 转发与重定向 十五、spring mvc 处理ajax请求 十六、spring mvc 关于写几个配置文件的说明 十七、spring mvc 如何取得Spring管理的bean 十八...
编译器版本:IntelliJ IDEA 2020.3.2 x64 JDK版本:java 1.8.0_111 SpringBoot集成Kaptcha验证码生成器快速入门Demo,演示Kaptcha验证码生成器后端代码和前端测试页面
Spring MVC所需jar包,包含java开发中 Spring MVC架构中最常用的jar包
Spring MVC是Spring框架中用于Web应用快速开发的一个模块,其中的MVC是Model-View-Controller的缩写。作为当今业界最主流的Web开发框架,Spring MVC已经成为当前最热门的开发技能,同时也广泛用于桌面开发领域。 ...
十三、如何给spring3 MVC中的Action做JUnit单元测试? 十四、spring mvc 转发与重定向 十五、spring mvc 处理ajax请求 十六、spring mvc 关于写几个配置文件的说明 十七、spring mvc 如何取得Spring管理的bean 十八...
Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于...
Spring MVC是Spring框架中用于Web应用快速开发的一个模块,其中的MVC是Model-View-Controller的缩写。作为当今业界最主流的Web开发框架,Spring MVC已经成为当前最热门的开发技能,同时也广泛用于桌面开发领域。 ...
在 Spring MVC 中, jsp 文件中尽量不要有 Java 代码, 只有 HTML 代码和"迭代(forEach)"与"判断(if)"两个jstl标签. jsp 文件只作为渲染(或称为视图 View)模板使用. 好了, 我们开始吧. 首先我们需要一个放在 WEB-INF...
vue+springboot+redis+kaptcha实现登录页验证码
主要介绍Spring MVC 的使用注解来配置的使用实例
《Spring MVC+MyBatis开发从入门到项目实战》适用于拥有Java基础的软件开发人员学习框架开发,也适用于大中专院校在校师生学习开发技术,以及软件从业实习生提升框架开发技术水平,也可作为高等院校计算机及相关专业...
可以了解spring mvc的开发环境,以及注解使用,对理解spring mvc的工作原理有直观的帮助。