嵌入式tomcat
背景
随着微服务的流程,后台框架springboot越来越流行,前端框架也是html + 模板引擎,慢慢的传统的用tomcat部署的web项目会越来越少。springboot里面集成的是嵌入式的tomcat。
嵌入式tomcat实现
- maven引入tomcat依赖
包括tomcat的所有api,我们可以面向接口开发。
<!-- 引入Maven的Tomcat -->
<dependency>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</dependency>
- 实现
- tomcat启动类
tomcat6以前启动类名叫enbedded,tomcat7以后启动类叫tomcat
public class EmbeddedTomcatServer {
/*
* 手写嵌入式Tomcat
*/
public static void main(String[] args) throws Exception{
//把目录的绝对的路径获取到
String classpath = System.getProperty("user.dir");
System.out.println(classpath);
//D:\workspace-tomcat\tomcat-maven
//我们new一个Tomcat
Tomcat tomcat = new Tomcat();
//插件是6或者6以前的
//Embbedded
//设置Tomcat的端口
//tomcat.setPort(9090);
Connector connector = tomcat.getConnector();
connector.setPort(9091);
//设置Host
Host host = tomcat.getHost();
//我们会根据xml配置文件来
host.setName("localhost");
host.setAppBase("webapps");
//前面的那个步骤只是把Tomcat起起来了,但是没啥东西
//要把class加载进来,把启动的工程加入进来了
Context context =tomcat.addContext(host, "/", classpath);
if(context instanceof StandardContext){
StandardContext standardContext = (StandardContext)context;
standardContext.setDefaultContextXml("D:/tools/apache-tomcat-8.0.52/conf/web.xml");
//我们要把Servlet设置进去
Wrapper wrapper = tomcat.addServlet("/", "DemoServlet", new DemoServlet());
wrapper.addMapping("/king");
}
//Tomcat跑起来
tomcat.start();
//强制Tomcat server等待,避免main线程执行结束后关闭
tomcat.getServer().await();
}
}
- servelet实现
public class DemoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE html><html>");
out.println("<head>");
out.println("<meta charset=\"UTF-8\" />");
out.println("<title></title>");
out.println("</head>");
out.println("<body bgcolor=\"white\">");
out.println("<h1>allen V5!</h1>");
out.println("</body>");
out.println("</html>");
}
}
SpringBoot中的嵌入式Tomcat详解
本文介绍了嵌入式Tomcat在微服务趋势下的背景,重点讲解了SpringBoot如何实现嵌入式Tomcat,包括如何通过Maven引入Tomcat依赖以及面向接口的开发方式。同时,文中还提及了不同Tomcat版本的启动类差异。
489

被折叠的 条评论
为什么被折叠?



