当前位置: 首页 > news >正文

织梦软件展示网站源码搜索引擎推广排名

织梦软件展示网站源码,搜索引擎推广排名,做亚马逊和淘宝网站,网站建设学什么语言文章目录 前言一、原生注解方式注入二、Spring方式注入三、切换web服务器与定制化总结 前言 注入Web原生Servlet、Filter、Listeber以及切换Web服务器。 一、原生注解方式注入 官方文档 - Servlets, Filters, and listeners Servlet注入: WebServlet(urlPattern…

文章目录

  • 前言
  • 一、原生注解方式注入
  • 二、Spring方式注入
  • 三、切换web服务器与定制化
  • 总结


前言

注入Web原生Servlet、Filter、Listeber以及切换Web服务器。


一、原生注解方式注入

官方文档 - Servlets, Filters, and listeners

Servlet注入:

@WebServlet(urlPatterns = "/my")
public class MyServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.getWriter().write("66666");}
}

Filter注入:

@Slf4j
@WebFilter(urlPatterns={"/css/*","/images/*"})
public class MyFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {log.info("MyFilter初始化完成");}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {log.info("MyFilter工作");chain.doFilter(request,response);}@Overridepublic void destroy() {log.info("MyFilter销毁");}
}

Listener注入:

@Slf4j
@WebListener
public class MyServletContextListener implements ServletContextListener {@Overridepublic void contextInitialized(ServletContextEvent sce) {log.info("MySwervletContextListener监听到项目初始化完成");}@Overridepublic void contextDestroyed(ServletContextEvent sce) {log.info("MySwervletContextListener监听到项目销毁");}
}

最后还要在主启动类添加注解@ServletComponentScan:

@SpringBootApplication
@ServletComponentScan(basePackages = "com.dragon.admin")//开启servlet注入组件扫描
public class Springboot4Application {public static void main(String[] args) {SpringApplication.run(Springboot4Application.class, args);}}

二、Spring方式注入

首先将上面的三个类上的注释都取消,作普通类。

ServletRegistrationBean, FilterRegistrationBean, ServletListenerRegistrationBean

@Configuration(proxyBeanMethods = true)
public class MyRegisterConfig {@Beanpublic ServletRegistrationBean myServlet(){Myservlet myservlet = new Myservlet();return new ServletRegistrationBean(myservlet,"/my","/my02");}@Beanpublic FilterRegistrationBean myFilter(){MyFilter myFilter = new MyFilter();
//        return new FilterRegistrationBean(myFilter,myServlet());FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(myFilter);filterRegistrationBean.setUrlPatterns(Arrays.asList("/my","/css/*"));return filterRegistrationBean;}@Beanpublic ServletListenerRegistrationBean myListener(){MyServletContextListener myServletContextListener = new MyServletContextListener();return new ServletListenerRegistrationBean(myServletContextListener);}
}

三、切换web服务器与定制化

  • 默认支持的WebServer

    • Tomcat, Jetty, or Undertow
    • ServletWebServerApplicationContext 容器启动寻找ServletWebServerFactory 并引导创建服务器。
  • 原理

    • SpringBoot应用启动发现当前是Web应用,web场景包-导入tomcat。
    • web应用会创建一个web版的IOC容器 ServletWebServerApplicationContext
    • ServletWebServerApplicationContext 启动的时候寻找 ServletWebServerFactory (Servlet 的web服务器工厂——>Servlet 的web服务器)。
    • SpringBoot底层默认有很多的WebServer工厂(ServletWebServerFactoryConfiguration内创建Bean),如:
      • TomcatServletWebServerFactory
      • JettyServletWebServerFactory
      • UndertowServletWebServerFactory
    • 底层直接会有一个自动配置类ServletWebServerFactoryAutoConfiguration
    • ServletWebServerFactoryAutoConfiguration导入了ServletWebServerFactoryConfiguration(配置类)。
    • ServletWebServerFactoryConfiguration 根据动态判断系统中到底导入了那个Web服务器的包。(默认是web-starter导入tomcat包),容器中就有 TomcatServletWebServerFactory
    • TomcatServletWebServerFactory 创建出Tomcat服务器并启动;TomcatWebServer 的构造器拥有初始化方法initialize——this.tomcat.start();
    • 内嵌服务器,与以前手动把启动服务器相比,改成现在使用代码启动(tomcat核心jar包存在)。

Spring Boot默认使用Tomcat服务器,若需更改其他服务器,则修改工程pom.xml:
这是修改成jetty的服务器

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions>
</dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

官方文档 - Use Another Web Server


总结

以上就是Web原生组件注入。

http://www.tj-hxxt.cn/news/111176.html

相关文章:

  • ftp里找到的index文件查看网站建设中济南网站建设哪家便宜
  • 美国做汽车配件的网站百度平台商家订单查询
  • 惠州网站制作公司外贸网站建设流程
  • 海淀地区网站建设常州seo收费
  • led行业网站源码关键词排名查询工具免费
  • 在那个网站做ppt可以赚钱win10必做的优化
  • 蝌蚪窝一个释放做网站网站seo思路
  • 奇网企业网站管理系统今日关键词
  • 做a高清视频在线观看网站百度推广后台登录页面
  • 宝钢建设工程有限公司网站域名权重查询
  • 广州正佳广场在哪个区搜索引擎优化公司排行
  • 张家港市做网站的公司nba赛季排名
  • seo优化网站建设公司百度推广的方式
  • 无锡建设厅的官方网站提升seo搜索排名
  • 网站招聘怎么做黑帽seo技术有哪些
  • 自适应网站建设极速建站整合营销传播的六种方法
  • 专门做衣服的网站百度刷排名百度快速排名
  • 政府门户网站建设的误区网络销售怎么聊客户
  • 急招网络销售招聘seo建站技巧
  • 做网站 需要了解什么广告设计
  • 网站开发培训什么全国疫情高峰感染进度
  • 宁津做网站公司seo刷关键词排名工具
  • 刚做的网站怎么才能搜到我seo技术培训机构
  • 定制开发电商网站建设公司二级域名查询网站
  • 六安住房和城乡建设委员会网站百度快照推广有效果吗
  • 免费申请自己的网站seo怎么优化网站排名
  • 上海网站建设服务时事新闻最新2022
  • 网站建设后台管理怎么进入域名注册费用
  • 网页版qq在线cpu优化软件
  • 博乐建设工程信息网站南宁百度首页优化