Jetty开发指导:框架

Spring设置

你能嵌入Jetty到你的项目中,也可以使用几乎所有的IoC类型框架,包括Spring。如果所有你想做的是在你的Spring中设置Jetty Server,那么下面的xml片段可以作为一个例子。如果你想使用spring取代jetty-xml也是可以的,但这样将不能利用模块系统的其余部分。

Jetty-Spring模块

一个Jetty Spring模块的框架能通过模块机制激活。例如:

$ java -jar start.jar --add-to-startd=spring

这(或者使用--add-to-start=spring命令)创建一个${jetty.home}/lib/spring文件夹和放置jetty-spring集成jar到里面。它不提供spring jars和他们的依赖,你将需要下载这些并且放置他们到jetty的classpath - 你能用被spring.mod创建的${jetty.home}/lib/spring。

用Spring配置Jetty

通过Spring配置Jetty就是一个将API作为Spring beans调用的问题。下卖弄是一个例子,模仿默认jetty启动配置:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
 
<!-- =============================================================== -->
<!-- Configure the Jetty Server with Spring                          -->
<!-- This file is the similar to jetty.xml, but written in spring    -->
<!-- XmlBeanFactory format.                                          -->
<!-- =============================================================== -->
 
<beans>
    <bean id="contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
    <bean id="server" name="Main" class="org.eclipse.jetty.server.Server" init-method="start" destroy-method="stop">
        <constructor-arg>
            <bean id="threadPool" class="org.eclipse.jetty.util.thread.QueuedThreadPool">
                <property name="minThreads" value="10"/>
                <property name="maxThreads" value="50"/>
            </bean>
        </constructor-arg>
        <property name="connectors">
            <list>
                <bean id="connector" class="org.eclipse.jetty.server.ServerConnector">
                    <constructor-arg ref="server"/>
                    <property name="port" value="8080"/>
                </bean>
            </list>
        </property>
        <property name="handler">
            <bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
            <property name="handlers">
                    <list>
                        <ref bean="contexts"/>
                        <bean id="defaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
                    </list>
                </property>
            </bean>
        </property>
        <property name="beans">
            <list>
                <bean id="deploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
                    <property name="contexts" ref="contexts"/>
                    <property name="appProviders">
                        <list>
                            <bean id="webAppProvider" class="org.eclipse.jetty.deploy.providers.WebAppProvider">
                                <property name="monitoredDirName" value="webapps"/>
                                <property name="scanInterval" value="1"/>
                                <property name="extractWars" value="true"/>
                            </bean>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>
</beans>

你可能感兴趣的:(java,框架,jetty,Web应用)