SpringBoot使用Java语言创建内置Tomcat容器

什么是SpringBoot框架

SpringBoot是一个快速整合第三方框架。简化xml配置,完全采用注解化;内置HTTP服务器(Jetty和Tomcat),最终以Java应用程序执行。

注意:SpringBoot不是微服务框架。SpringCloud底层依赖于SpringBoot实现微服务接口(SpringBoot Web组件集成SpringMVC),采用SpringMVC书写接口。

SpringBoot原理分析

  • 快速整合第三方框架。原理是:Maven子父依赖关系,相当于将需要整合的jar封装好依赖信息。

  • 完全无配置文件(采用注解化)。那么如何初始化呢?没有web.xml那么tomcat是如何启动的?注解是在spring3.0以上开始,SpringMVC内置注解加载整个SpringMVC容器。使用Java代码编写SpringMVC配置初始化。@EnableWebMvc注解。

  • 内置HTTP服务器。原理是使用Java语言创建Tomcat容器,加载class文件。

代码实现。

1.pom.xml文件,需要依赖的jar包。

    <dependencies>
        <!--Java 语言操作Tomcat-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
            <version>8.5.23</version>
        </dependency>
        <!--tomcat 对象jap的支持-->
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jasper</artifactId>
            <version>7.0.47</version>
        </dependency>
    </dependencies>

2.servlet类

/**
 * Create bySeptember
 * 2019/4/9
 * 15:13
 */
public class IndexServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().print("this is index by tomcat exe");
    }
}

3.启动程序的main类。

public class TomcatServer {
    public static void main(String[] args) throws LifecycleException, InterruptedException {
        //创建tomcat服务器
        Tomcat tomcatServer = new Tomcat();
        //设置port
        tomcatServer.setPort(8085);
        //是否设置自动部署
        tomcatServer.getHost().setAutoDeploy(false);
        //创建上下文
        StandardContext standardContext = new StandardContext();
        //Path上下文路径
        standardContext.setPath("/jiuyue");
        //监听上下文
        standardContext.addLifecycleListener(new Tomcat.FixContextListener());
        //tomcat容器添加standardContext上下文
        tomcatServer.getHost().addChild(standardContext);
        //创建servlet
        tomcatServer.addServlet("/jiuyue", "indexServlet",new IndexServlet());
        //servlet URL映射
        standardContext.addServletMappingDecoded("/index","indexServlet");
        tomcatServer.start();
        System.out.println("Java语言创建Tomcat启动成功");
        //异步进行接收请求
        tomcatServer.getServer().await();

    }
}

访问http://localhost:8085/jiuyue/index
浏览器返回 this is index by tomcat exe

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值