三期_day12_其他+jetty的使用

来源:互联网 发布:ps源码 www.psd190.com 编辑:程序博客网 时间:2024/04/30 03:55


1.大致总结

行程管理和留言反馈和前面的思路差不多,这里就不多啰嗦了。经过十几天的写写停停,有了一个初步的进展了,再往下写也没有啥欲望了,还是研究下android和服务器,设计模式和网络这些东西吧,毕竟留给我的时间也不多了,这个暑假一过,那么也就该去实习了,想想大学真特么快,这俩个月,这个月已经过了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 ,会看到网页图标变成了一个


Jetty的优点: 之前没有使用,后来是项目完成了才去研究jetty的,太亏了,因为找个BUG你要不停的启动服务器和清缓存,

修改一点java文件就要重启,真麻烦,如果使用jetty的话测试的话就很舒服了。

下面是网上找的资料,有些东西还看不懂,例如设计模式,AJP。就简单的看一下,好有个印象,NIO,BIO....


1.是什么? 
在使用了 Ajax 的 Web 2.0 的应用程序中,每个连接需要保持更长的时间,这样线程和内存的消耗量会急剧的增加。

jetty的continuations在短连接上不见得有很大的优势,但是在长连接或者在后台访问IO资源(数据库,网络等)造成的 servlet响应慢问题上,会有很大的优势,他不会让一个线程傻傻地在等待数据库访问完成,而是会放入线程池去处理其他请求。continuations的引入能用很少的线程处理大量的请求。


Jetty 可以作为嵌入式服务器使用,Jetty的运行速度较快,而且是轻量级的,可以在Java中可以从test case中控制其运行。从而可以使自动化测试不再依赖外部环境,顺利实现自动化测试
        --百度百科

注意,是测试!

 

性能比较

单纯比较 Tomcat 与 Jetty 的性能意义不是很大,只能说在某种使用场景下,它表现的各有差异。因为它们面向的使用场景不尽相同。从架构上来看 Tomcat 在处理少数非常繁忙的连接上更有优势,也就是说连接的生命周期如果短的话,Tomcat 的总体性能更高。

而 Jetty 刚好相反,Jetty 可以同时处理大量连接而且可以长时间保持这些连接。例如像一些 web 聊天应用非常适合用 Jetty 做服务器,像淘宝的 web 旺旺就是用 Jetty 作为 Servlet 引擎。

另外由于 Jetty 的架构非常简单,作为服务器它可以按需加载组件,这样不需要的组件可以去掉,这样无形可以减少服务器本身的内存开销,处理一次请求也是可以减少产生的临时对象,这样性能也会提高。另外 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


我是菜鸟,我在路上。

0 0