三期_day12_其它+jetty的使用
1.大致总结
行程管理和留言反馈和前面的思路差点儿相同,这里就不多啰嗦了。经过十几天的写写停停。有了一个初步的进展了,再往下写也没有啥欲望了。还是研究下android和server,设计模式和网络这些东西吧,毕竟留给我的时间也不多了。这个暑假一过,那么也就该去实习了,想想大学真特么快,这俩个月,这个月已经过了1/3,没有干啥事,天天吃吃喝喝。打打游戏。
日子也过得满意。后面就写一下在开发中遇到一些不懂的东西吧,比如mybatis中的事务,jetty的使用和原理,以及打包公布。
2.jetty的使用
http://search.maven.org/#search 在这个站点输入"jetty-maven-plugin",找到groupId为org.eclipse.jetty,在pom.xml中增加例如以下代码。
<build>
<finalName>crm</finalName>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.0.M2</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webApp>
<contextPath>/crm</contextPath>
</webApp>
</configuration>
<executions>
<execution>
<id>jetty-run</id>
<phase>install</phase> <!--在maven install时就捎带执行jetty:run了。方便公布 -->
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
当然里面的配置能够任意改动,jetty的启动和停止都可设置,扫描时间。
做完这些后,项目右键"Run as" -> Maven build -> Name:随便 Goals:jetty:run -> 点击Run 就可以
这个时候输入http://localhost:8080/crm/login.html 。会看到网页图标变成了一个
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
Jetty的长处: 之前没有使用。后来是项目完毕了才去研究jetty的,太亏了。由于找个BUG你要不停的启动server和清缓存,
改动一点java文件就要重新启动。真麻烦。假设使用jetty的话測试的话就非常舒服了。
以下是网上找的资料,有些东西还看不懂。比如设计模式,AJP。就简单的看一下。好有个印象。NIO,BIO....
servlet响应慢问题上。会有非常大的优势,他不会让一个线程傻傻地在等待数据库訪问完毕,而是会放入线程池去处理其它请求。continuations的引入能用非常少的线程处理大量的请求。
Jetty 能够作为嵌入式server使用,Jetty的执行速度较快。并且是轻量级的,能够在Java中能够从test case中控制其执行。从而能够使自己主动化測试不再依赖外部环境,顺利实现自己主动化測试。
性能比較
单纯比較 Tomcat 与 Jetty 的性能意义不是非常大,仅仅能说在某种使用场景下,它表现的各有差异。
由于它们面向的使用场景不尽同样。
从架构上来看 Tomcat 在处理少数非常繁忙的连接上更有优势,也就是说连接的生命周期假设短的话,Tomcat 的整体性能更高。
而 Jetty 刚好相反,Jetty 能够同一时候处理大量连接并且能够长时间保持这些连接。比如像一些 web 聊天应用很适合用 Jetty 做server,像淘宝的 web 旺旺就是用 Jetty 作为 Servlet 引擎。
另外因为 Jetty 的架构很easy,作为server它能够按需载入组件,这样不须要的组件能够去掉,这样无形能够降低server本身的内存开销。处理一次请求也是能够降低产生的暂时对象。这样性能也会提高。另外 Jetty 默认使用的是 NIO 技术在处理 I/O 请求上更占优势,Tomcat 默认使用的是 BIO。在处理静态资源时,Tomcat 的性能不如
Jetty。
特性比較
作为一个标准的 Servlet 引擎。它们都支持标准的 Servlet 规范,还有 Java EE 的规范也都支持,由于 Tomcat 的使用的更加广泛,它对这些支持的更加全面一些,有非常多特性 Tomcat 都直接集成进来了。可是 Jetty 的应变更加高速,这一方面是由于
Jetty 的开发社区更加活跃,还有一方面也是由于 Jetty 的改动更加简单,它仅仅要把对应的组件替换就好了,而 Tomcat 的总体结构上要复杂非常多,改动功能比較缓慢。所以 Tomcat 对最新的 Servlet 规范的支持总是要比人们预期的要晚。
參考站点http://www.ibm.com/developerworks/cn/java/j-lo-jetty/
參考站点http://www.cnblogs.com/fnng/archive/2011/12/16/2290587.html
我是菜鸟,我在路上。
三期_day12_其它+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包的形式发布,所以 ...
随机推荐
- 【NOIP 2013 DAY2 T3】 华容道(spfa)
题目描述 [问题描述] 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面, 华容道是否根本就无法完成,如果能完成, 最少需要多少时间. 小 ...
- ANDROID_MARS学习笔记_S02_002_Date\TimePicker
一.文档用法 1.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
- ANDROID_MARS学习笔记_S01原始版_010_ContentProvider
一.简介 一.代码1.xml(1)main.xml <?xml version="1.0" encoding="utf-8"?> <Linea ...
- C++中为什么要用虚函数、指针或引用才能实现多态?
原文链接:http://blog.csdn.net/zoopang/article/details/14071779 学过C++的都知道,要实现C++的多态性必须要用到虚函数,并且还要使用引用或者指针 ...
- Hadoop2.2编程:新旧API的区别
Hadoop最新版本的MapReduce Release 0.20.0的API包括了一个全新的Mapreduce JAVA API,有时候也称为上下文对象. 新的API类型上不兼容以前的API,所以, ...
- 解决WebService 测试窗体只能用于来自本地计算机的请求
问题: 今天上 午,WebService部署成站点之后,如果在本地测试webservice可以运行,在远程却显示“测试窗体只能用于来自本地计算机的请求”或 者"The test form i ...
- SCOI2005互不侵犯King
1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1499 Solved: 872[Submit][S ...
- POJ 1062 昂贵的聘礼 解题报告
本题不难,但是笔者贡献了30多次Submit……就像Discuss讨论的一样,细节决定成败,WA了肯定有理由. 贴代码,Dijkstra+优先队列. #include <cstdio> # ...
- 一个不错的php图片处理类EasyPhpThumbnail Class
EasyPhpThumbnail Class EasyPhpThumbnail Class用于处理图片操作和生成缩略图.支持GIF.JPG和PNG三种格式. 提供的功能包括:Resize.剪切.旋 ...
- Ubuntu 安装Chrome步骤
一.添加PPA 从Google Linux Repository(http://www.google.com/linuxrepositories/)下载安装Key,或把下面的代码复制进终端,回车,需要 ...