|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
不得不提一下的是:.net网页编程是看到java红,而开发出来的工具。1:Jetty的4种web使用部署体例(不包含嵌进启动):
1:间接修正${JETTY_HOME}/etc/jetty.xml的设置来部署使用;
2:把war包扔到${JETTY_HOME}/webapps目次中,主动被WebAppDeployer发明往部署;
3:在${JETTY_HOME}/contents中增添一个设置文件(仿照test.xml的设置),由ContextDeployer主动发明往部署;
4:定制部署启动设置文件;
后面3中部署体例在Jetty7的部署体例中报告的较为分明。
2:定制化启动Jetty:
因为我们每一个使用必要分歧端口启动,如许在中断A使用的情形下,B使用不会遭到影响。同时,我们但愿在每台服务器上只要一份jetty,每一个使用的设置文件应当是自力的。
2.1:jetty容器设置文件
在start.ini中设置了etc/jetty.xml,etc/jetty-webapps.xml(WebAppDeployer),etc/jetty-contexts.xml(ContextDeployer)三个文件,代表在默许情形下启动jetty,web使用3种部署都是撑持的。WebAppDeployer则是会扫描${JETTY_HOME}/webapps目次,寻觅war包并部署;ContextDeployer会扫描${JETTY_HOME}/contents目次,找到能够部署的context设置文件并部署。
以是定制jetty之前,我们必要在start.ini中把这3行正文失落。
2.2:web使用设置
复制${JETTY_HOME}/etc/jetty.xml文件到bin目次上面,修正port和confidentialPort为本人使用的端标语。在<Arraytype="org.eclipse.jetty.server.Handler">中增加必要部署的war包得Item,以下注重(contextPath和war值):
<Item>
<Newclass="org.eclipse.jetty.webapp.WebAppContext">
<Setname="contextPath">/aaa</Set>
<Setname="war">/opt/longtask/aaa/webapps/aaa.war</Set>
<Setname="defaultsDescriptor"><SystemPropertyname="jetty.home"default="."/>/etc/webdefault.xml</Set>
<Setname="extractWAR">true</Set>
<Setname="copyWebDir">false</Set>
<Callname="addServlet">
<Arg>org.eclipse.jetty.servlet.DefaultServlet</Arg>
<Arg>/</Arg>
</Call>
</New>
</Item>
2.3:启动使用(省略相干sh剧本)
JETTY_CONFIG="${PWD}/jetty-${APP_NAME}.xml${PWD}/jetty-logging.xml"
JETTY_OPTS="-jar${JETTY_HOME}/start.jar–pre=${JETTY_CONFIG}"
java-server$JDK_OPTS$JETTY_OPTS>/dev/null2>&1&
2.4:OPTIONS的申明
在jetty8中经由过程java-jarstart.jar–version命令能够检察到默许启动的OPTIONS:
ActiveOptions:[Server,annotations,ext,jdbc,jmx,jsp,jta,plus,resources,websocket]
假如要启动其他OPTIONS,必要本人增加。
3:FAQ:
3.1:没法启动,报端口毛病:
Causedby:java.net.BindException:Addressalreadyinuse
atsun.nio.ch.Net.bind(NativeMethod)
atsun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)
atsun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
atorg.eclipse.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:172)
atorg.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:300)
atorg.eclipse.jetty.server.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:250)
atorg.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
atorg.eclipse.jetty.server.Server.doStart(Server.java:273)
atorg.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
atorg.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1203)
atjava.security.AccessController.doPrivileged(NativeMethod)
atorg.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1126)
经由过程lsof-i:port来检察端口是不是被占用,假如被占用,必要修正jetty设置文件中的port来启动
3.2:在往失落start.ini中正文失落jetty.xml后,制订本人的jetty.xml后报错。
成绩:
java.io.FileNotFoundException:UnabletofindXMLConfig:etc/jetty.xml
atorg.eclipse.jetty.start.Main.resolveXmlConfig(Main.java:671)
atorg.eclipse.jetty.start.Main.resolveXmlConfigs(Main.java:888)
atorg.eclipse.jetty.start.Main.start(Main.java:508)
atorg.eclipse.jetty.start.Main.parseCommandLine(Main.java:265)
atorg.eclipse.jetty.start.Main.main(Main.java:79)
必要在–pre中增加启动项,不是在-jarstart.jar前面增加
3.3:网上说war包必要解紧缩,是毛病的,jetty8不必要解压的。
4:参考文档:
- ServingWebappAOnlyfromPortAandWebappBOnlyfromPortB
- RunningJetty-7.0.x
- Jetty/Reference/jetty.xmlsyntax
唉!都是钱闹的1.Swing和.net网页编程开发比较------从市场份额看.net网页编程开发主要占据大部分的中小型和中型的的桌面开发,原因是它封装了很多工具 |
|