我们写了一个web应用,打成war包后,就需要找一个server来部署.对于我们的实际应用,我们基本没必要自己再写一个嵌入式的server.接下来两篇文章只是以钻研的心态来学习一下嵌入式tomcat和jetty.
促使我去写这篇文章是因为在我看来,gretty不完美,无论用tomcat还是jetty,修改类之后,reload几次内存占用高涨,硬盘读写频繁,最终感到无奈(应用存在内存不正确释放,或许我使用的方式不对).
我选用了<<gradle的war插件>>简单开发的web应用,此例主要开发框架:springmvc(java config方式)+spring data jpa(jpa由hibernate实现)+mysql,开发IDE工具:idea13.1,项目管理工具:gradle,源码下载: http://download.youkuaiyun.com/detail/xiejx618/7696821
一.war包配置的嵌入式tomcat例子.
1.运行一下war任务,对这个web应用打成war包.然后再解压一下这个包.
当然,也可以建一个java工程,到http://tomcat.apache.org/download-80.cgi下载Binary Distributions的Embedded包(下载地址:http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.9/bin/embed/apache-tomcat-8.0.9-embed.zip),把里面的所有jar包加到工程的Libraries就可以了.
b.新建一个含有main方法的可执行类(此类的编写参考了Aleksa Vukotic James Goodwill写的<<Apache Tomcat 7>>CHAPTER9 Embedding Tomcat).
其中baseDir为前面war解压的路径,另两个参数port和contextPath是容易理解的.
c.运行一下main方法,就可以通过浏览器来访问这个web应用了.
appStart方法内第3-5行是为了支持servlet3特性.其中上面的setWar这里就是上面打包的war包路径.
c.运行一下main方法,就可以通过浏览器来访问这个web应用了.
促使我去写这篇文章是因为在我看来,gretty不完美,无论用tomcat还是jetty,修改类之后,reload几次内存占用高涨,硬盘读写频繁,最终感到无奈(应用存在内存不正确释放,或许我使用的方式不对).
我选用了<<gradle的war插件>>简单开发的web应用,此例主要开发框架:springmvc(java config方式)+spring data jpa(jpa由hibernate实现)+mysql,开发IDE工具:idea13.1,项目管理工具:gradle,源码下载: http://download.youkuaiyun.com/detail/xiejx618/7696821
一.war包配置的嵌入式tomcat例子.
1.运行一下war任务,对这个web应用打成war包.然后再解压一下这个包.
2.再新建一个gradle项目
a.build.gradle
当然,也可以建一个java工程,到http://tomcat.apache.org/download-80.cgi下载Binary Distributions的Embedded包(下载地址:http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.9/bin/embed/apache-tomcat-8.0.9-embed.zip),把里面的所有jar包加到工程的Libraries就可以了.
b.新建一个含有main方法的可执行类(此类的编写参考了Aleksa Vukotic James Goodwill写的<<Apache Tomcat 7>>CHAPTER9 Embedding Tomcat).
其中baseDir为前面war解压的路径,另两个参数port和contextPath是容易理解的.
c.运行一下main方法,就可以通过浏览器来访问这个web应用了.
二.war包配置的嵌入式jetty例子.
1.运行一下war任务,对这个web应用打成war包.
2.再新建一个gradle项目.
a.build.gradle
appStart方法内第3-5行是为了支持servlet3特性.其中上面的setWar这里就是上面打包的war包路径.
c.运行一下main方法,就可以通过浏览器来访问这个web应用了.