jetty使用技巧收集

适用与jetty7和jetty8

1,jetty中使用GBK编码

    首先编码过滤器肯定是需要的,然后在启动服务器命令中添加如下参数

-Dorg.eclipse.jetty.server.Request.queryEncoding=GBK -Dorg.eclipse.jetty.util.UrlEncoding.charset=GBK -Dorg.eclipse.jetty.util.URI.charset=GBK


2,jetty中通过jndi方式使用p6spy

(1)在lib目录添加jdbc目录,并添加以下jar包

commons-collections.jar
commons-dbcp-1.2.1.jar
commons-pool-1.3.jar
log4j-1.2.15.jar
ojdbc6.jar
p6spy.jar

(2)在start.ini的 OPTIONS中添加jdbc模块配置

(3) 数据源配置

  <New id="ds_dev" class="org.apache.commons.dbcp.BasicDataSource">
		<Set name="driverClassName">oracle.jdbc.driver.OracleDriver</Set>
		<Set name="url">jdbc:oracle:thin:@10.0.20.80:1521:dev</Set>
		<Set name="username">dev</Set>
		<Set name="password">dev</Set>
		<Set name="maxActive" type="int">100</Set>
		<Set name="maxIdle" type="int">30</Set>
		<Set name="maxWait" type="int">1000</Set>
		<Set name="defaultAutoCommit" type="boolean">true</Set>
		<Set name="removeAbandoned" type="boolean">true</Set>
		<Set name="removeAbandonedTimeout" type="int">60</Set>
		<Set name="logAbandoned" type="boolean">true</Set>
		<Set name="testOnBorrow" type="boolean">true</Set>
    </New>
	<New id="p6spyDataSourceTarget" class="com.p6spy.engine.spy.P6DataSource">
		<Set name="realDataSource">realJndiName</Set>
	</New>
	<New class="org.eclipse.jetty.plus.jndi.Resource">
		<Arg>realJndiName</Arg>
		<Arg>
			<Ref id="ds_dev" />
		</Arg>
	</New>
	<New class="org.eclipse.jetty.plus.jndi.Resource">
		<Arg>devdbDS</Arg>
		<Arg>
			<Ref id="p6spyDataSourceTarget" />
		</Arg>
	</New>
其中程序中实际使用的jndi名称是de vdbDS。p6spyDataSourceTarget起到一个代理的作用。

3,在开发中避免服务器运行时资源文件被锁定,不能修改

修改etc\webdefault.xml中useFileMappedBuffer的值为false

<init-param>
      <param-name>useFileMappedBuffer</param-name>
      <param-value>false</param-value>
</init-param>

4,jetty服务器java.sql.SQLException: Already closed处理

在jetty的数据源配置中添加如下配置

<Set name="testOnBorrow" type="boolean">true</Set>
<Set name="testOnReturn" type="boolean">true</Set>
<Set name="testWhileIdle" type="boolean">true</Set>
<Set name="validationQuery" type="String">select 1 from dual</Set>
分别是添加了连接池取出,返回,和空闲时是否测试连接的有效性。 
其中validationQuery的测试连接有效性的sql配置需要根据数据库进行调整。

5,nojdk error

在start.ini中添加如下配置:

-Dorg.apache.jasper.compiler.disablejsr199=true
或者

在jetty.xml中添加:

<Call class="java.lang.System"  name="setProperty">
    <Arg>org.apache.jasper.compiler.disablejsr199</Arg>
    <Arg>true</Arg>
  </Call>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值