验证码在web.xml为何失效?
老师,为什么在SSM的web.xml里的验证码的Servlet相关配置在换SpringBoot框架时会失效啊?
9
收起
正在回答
2回答
同学你好!springboot有它自己的解决办法呢,这里以过滤器为例写一个小例子:
1、通过实现Filter接口,创建一个过滤器类
2、通过@WebFilter注解,注册过滤器。urlPatterns属性代表需要被过滤的请求地址。filterName属性代表过滤器名称。
3、在SpringBoot应用启动类中,添加@ServletComponentScan注解,表示项目启动自动扫描Servlet组件。Filter属于Servlet组件。
filter:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import org.cm.channelmanage.web.handler.BodyReaderHttpServletRequestWrapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import java.io.IOException; @WebFilter (urlPatterns = "/*" ,filterName = "channelFilter" ) public class ChannelFilter implements Filter { private Logger logger = LoggerFactory.getLogger(ChannelFilter. class ); @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { logger.info( "================进入过滤器======================" ); } @Override public void destroy() { } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 | import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @SpringBootApplication @ServletComponentScan public class ChannelManageApplication { public static void main(String[] args) { SpringApplication.run(ChannelManageApplication. class , args); } } |
如果我的回答解决了你得疑惑,请采纳,祝学习愉快~
4. SSM到Spring Boot入门与综合实战
- 参与学习 人
- 提交作业 323 份
- 解答问题 8263 个
本阶段将带你学习主流框架SSM,以及SpringBoot ,打通成为Java工程师的最后一公里!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