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");
}
}
相关运行效果 |