谷歌服务器——为什么选择Jetty?

  google服务器为什么选选择Jetty?

  因为:Jetty是Java领域另一个出色的Web服务器,它同样也是开源的。与tomcat不同的是它可作为一个嵌入式服务器。也就是说,如果我们在应用中加入jetty的核心jar文件,应用即可对外提供http服务。它同时也是平台无关的java web服务器,既可以在Windos平台上运行,也可以在Linux平台上运行。

  大家可以登录http://jetty.codehaus.org/jetty/站点下载Jetty的最新版本。下载的zip文件也是与平台无关的压缩包,不管是windows还是Linux都可使用。

  将下载的安装zip包,解压缩到任意的路径下。运行Jetty需要使用如下命令:

cd D:/jetty
D:
java -jar start.jar

  建议将上面的命令写成脚本,在windows下可写成批处理命令,在linux下可写成shell脚本。每次运行执行该文件就可以了。

  运行成功后,启动浏览器,然后输入http://localhost:8080/回车,看看是否成功。如果不成功首先要保证端口8080是否被占用,真的被占用那就配置一下Jetty的端口,下面会介绍的。

 

1.Jetty的基本配置

  主要介绍Jetty的端口设置,以及如何部署Web应用,Jetty是一个嵌入式的Http服务器,因此配置方式还是与tomcat有一些差异的:

  Jetty的配置文件都会在etc的目录下,熟悉linux的目录的人应该很眼熟,呵呵。该目录下有如下几类配置文件:

  1.jetty.xml:该文件是Jetty的默认配置文件,Jetty的端口号也是在这个文件里设置的。

  2.jetty-xxx.xml:该文件是为了给Jetty增加扩展应用所用的配置文件。

  3.webdefault.xml:该文件是Web应用的默认配置文件,用于控制Jetty容器里所有Web应用的通用属性,该文件不可以修改。

 

  Jetty服务器提供HTTP服务的主类是org.mortbay.jetty.Server,所以etc路径下的文件都需要为org.mortbay.jetty.Server配置属性。如下所示:

 

<Configure id="Server" class="org.eclipse.jetty.server.Server">

 <!-- =========================================================== -->
    <!-- Set connectors                                              -->
    <!-- =========================================================== -->

    <Call name="addConnector">
      <Arg>
          <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
            <Set name="host"><Property name="jetty.host" /></Set>
            <Set name="port"><Property name="jetty.port" default="8080"/></Set>
            <Set name="maxIdleTime">300000</Set>
            <Set name="Acceptors">2</Set>
            <Set name="statsOn">false</Set>
            <Set name="confidentialPort">8443</Set>
     <Set name="lowResourcesConnections">20000</Set>
     <Set name="lowResourcesMaxIdleTime">5000</Set>
          </New>
      </Arg>
    </Call>

 

Jetty的配置文件非常巧妙,它通过配置文件来新建对象(New元素),调用对象的方法(Call元素),设置属性(Set元素控制)。实际上,Jetty底层将会根据配置文件中的信息,使用反射来创建对象,设置属性和调用方法。由此可见,如果我们需要在应用程序中嵌入Jetty服务器,只需要创建org.mortbay.jetty.Server对象,并调用一些列方法即可。

 

2.部署Web应用

  Jetty同样也有两种方式部署Web应用:

  1)自动部署:将Web应用复制到Jetty的webapps的路径下,Jetty就会吧该Web应用自动部署到Jetty服务器中。

  2)利用配置文件部署:新增配置文件来部署Web应用,这种方式无需将web应用放置到webapps路径下。

  自动部署就不多说了,利用配置文件部署,既是进入Contexts目录,该目录下的所有文件都会被系统自动加载,并且根据这些配置文件来部署应用。该路径下默认有两个文件:

  1)javadoc.xml:负责部署java的API应用;

  2)test.xml:负责部署jetty的实例应用。

  复制test.xml文件,将文件名改为项目名称。并对复制文件进行修改:

 

 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <!-- Required minimal context configuration :                        -->
  <!--  + contextPath                                                  -->
  <!--  + war OR resourceBase                                          -->
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <Set name="contextPath">/</Set>
  <Set name="war"><SystemProperty name="jetty.home" default="."/>/new</Set>

 

  上面的两行分别制定了Web应用的虚拟路径和文档路径,增加了该配置文件以后,jetty启动时将会自动把new路径下的web应用部署在服务器中。如果要删除该web应用就直接删除该配置文件即可。

 

