前面所述的https://www.cnblogs.com/toov5/p/9823728.html 中的第一條先不贅述了,就是玩了maven
重點介紹后兩條
首先內置Tomcat:
SpringBoot中內置tomcat服務器
Java操作創建tomcat
我們點擊pom中的
持續點擊到
繼續點擊會發現:
這個依賴 為我所需~
注意:Springboot2.0之后 Tomcat8.0以上版本
引入到自己的pom中(類似的還有其他的依賴包):
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.toov5.tomcat</groupId> <artifactId>tomcat</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <!--Java語言操作tomcat --> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-core</artifactId> <version>8.5.16</version> </dependency> <!-- tomcat對jsp支持 --> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jasper</artifactId> <version>8.5.16</version> </dependency> </dependencies> </project>
servlet代碼:
package com.toov5.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 { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.getWriter().print("successful congratulation "); } }
然后用servlet創建Tomcat容器
package com.toov5.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.toov5.servlet.IndexServlet; //使用Java創建Tomcat容器 //tomcat 底層執行程序 最終執行servlet //Springmvc底層使用servlet public class Test { private static int PORT = 8080; //端口 private static String CONTEX_PATH = "/toov5"; //項目訪問名稱 private static String SERVLET_NAME="IndexServet"; public static void main(String[] args) { Tomcat tomcatServer = new Tomcat(); tomcatServer.setPort(PORT); //指定端口號 //是否設置自動部署 tomcatServer.getHost().setAutoDeploy(false); //創建上下文,拿到上下文后就可以設置整個訪問地址了 StandardContext standardContext = new StandardContext(); standardContext.setPath(CONTEX_PATH); //監聽上下文 standardContext.addLifecycleListener(new FixContextListener()); standardContext.addLifecycleListener(new FixContextListener()); // tomcat容器添加standardContext 添加整個context tomcatServer.getHost().addChild(standardContext); // 創建servlet servlet的名字叫IndexServlet tomcatServer.addServlet(CONTEX_PATH, SERVLET_NAME, new IndexServlet()); // 添加servleturl映射 standardContext.addServletMappingDecoded("/index", SERVLET_NAME); try { tomcatServer.start(); } catch (LifecycleException e) { e.printStackTrace(); } System.out.println("tomcat服務器啟動成功!"); //需要異步接受請求 tomcatServer.getServer().await(); } }
這段代碼等同於,
web.xml中的:
<servlet> <servlet-name>toov5</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/springmvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>toov5</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
項目目錄結構:
啟動:
訪問路徑名字是這個:
上下文:
訪問之:
小伙伴,有木有很好玩呀~
下一步我們將加載 Springmvc 在這里