一,jetty简介
jetty和tomcat一样都是部署web项目的服务器框架, 但是jetty可以更好的支撑webSocket,并且我们可以通过嵌入式来启动jetty,也就是把jetty部署在我们的web项目中,所以他是一个比较活跃的好用的框架
二、在项目中部署jetty
首先部署jetty就得有jetty的配置文件, 我们命名为spring-jetty.xml,这个配置文件主要配置了jetty启动的sever和handler配置内容如下
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="Server" class="org.eclipse.jetty.server.Server" init-method="start" destroy-method="stop"> <property name="connectors"> <list> <bean class="org.eclipse.jetty.server.nio.SelectChannelConnector"> <property name="port" value="80" /> <!-- <property name="maxIdleTime" value="30000" /> <property name="requestHeaderSize" value="8192" />--> </bean> </list> </property> <property name="handler"> <bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerList"> <property name="handlers"> <list> <bean id="omcWeb" class="org.eclipse.jetty.webapp.WebAppContext"> <property name="contextPath" value="/" /> <property name="descriptor" value="WebContent\WEB-INF\web.xml" /> <!-- <property name="war" value="." /> --> <property name="resourceBase" value="WebContent" /> <property name="parentLoaderPriority" value="true" /> <property name="logUrlOnStart" value="true" /> </bean> <bean class="org.eclipse.jetty.server.handler.DefaultHandler"/> </list> </property> </bean> </property> </bean> </beans>
这段代码并不难理解,当然那我们还需要把jetty需要的一些jar包给引用进来,必须的有,jetty-all-server.jar,如果是配合springmvc就还必须导入springmvc另外一些必要的包,antlr.jar , cglib.jar, commons-*.jar,jackson-sore-asl.jar,jackson-mapper-asl.jar,json-lib.jar , servlet-api.jar
在这个配置文件中有web项目的web配置文件路径,一定要写正确,
第二部就是在项目中启动jetty了, 我们的项目需要一些初始化,初始化过后就可以启动jetty将项目部署到jetty服务器,具体启动代码如下
new ClassPathXmlApplicationContext("main/resource/spring-jetty.xml");
参数是jetty配置文件路径 , 如此就可以启动web项目,在浏览器中输入localhost/index.html即可访问