Jetty问题解决汇总


Jetty版本:jetty-webapp-8.1.16.v20140903


一、Jetty中JS等静态文件无法修改保存

       方法一、修改jetty的Jar包下的webdefault.xml文件,设置useFileMappedBuffer=false(默认为true)。

       jetty的Jar包路径:Maven的仓库下:例:C:\Users\***\.m2\repository\org\eclipse\jetty\jetty-webapp\8.1.16.v20140903

       方法二、复制一份webdefault.xml,在POM设置webdefault.xml的新路径

       POM中Jetty配置

                   <plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<webAppSourceDirectory>WebContent</webAppSourceDirectory>
<!-- <webDefaultXml>/WEB-INF/jetty-webdefault.xml</webDefaultXml> -->
<reload>automatic</reload>
<scanIntervalSeconds>3</scanIntervalSeconds>
<jettyEnvXml>/WEB-INF/jetty-env.xml</jettyEnvXml>
<useTestClasspath>true</useTestClasspath>
<webApp>
<contextPath>/demo</contextPath>
<defaultsDescriptor>WebContent/WEB-INF/jetty-webdefault.xml</defaultsDescriptor>
</webApp>
</configuration>
</plugin>

           webDefaultXml的设置不起作用;defaultsDescriptor配置生效,但要注意,defaultsDescriptor是相对于工程的路径的。

二、Jetty中JDNI设置

      1、首先需要在/web-inf/目录下添加jetty-env.xml配置文件,配置如下:

       <?xml version="1.0" encoding="utf-8"?>  
      <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"  
        "http://jetty.mortbay.org/configure.dtd">
      <Configure class="org.eclipse.jetty.webapp.WebAppContext">
         <New id="dataSource" class="org.eclipse.jetty.plus.jndi.Resource">
              <Arg>lunar</Arg>
              <Arg>
                   <New class="org.apache.commons.dbcp.BasicDataSource">
                      <Set name="driverClassName">com.mysql.jdbc.Driver</Set>
                     <Set name="url">jdbc:mysql://localhost:3306/lunar?characterEncoding=utf-8</Set>
                     <Set name="username">lunar</Set>
                     <Set name="password">password</Set>
                    <Set name="validationQuery">SELECT 1</Set>
                </New>
            </Arg>
       </New>
     </Configure> 

     注:Jetty的JNDI Datasource配置可看:http://wiki.eclipse.org/Jetty/Howto/Configure_JNDI_Datasource#MySQL

      2、pom配置:<jettyEnvXml>/WEB-INF/jetty-env.xml</jettyEnvXml>    jettyEnvXml的路径是相对于webApp路径

     3、web.xml配置:

         <resource-ref>
              <description>My DataSource Reference</description>
              <res-ref-name>lunar</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
         </resource-ref>

         注:res-ref-name为jdni的name,要注意一致性。

    4、设置Spring 的DataSource

        <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
         <property name="jndiName">
             <value>java:comp/env/lunar</value>
         </property>
        </bean>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值