jetty
相关的文章太多了,我只按照自己的意思做简单总结。
参见:
http://www.cnblogs.com/duanxz/p/3154982.html
http://www.cnblogs.com/windlaughing/archive/2013/06/07/3125358.html
http://www.cnblogs.com/duanxz/p/3154487.html 太过复杂详细。。 谁会这么用呢??
重要的几点:
1 下载相关的jar —— 这个自然的
2 写自己的server —— 继承Server (jetty提供的Server)。
XmlConfiguration configuration = new XmlConfiguration( // 这个XmlConfiguration是jetty提供的
new FileInputStream(this.xmlConfigPath)); // 这个xmlConfigPath路径即jetty.xml
configuration.configure(this);
jetty.xml 是jetty框架的基础配置文件(从名字可知一二)。 主要描述了ip、端口、连接池信息、空闲时间等
web.xml 是servlet的规范,在此时依然有效,依然是用来配置servlet的。—— 相对下者,这个可以理解为 用来配置自定义的servlet 等
webdefault.xml 这个是jetty在提供服务的时候需要注册的自身的一些 基础的配置、启动参数、servlet、listener等, 差不多跟tomcat的配置一样复杂而完整。
3 WebAppContext 顾名思义, 是jetty的web app 上下文环境(非常基础不可或缺的一个接口)。 其提供的几个方法静态方法很重要
setContextPath
setDefaultsDescriptor
setResourceBase
setWar
ContextHandlerCollection handler = new ContextHandlerCollection();
WebAppContext webapp = new WebAppContext();
// WebAppContext 属于handler, extends ServletContextHandler implements WebAppClassLoader.Context
webapp.setContextPath(contextPath); // contextPath相当于一个主机下一个独立的app、 同tomcat一个主机可对应多个contextPath
webapp.setDefaultsDescriptor("./jetty/etc/webdefault.xml");
if (!warDeployFlag) {
webapp.setResourceBase(resourceBase);
webapp.setDescriptor(webXmlPath);
} else {
webapp.setWar(warPath);
}
handler.addHandler(webapp);
super.setHandler(handler);
4 调用Server提供的启动方法即可: super.start() —— 这样就像执行了tomcat的startu.bat一样,
jetty将会解析相关文件,监听相应端口,然后响应请求!
5 部署有两种方式
目录部署 ——通过setResourceBase(resourceBase) 和 setDescriptor(webXmlPath) —— 这两者似乎是可以分离而无依赖的。所以提供了两个方法。。
war部署 ——通过setWar (里面有包含webXmlPath ,所以不用设置了) 。比较慢, 因为,显然的是——解析WAR文件浪费比较时间
6
org.eclipse.jetty.server.Server 是重中之重。 相当于tomcat的Bootstrapper??
参考 http://download.eclipse.org/jetty/stable-7/apidocs/org/eclipse/jetty/server/Server.html
提供有:
start
stop
join ?
addBean removeBean之类的 —— 这个有些不太理解。。。
相当之多 ! 可见其对 web程序的控制, 非常的方便灵活 —— 想起就起,想停就停。。。
jetty的更多相关文章
- No plugin found for prefix ‘jetty’ in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories
maven配置文件(最大的那个)的<pluginGroups></pluginGroups>增加一行如下<pluginGroups><pluginGroup& ...
- sorl6.0+jetty+mysql搭建solr服务
1.下载solr 官网:http://lucene.apache.org/solr/ 2.目录结构如下 3.启动solr(默认使用jetty部署) 在path路径下将 bin文件夹对应的目录加入,然后 ...
- 嵌入式服务器jetty,让你更快开发web
概述 jetty是什么? jetty是轻量级的web服务器和servlet引擎. 它的最大特点是:可以很方便的作为嵌入式服务器. 它是eclipse的一个开源项目.不用怀疑,就是你常用的那个eclip ...
- 详解web容器 - Jetty与Tomcat孰强孰弱
Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器.它有一个基本数据模型,这个数据模型就是 Handler(处理器 ...
- IntelliJ IDEA使用(二):tomcat和jetty配置
上一讲用idea创建了maven web项目,接下来我们把项目发布到tomcat和jetty运行,以便进一步地开发和调试 配置tomcat 第一.打开菜单栏 第二.点击设置按钮,添加应用服务器,选择t ...
- Jetty+Xfire 嵌入式webService应用实践
1:使用场景:Mock公安网证件信息校验 2:Jetty嵌入式Server启动方式:由于Jetty9.x(需jdk7.x以上)以后Server启动方式有略微差异,所以分开说明: 2.1 Jetty9. ...
- 将jetty嵌入到应用中的简单案例
前面说过jetty最广泛的应用是可以方便的嵌入到应用程序中,而不是作为应用服务器,下面就用最简单的demo来演示一个最简单的应用 1.下载并导入依赖 首先应该建立一个普通的java项目,然后把依赖包导 ...
- 修改jetty的默认端口号
jetty默认端口是8080,修改端口号也很简单,首先进入到jetty服务器安装目录下会看到start.ini配置文件,这里就是jetty启动时加载的配置,其中包括要加载的模块,超时时间配置还有这里的 ...
- Linux下安装jetty服务器
jetty和我们通常使用的tomcat一样,是一个开源的servlet容器,特点是轻量易部署,一方面jetty可以作为web容器使用,另一方面也是最一般的方式是jetty以一组jar包的形式发布,所以 ...
- Servlet引擎Jetty之入门1
Jetty与tomcat一样,HttpWeb容器,支持实现Servlet规范. 详细介绍参考:https://www.ibm.com/developerworks/cn/java/j-lo-jetty ...
随机推荐
- webrtc进阶-信令篇-之三:信令、stun、turn、ice
webRTC支持点对点通讯,但是webRTC仍然需要服务端: . 协调通讯过程中客户端之间需要交换元数据, 如一个客户端找到另一个客户端以及通知另一个客户端开始通讯. . 需要处理NAT(网 ...
- iTunes Connect 开发者上手经验(转)
原文:http://www.cnblogs.com/zhw511006/archive/2013/01/15/2860945.html iOS Developer通常需要用到 developer.ap ...
- Sql Server插入数据并返回自增ID,@@IDENTITY,SCOPE_IDENTITY和IDENT_CURRENT的区别
预备知识:SQLServer的IDENTITY关键字IDENTITY关键字代表的是一个函数,而不是identity属性.在access里边没有这个函数,所以在access不能用这个语句.语法:iden ...
- JQuery按回车提交数据
引入JQuery文件 <script src="JS/jquery-1.9.1.js" type="text/javascript"></sc ...
- html form 提交表单的一些问题
1. 如果在一个form里有summit按钮,则只能提交本form的内容
- MongoDB学习笔记-01 简介、安装
MongoDB简介 MongoDB是一种强大.灵活.可拓展的存储方式.是一个面向文档(相当于"行"的概念)的数据库. 可拓展:通过添加服务器而增加存储量. Windows下安装 版 ...
- 首次创建maven项目的准备工作
需要JDK1.5以上.Eclipse.maven maven下载地址:http://maven.apache.org/download.cgi 1.配置环境变量新建系统变量M2_HOME 2.运行cm ...
- MyEclipse下XFire开发Webservice实例
XFire Java SOAP框架概述 (摘自:http://tech.it168.com/j/e/2006-10-28/200610281432707.shtml ) MyEclipse W ...
- C/C++头文件一览
C.传统 C++ #include <assert.h> //设定插入点 #include <ctype.h> //字符处理 #include <errno.h> ...
- android camera 自定义开发
1.检测是否有摄像头 /** Check if this device has a camera */ private boolean checkCameraHardware(Context cont ...