maven工程使用tomcat相关jar包通过main方法启动服务

pom依赖
<modelVersion>4.0.0</modelVersion>

<groupId>com</groupId>
<artifactId>com.yb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>itmayiedu_day33_java_tomcat</name>
<description>Demo project for Spring Boot</description>

<dependencies>
<!-- Java语言操作tomcat -->
	<dependency>
      <groupId>org.apache.tomcat.embed</groupId>
      <artifactId>tomcat-embed-core</artifactId>
      <version>8.5.28</version>
   </dependency>
   <!-- spring-web -->
   <!-- spring-mvc -->
 <!-- <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>5.0.4.RELEASE</version>
   <scope>compile</scope>
</dependency> -->
   <!-- tomcat对jsp支持 -->
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jasper</artifactId>
    <version>8.5.28</version>
</dependency>
</dependencies>
测试类Test001代码

package com.itmayiedu.tomcat;

import org.apache.catalina.LifecycleException;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.startup.Tomcat;
import org.apache.catalina.startup.Tomcat.FixContextListener;

import com.itmayiedu.servlet.IndexServlet;
/**

  • 使用java语言创建tomcat服务器
  • Tomcat底层执行程序 最终servlet
  • SpringMVC底层使用servlet包装
  • @author yb

*/
public class Test001 {
private static final int PORT = 8080;
//项目访问路径
private static final String CONTEXT_PATH = “/itmayiedu”;//拦截路径
private static final String SERVLET_NAME = “indexServlet”;//监听servlet名字
public static void main(String[] args) throws LifecycleException, InterruptedException {
//创建tomcat服务器
Tomcat tomcatServer = new Tomcat();
//指定端口号
tomcatServer.setPort(PORT);
//是否设置自动部署 false表示不设置
tomcatServer.getHost().setAutoDeploy(false);
//创建上下文
StandardContext standardContext = new StandardContext();
standardContext.setPath(CONTEXT_PATH);
//监听上下文
standardContext.addLifecycleListener(new FixContextListener());
//tomcat容器添加standardContext
tomcatServer.getHost().addChild(standardContext);
//创建servlet
tomcatServer.addServlet(CONTEXT_PATH, SERVLET_NAME, new IndexServlet());
//servleturl映射
standardContext.addServletMappingDecoded("/index", SERVLET_NAME);
tomcatServer.start();
System.out.println(“tomcat服务器启动了”);
//异步进行接收请求
tomcatServer.getServer().await();
}
}

servlet容器代码

package com.itmayiedu.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class IndexServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doPost(req, resp);
}

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

}

相关运行效果

在这里插入图片描述

在这里插入图片描述

发布了9 篇原创文章 · 获赞 15 · 访问量 261

猜你喜欢

转载自blog.csdn.net/m0_46266503/article/details/105732955