3.配置JNDI绑定

Jetty同样可以整合DBCP,C3P0等数据源的实现,想外界提供容器管理的数据源。实际上,对外界提供容器管理的数据源,只是Jetty的JNDI的绑定功能之一。

 

 

 

肯定知道-精品推荐:

1、商品发布平台-发布流程-文档下载

2、flex 分页 组件 源码

3、解放战争并非是小米加步枪,太原攻坚战弹药消耗堪比淮海战役
        4、中国12架轰炸机一次摧毁日军飞机160架!
        5、flex 分页 组件 源码
        6、韩国网速2012年即将突破1000M/秒,中国网速有多快?
        7、java 操作dos命令-执行dos
        8、hibernate超长字符串 用clob类型添加到数据库
        9、越南为什么会突然赴京请罪?
       10、惨烈的密支那会战:当年民族英雄的灵魂是否已经安息?

11、免费刷流量-软件

12、淘宝热卖商品-特价商品-导购平台

13、特价商品发布平台-下载频道

 

文章来源:http://yijianfengvip.blog.163.com/blog/static/1752734322011620364842/

转载于:https://www.cnblogs.com/javatec03/archive/2011/07/20/2404903.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410505.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue手动封装实现一个五星评价得效果

我是歌谣 放弃很难 但是坚持一定很酷 微信公众号关注小歌谣 一起学习前后端知识 今天要说得是实现一个vue中实现五星评价得效果 简单来说 就是封装组件把 具体需要我们了解组件间得相互传值 数据绑定等知识 先用脚手架起个项目先 脚手架启动 ​ 安装依赖 包括 npm ins…

LetCode-MSSQL查找重复的电子邮箱

sql的题目如下所示&#xff0c;查询出重复的电子邮箱 解法(1):查询出查询出Email相等 Id不相同的数据具体语句如下所示: select a.Email from Person as a,Person as b where a.Emailb.Email and a.Id!b.Id此时我们可以看到我们的语句中输出了2次结果但是预期结果只输出了1次…

鸿蒙内核是闭源吗_鸿蒙出世,中华有为!

作者&#xff1a;飞翔吧&#xff01;橙哥转载授权(文末留言&#xff0c;或添加微信&#xff1a;mzy2117)8月9日&#xff0c;超强台风“利奇马”登陆中国。当沿海各地的人们都在琢磨下班如何回家的时候&#xff0c;在广东东莞举行的华为2019年开发者大会上&#xff0c;华为正式发…

Visual Studio 2003/Visual Studio 2005常用快捷键(快捷方式)

调试快捷键 F6: 生成解决方案 CtrlF6: 生成当前项目 F7: 查看代码 ShiftF7: 查看窗体设计器 F5: 启动调试 CtrlF5: 开始执行(不调试) ShiftF5: 停止调试 CtrlShiftF5: 重启调试 F9: 切换断点 CtrlF9: 启用/停止断点 CtrlShiftF9: 删除全部断点 F10: 逐过程 CtrlF10: 运行到光标…

oracle 添加字段

alter table 表名 add 新增字段名(类型长度);#添加字段alter table asset_orders add remark varchar2(255);#查看describe asset_orders;转载于:https://www.cnblogs.com/zhaojingyu/p/11236747.html

[html] 如果一个标签元素同时出现两个class属性,两个class都会生效吗?为什么?

[html] 如果一个标签元素同时出现两个class属性&#xff0c;两个class都会生效吗&#xff1f;为什么&#xff1f; class类应该是生效的&#xff0c;具体怎么个执行书序取决于样式表中加载顺序&#xff0c;相同属性后来居上个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前…

CListCtrl控件

CListCtrl控件在数据库编程中是用得比较多的控件之一&#xff0c;也是Window控件中较难掌握的一个控件。他可以有四显示方式 1&#xff1a;报告显示方式 在Report方式中&#xff0c;列表控件的显示方式是有行和列的&#xff0c;行有叫做Item&#xff0c;但有多列是我们只能操作…

儿童学文字编程python_手把手教你python数字知识

上篇文章讲述了python的数据类型。 我们先回顾一下&#xff1a;包括&#xff1a;数字&#xff0c;字符串&#xff0c;列表&#xff0c;元组&#xff0c;字典。接下来我们详细的介绍这几种类型。 今天要说的是关于数字的教程。 说到数字&#xff0c;可能你的头脑里首先会反应出&…

