三期_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

我是菜鸟,我在路上。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • python批量修改文件后缀名_python程序的文件扩展名为

    python批量修改文件后缀名_python程序的文件扩展名为importosdirname=”C:\\Users\\admin\\Desktop\\新建文件夹”#文件所在的目录li=os.listdir(dirname)#将所有图片名放入到lil列表中foriinrange(len(li)):qianzui=os.path.splitext(li[i])[0]#将文件名和扩展名分隔开houzui=os.path.splitext(li[i])[1]print(qianzui)if.

  • AssertValid函数学习 .「建议收藏」

    AssertValid函数学习 .「建议收藏」转自http://tsitao.blog.163.com/blog/static/29795822006914105840496/ VC的调试中,AssertValid和Dump函数的应用CObject::AssertValid成员函数提供对对象内部状态的运行时检查。尽管从CObject派生类时不需要重写AssertValid,但可以通过重写使您的类更安全可靠。Asse

  • intel AVX / AVX2指令学习资源

    intel AVX / AVX2指令学习资源IntelReferenceGuidesIntelIntrinsicsGuide一些解读

  • 渗透测试文章_黑客秘笈-渗透测试实用指南

    渗透测试文章_黑客秘笈-渗透测试实用指南【拿shell】1.直接上传aspasajspcerphpaspxhtrcdx格式的木马,不行就利用IIS6.0解析漏洞”:1.asp;1.jpg/1.asp;.jpg/1.asp;jpg/1.asp;.xls2.上传图片木马遇到拦截系统,连图片木马都上传不了,记事本打开图片木马在代码最前面加上gif89a,一般就能逃过拦截系统了。3.上传图片木马把地址复制到…

  • linux 数据恢复软件_常见的数据恢复软件

    linux 数据恢复软件_常见的数据恢复软件一。数据删除命令:rm-rf,将任何数据直接从硬盘删除,且没有任何提示建议做法:把命令参数放到后面:rm-rfi将删除的东西通过mv命令移动到系统下的/temp目录下,然后写个脚本定期执行清除操

  • Git创建远程分支并提交代码到远程分支

    Git创建远程分支并提交代码到远程分支1、可以通过gitbranch-r命令查看远端库的分支情况如图所示,远程仓库只有一个master分支2、从已有的分支创建新的分支(如从master分支),创建一个dev分支但此时并没有在远程仓库上创建分支如图所示还是只有一个master分支3、建立本地到远端仓库的链接–这样代码才能提交上去使用命令行gitpush–set-…

发表回复

您的电子邮箱地址不会被公开。

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