三期_day12_其它+jetty的使用

三期_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 。会看到网页图标变成了一个三期_day12_其它+jetty的使用

Jetty的长处: 之前没有使用。后来是项目完毕了才去研究jetty的,太亏了。由于找个BUG你要不停的启动server和清缓存,

改动一点java文件就要重新启动。真麻烦。假设使用jetty的话測试的话就非常舒服了。

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


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

jetty的continuations在短连接上不见得有非常大的优势,可是在长连接或者在后台訪问IO资源(数据库,网络等)造成的 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

我是菜鸟,我在路上。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115527.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月3日 上午8:00
下一篇 2022年2月3日 上午9:00


相关推荐

  • laravel ajax 解决报错419 csrf 问题

    laravel ajax 解决报错419 csrf 问题

    2022年2月15日
    59
  • DevStack云计算平台快速搭建

    这学期学校开了一门课,叫云计算平台搭建,用的书是OpenStack,这个是现在比较流行的一个云计算平台,官方对这个平台的解释是OpenStackisacloudoperatingsystemthatcontrolslargepoolsofcompute,storage,andnetworkingresourcesthroughoutadatacenter,al

    2022年4月8日
    74
  • java获取窗口_获取窗口句柄[通俗易懂]

    java获取窗口_获取窗口句柄[通俗易懂]1、使用FindWindow函数获取窗口句柄示例:使用FindWindow函数获取窗口句柄,然后获得窗口大小和标题,并且移动窗口到指定位置。#include#include#include#includeintmain(intargc,char*argv[]){//根据窗口名获取QQ游戏登录窗口句柄HWNDhq=FindWindow(NULL,”QQ2012″);//得到QQ窗口…

    2022年7月21日
    145
  • MATLAB实现最小二乘法

    MATLAB实现最小二乘法最小二乘法 nbsp nbsp nbsp nbsp 最小二乘法 又称最小平方法 是一种数学优化技术 它通过最小化误差的平方和寻找数据的最佳函数匹配 nbsp nbsp nbsp nbsp 利用最小二乘法可以简便地求得未知的数据 并使得这些求得的数据与实际数据之间误差的平方和为最小 最小二乘法还可用于曲线拟合 其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达 线性函数模型 nbsp nbsp nbsp nbsp 典型的一类函数模型是线性

    2026年3月16日
    3
  • ER图(实体-联系图)「建议收藏」

    ER图(实体-联系图)「建议收藏」概念E-R图也称实体-联系图(EntityRelationshipDiagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。构成ER图有实体(entity)、属性(attribute)、关系(relationship)三部分。用“矩形框”表示实体型,矩形框内写明实体名称;用“椭圆框”表示实体的属性,将属性名记入框中;用”菱形框“表示实体型之间的关系,在菱形…

    2026年2月17日
    5
  • PyCharm 汉化

    PyCharm 汉化汉化汉化资源地址:链接:https://pan.baidu.com/s/1htwrK5e密码:1c4d将汉化包”resources_cn.jar”放置到lib下,删除”resources_en.jar”,重启PyCharm步骤如下:…

    2022年5月26日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号