使用main方法启动tomcat简洁版
pring boot提供了一种快速使用spring的方式,其中一项就是使用main方法装配启动tomcat。他是如何做到的呢?
一. 首先是一个启动tomcat的简单例子:
0. 先导入tomcat的jar包(准备工作)。
如果是maven项目:
7.0.47 org.apache.tomcat.embed tomcat-embed-core ${tomcat.version} org.apache.tomcat tomcat-util ${tomcat.version} org.apache.tomcat tomcat-coyote ${tomcat.version} org.apache.tomcat tomcat-api ${tomcat.version} org.apache.tomcat tomcat-jdbc ${tomcat.version} org.apache.tomcat tomcat-dbcp ${tomcat.version} org.apache.tomcat tomcat-servlet-api ${tomcat.version} org.apache.tomcat tomcat-jsp-api ${tomcat.version} org.apache.tomcat tomcat-jasper ${tomcat.version} org.apache.tomcat tomcat-jasper-el ${tomcat.version} org.apache.tomcat tomcat-el-api ${tomcat.version} org.apache.tomcat tomcat-catalina ${tomcat.version} org.apache.tomcat tomcat-tribes ${tomcat.version} org.apache.tomcat tomcat-catalina-ha ${tomcat.version} org.apache.tomcat tomcat-annotations-api ${tomcat.version}
如果只是普通的项目:那就直接把tomcat的lib目录下的所有jar包导入(虽然很多用不到,但是这样快呀),再导入bin目录下的一个名叫tomcat-juli.jar的包即可。
1. 先创建一个类,复制下面的main方法到自己的类中。
public static void main(String[] args) {Tomcat tomcat = new Tomcat();// 设置主机名称tomcat.setHostname("localhost");tomcat.setPort(8080);tomcat.setBaseDir(System.getProperty("user.dir"));StandardContext context = new StandardContext();// 设置资源路径context.setDocBase((System.getProperty("user.dir")+"\\src\\main\\resources\\static").replace("\\","/"));// 设置应用路径context.setPath("");context.addLifecycleListener(new Tomcat.FixContextListener());// 将context加入tomcattomcat.getHost().addChild(context);// 在context中创建表示servlet的Wrapper并返回Wrapper testServlet = context.createWrapper();testServlet.setName("test");testServlet.setServletClass("com.wenliang.servlet.TestServlet");testServlet.addInitParameter("fork", "false");context.addChild(testServlet);context.addServletMapping("/test", "test");try {// 启动tomcattomcat.start();} catch (LifecycleException e) {e.printStackTrace();}// 等待请求tomcat.getServer().await();}
2. 在刚才的main方法中,加入了一个servlet,所以此时需要先创建此servlet。
public class TestServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.getWriter().write("helloworld");}
}
3. 启动main方法,输入地址访问 http://localhost:8080/test。
你将看到返回结果:helloworld
至此,一个简单的使用main方法启动tomcat的例子就完成了。
升级版
对此做了一些封装,代码提交到了githup下:
ssh地址:git@github.com:wenliangne/wl.git
https地址:https://github.com/wenliangne/wl.git
路径:wl/wl/quickstart
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
