设为首页 收藏本站
查看: 1329|回复: 0

[经验分享] 利用jetty实现超轻量级web开发

[复制链接]

尚未签到

发表于 2017-2-27 06:20:29 | 显示全部楼层 |阅读模式
  几年前,如果你不用EJB,很多人都用IDE+tomcat插件做web开发。
现在越来越多人使用jetty了。这不是简单地用Jetty替换tomcat,巧妙的地方在于我们可以直接用main函数在IDE里启动Jetty.
这样,你不需要配置IDE的server。不同于IDE+tomcat插件的方式需要两个project,web app和server
project. 使用下面介绍的方式你只有一个java project就行. 开发环境更简单,debug也更方便,不需要remote
debug的方式,jetty非常快,可以明显提高开发效率。
  参考了网上的一些文章,整理了一下。本文以Eclipse作为IDE。最后有可以运行的示例代码下载,非常简单。
  1. 建立Java project(不必是dynamic web project), 取个名字,比如jetty
  2.
建立jetty目录及其子目录如图所示。
所有文件都可以在最后的附件里找到。略作一点说明:webdefault.xml通常不需要你改。它是web.xml之外的一个配置文件,配置一些公共属
性。web
app的文件,jsp之类的都放在web目录下。web.xml和index.jsp都是示例性质最简单的。lib目录下需要放一些jetty的jar
包,也一样在附件里有
DSC0000.png

  3. 新建java文件如下:(注意这里我用的端口是8020,以免和其他jboss或tomcat冲突)

   1:
package
jetty;
   2:
 
   3:
import
org.mortbay.jetty.Connector;
   4:
import
org.mortbay.jetty.Server;
   5:
import
org.mortbay.jetty.nio.SelectChannelConnector;
   6:
import
org.mortbay.jetty.webapp.WebAppContext;
   7:
 
   8:
public
class
OneWebApp
   9:
{
  10:
public
static
void
main(String[] args) throws
Exception
  11:
{
  12:
String jetty_home = "jetty"
;
  13:
int
port = 8020;
  14:
 
  15:
Server server = new
Server();
  16:

  17:
Connector connector=new
SelectChannelConnector();
  18:
connector.setPort(port);
  19:
server.addConnector(connector);
  20:

  21:
WebAppContext webapp = new
WebAppContext(jetty_home + "/web"
, "/jetty"
);
  22:
webapp.setDefaultsDescriptor(jetty_home+"/etc/webdefault.xml"
);
  23:

  24:
server.setHandler(webapp);
  25:

  26:
server.start();
  27:
//server.join();

  28:
}
  29:
}



  可以run这个java文件,然后在浏览器里访问http://localhost:8020/jetty
看结果。
  整个eclipse工程可以从这里下载:http://cid-d8b11f9bf86fecfa.office.live.com/self.aspx/.Public/code/RunJettyInEclipse.rar

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-347555-1-1.html 上篇帖子: Jetty 入门:安装,部署第一个web application 下篇帖子: Jetty用spring bean格式配置hotdeploy不生效
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表