Springboot整合servlet

创建servlet类

package com.rz.system.captcha.servlet;

import com.rz.system.captcha.CaptchaUtil;
import com.rz.system.captcha.constant.CaptchaConstant;
import org.apache.log4j.Logger;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.awt.image.BufferedImage;
import java.io.IOException;

/**
 * 验证码servlet
 * @author Administrator
 *
 */
public class CaptchaServlet extends HttpServlet {
   
   private static final Logger LOGGER = Logger.getLogger(CaptchaServlet.class);

   private static final long serialVersionUID = -124247581620199710L;

   @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse resp)
         throws ServletException, IOException {
      // 设置相应类型,告诉浏览器输出的内容为图片
      resp.setContentType("image/jpeg");
      // 不缓存此内容
      resp.setHeader("Pragma", "No-cache");
      resp.setHeader("Cache-Control", "no-cache");
      resp.setDateHeader("Expire", 0);
      try {

         HttpSession session = req.getSession();

         CaptchaUtil tool = new CaptchaUtil();
         StringBuffer code = new StringBuffer();
         BufferedImage image = tool.genRandomCodeImage(code);
         session.removeAttribute(CaptchaConstant.KEY_CAPTCHA);
         session.setAttribute(CaptchaConstant.KEY_CAPTCHA, code.toString());

         // 将内存中的图片通过流动形式输出到客户端
         ImageIO.write(image, "JPEG", resp.getOutputStream());

      } catch (Exception e) {
         LOGGER.info("context", e);
      }

   }

   @Override
   protected void doPost(HttpServletRequest req, HttpServletResponse resp)
         throws ServletException, IOException {
      doGet(req, resp);
   }

}

配置servlet

package com.rz.config;
 
import com.rz.system.captcha.servlet.CaptchaServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.handler.SimpleMappingExceptionResolver;

import java.util.LinkedHashMap;
import java.util.Map;


@Configuration
public class MyConfig extends WebMvcConfigurerAdapter {

    @Bean

    public ServletRegistrationBean createCaptcha(){

        return new ServletRegistrationBean( new CaptchaServlet() , "/servlet/captchaCode");

    }

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值