GitBlog


监听器及springboot实现


监听器

现在来说说Servlet的监听器Listener,
它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,
它也是随web应用的启动而启动,只初始化一次,
随web应用的停止而销毁。
主要作用是: 做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等。
下面利用监听器对数据库连接池

  package dc.gz.listeners;   
 import javax.servlet.ServletContext;   
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.apache.commons.dbcp.BasicDataSource;

/**
* Web应用监听器
*/
public class MyServletContextListener implements ServletContextListener {
// 应用监听器的销毁方法
public void contextDestroyed(ServletContextEvent event) {
ServletContext sc = event.getServletContext();
// 在整个web应用销毁之前调用,将所有应用空间所设置的内容清空
sc.removeAttribute("dataSource");
System.out.println("销毁工作完成...");
}

// 应用监听器的初始化方法
public void contextInitialized(ServletContextEvent event) {
// 通过这个事件可以获取整个应用的空间
// 在整个web应用下面启动的时候做一些初始化的内容添加工作
ServletContext sc = event.getServletContext();
// 设置一些基本的内容;比如一些参数或者是一些固定的对象
// 创建DataSource对象,连接池技术 dbcp
BasicDataSource bds = new BasicDataSource();
bds.setDriverClassName("com.mysql.jdbc.Driver");
bds.setUrl("jdbc:mysql://localhost:3306/hibernate");
bds.setUsername("root");
bds.setPassword("root");
bds.setMaxActive(10);//最大连接数
bds.setMaxIdle(5);//最大管理数
//bds.setMaxWait(maxWait); 最大等待时间
// 把 DataSource 放入ServletContext空间中,
// 供整个web应用的使用(获取数据库连接)
sc.setAttribute("dataSource", bds);
System.out.println("应用监听器初始化工作完成...");
System.out.println("已经创建DataSource...");
}
}



 
<!-- 配置应用监听器  -->   
<listener>
<listener-class>dc.gz.listeners.MyServletContextListener</listener-class>
</listener>


 
这样配置好了之后,以后在web应用中就可以通过ServletContext取得BasicDataSource对象,从而获取与数据库的连接,提高性能,方便使用。


spring boot
package com.example.Listener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
@WebListener
public class IndexListener2 implements ServletContextListener{
@Override
public void contextDestroyed(ServletContextEvent arg0) {
System.out.println("IndexListener2 contextDestroyed method");
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("IndexListener2 contextInitialized method");
}
}



关于项目

做过很多个的博客了,发现自己做博客最大的问题就是,没钱!虽然也会买一些云服务器,但是还是觉得好贵啊!

后来听说可以用github做博客,自己也折腾过hexo之类的东东,但始终用起来很不爽!毕竟是别人定制的东西,很多diy的地方都不是那么尽人意!

所以最后决定自己写一个,反正git的页面就是些静态页面呗!自己写个内容管理系统还不是手到擒来!后台用springboot很容易就搞定了,数据库在几番研究后使用了非常轻量的嵌入式数据库,h2!然后数据移植的问题也搞定了!用vue随意搭了个管理页面,写上几个模板,新鲜出炉的gitblog就做好了!

接下来,优化模板的样式,增加标签功能,把管理页面嵌入博客,加入评论!!!!

查看更多 →
文章目录