LetCode-MSSQL超过5名学生的课

此图关键在于去重后使用having count查询出大于5的值 select class from courses group by class having count(distinct student) > 5;

在laravel5.8中集成swoole组件----初步测试

铺垫前提是先安装swoole组件&#xff0c;我采用从pecl-----php扩展组件网下载swoole扩展包&#xff0c;然后切入到解压缩的扩展包中运行phpize命令&#xff0c; phpize是一种编译命令&#xff0c;可以在安装文件中生成configure文件&#xff0c;从而方便我们编译安装&#xff0…

[html] 写一个鼠标跟随的特效

[html] 写一个鼠标跟随的特效 <!doctype html> <style> #pionter{ width: 20px; height: 20px; background: pink; border-radius: 20px; position:absolute; } </style></head> <body><div id"pionter"></div><scrip…

ListBox的使用

1、添加行 m_ctrlListBox.AddString("第一行"); m_ctrlListBox.AddString("第二行"); 2、清空列表 m_ctrlListBox.ResetContent();3、设置列表控件的背景颜色 ① 先创建一个基于对话框的工程&#xff0c;命名为test&#xff0c;然后在对话框上加入一…

python改文件名_通过python顺序修改文件名字的方法

通过python顺序修改文件名字的方法 更新时间&#xff1a;2018年07月11日 11:48:55 作者&#xff1a;longma666666 今天小编就为大家分享一篇通过python顺序修改文件名字的方法&#xff0c;具有很好的参考价值&#xff0c;希望对大家有所帮助。一起跟随小编过来看看吧 问题&…

LetCode-MSSQL从不订购的客户

解法(1)&#xff1a;思路为先查询出订购的客户再使用not in查询出不包含订购客户的其他人也就是从来不订购的客户 查询出订购的客户语句: select a.Id from Customers as a,Orders as b where b.CustomerIda.Id再使用not in 查询 不再里面的客户 select Name as Customers fr…

docker 常用命令 以及常见问题

常见命令 windos 在搜索框 输入 windows powershell&#xff0c;打开。然后输入以下命令#查看镜像列表 docker images #删除单个镜像 docker rmi image-id #删除所有镜像 docker rmi $(docker images -q) #查看运行中的容器 docker ps #查看所有容器 docker ps -a #停止单个容器…

[html] p标签里面嵌套img标签会出现向上高3像素是什么原因?如何处理?

[html] p标签里面嵌套img标签会出现向上高3像素是什么原因&#xff1f;如何处理&#xff1f; 图片是内联元素&#xff0c;内联元素的对齐方式是按照文字基线对齐的&#xff0c;而不是文字底线对齐&#xff0c;所以会出现空隙。方法一&#xff1a;在 img 标签中使用 vertical-a…

python loadtxt_Python 数据科学入门2:Matplotlib

第七章 从文件加载数据很多时候&#xff0c;我们想要绘制文件中的数据。 有许多类型的文件&#xff0c;以及许多方法&#xff0c;你可以使用它们从文件中提取数据来图形化。 在这里&#xff0c;我们将展示几种方法。 首先&#xff0c;我们将使用内置的csv模块加载CSV文件&#…

《团队之美》笔记——领导力

管理的技巧就是通过其他人实现你的工作目标。 写作的技巧就是创造一个能够激发其他人进行思考的环境。 需要有一个激发人们创造力的体系。 团队成员优势无补带来的威力。 让成员认为他所做的是他想做的事情。 雕塑就是把隐藏在石头里的形象挖掘出来。转载于:https://www.cnblog…

LetCode-MSSQL销售分析-I

此题是查询出销售额最高的人的ID 首先我们通过语句查询出最高的销售额 select top 1 sum(price) from Sales group by seller_id order by sum(price) desc然后我们通过查询总和的值和 最高销售额相等的ID即可 select seller_id from Sales group by seller_id having sum(p…

在laravel5.8中集成swoole组件----用协程实现的服务端和客户端(一)

注意&#xff0c;这种风格的服务端需要swoole4.4以上&#xff0c;这种风格的服务端需要swoole4.4以上&#xff0c;这种风格的服务端需要swoole4.4以上&#xff0c;重要的事情说三遍&#xff01;&#xff01;&#xff01; 服务端<?php //namespace Swoole; use Swoole\Corou…