jetty配置

package jetty;

import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.mortbay.jetty.Server;
import org.mortbay.xml.XmlConfiguration;
import org.springframework.util.Log4jConfigurer;
import org.xml.sax.SAXException;


public class JServer {

private static Log LOG = LogFactory.getLog(JServer.class);

public final static String JETTYLOG = "log1234" ;//自己设定
public final static String JETTYHOME = "./WebContent" ;

public static void main(String[] args) {
Server server = new Server();
XmlConfiguration configuration = null;
System.setProperty("jetty.logs", JETTYLOG);
System.setProperty("jetty.home", JETTYHOME);
try {
Log4jConfigurer.initLogging("./WebContent/WEB-INF/log4j.properties");
configuration = new XmlConfiguration(new File( "./WebContent/WEB-INF/jetty.xml").toURI().toURL());
configuration.configure(server);
server.start();
if(server.isStarting()){
LOG.info("starting");
}
if(server.isStarted()){
LOG.info("started");
}
if(server.isRunning()){
LOG.info("Running");
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

<?xml version="1.0"?>
<Configure id="Server" class="org.mortbay.jetty.Server">

<!-- =========================================================== -->
<!-- Server Thread Pool -->
<!-- =========================================================== -->
<Set name="ThreadPool">
<New class="org.mortbay.thread.QueuedThreadPool">
<!-- initial threads set to 10 -->
<Set name="minThreads">10</Set>

<!-- the thread pool will grow only up to 200 -->
<Set name="maxThreads">200</Set>

<!-- indicates that having 20 and below, the pool will be considered low
on threads -->
<Set name="lowThreads">20</Set>

<!-- The number of queued jobs (or idle threads) needed before the thread
pool is grown (or shrunk) -->
<Set name="SpawnOrShrinkAt">2</Set>
</New>
</Set>

<!-- =========================================================== -->
<!-- Set connectors -->
<!-- =========================================================== -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- To add a HTTPS SSL connector -->
<!-- mixin jetty-ssl.xml: -->
<!-- java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<Call name="addConnector">
<Arg>
<New class="org.mortbay.jetty.nio.SelectChannelConnector">
<!-- the ip address or domain to bind -->
<Set name="host">
<SystemProperty name="jetty.host" />
</Set>

<!-- the port to use/bind, defaults to 8080 if property not set -->
<Set name="port">
<SystemProperty name="jetty.port" default="7979" />
</Set>

<!-- the time in milliseconds when a connection is considered idle -->
<Set name="maxIdleTime">300000</Set>

<!-- the number of acceptors (their job is to accept the connection and dispatch to thread pool) -->
<Set name="Acceptors">2</Set>

<!-- should the connection statistics be turned on? (Not advisable in production) -->
<Set name="statsOn">false</Set>

<!-- the confidential port -->
<Set name="confidentialPort">8443</Set>

<!-- indicates the minimum number of connections when the server is considered low on resources -->
<Set name="lowResourcesConnections">20000</Set>

<!-- when low on resources, this indicates the maximum time (milliseconds) a connection must be idle to not be closed -->
<Set name="lowResourcesMaxIdleTime">5000</Set>
</New>
</Arg>
</Call>

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- To add a HTTP blocking connector -->
<!-- mixin jetty-bio.xml: -->
<!-- java -jar start.jar etc/jetty.xml etc/jetty-bio.xml -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<!-- =========================================================== -->
<!-- Set handler Collection Structure -->
<!-- =========================================================== -->
<Set name="handler">
<!-- the collection of handlers that will handle the request -->
<New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
<Set name="handlers">
<Array type="org.mortbay.jetty.Handler">
<!-- primarily handles the request and maps the request to a ContextHandler -->
<Item>
<New id="Contexts" class="org.mortbay.jetty.handler.ContextHandlerCollection" />
</Item>

<!-- The default handler ... handles the request if not yet handled -->
<Item>
<New id="DefaultHandler" class="jetty.MyHandler" />
</Item>

<!-- The handler for your request logs -->
<Item>
<New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler" />
</Item>
</Array>
</Set>
</New>
</Set>

<!-- =========================================================== -->
<!-- Configure the context deployer -->
<!-- A context deployer will deploy contexts described in -->
<!-- configuration files discovered in a directory. -->
<!-- The configuration directory can be scanned for hot -->
<!-- deployments at the configured scanInterval. -->
<!-- -->
<!-- This deployer is configured to deploy contexts configured -->
<!-- in the $JETTY_HOME/contexts directory -->
<!-- -->
<!-- =========================================================== -->
<Call name="addLifeCycle">
<Arg>
<New class="org.mortbay.jetty.deployer.ContextDeployer">
<!-- the ContextHandlerCollection to modify once a webapp is added or
removed (Allows Hot Deployment) -->
<Set name="contexts">
<Ref id="Contexts" />
</Set>

<!-- the directory which will contain your context.xml files -->
<Set name="configurationDir">
file:///<SystemProperty name="jetty.home" default="." />/contexts
</Set>

<!-- the interval in milliseconds to periodically scan the configurationDir -->
<Set name="scanInterval">5</Set>
</New>
</Arg>
</Call>

<!-- =========================================================== -->
<!-- Configure the webapp deployer. -->
<!-- A webapp deployer will deploy standard webapps discovered -->
<!-- in a directory at startup, without the need for additional -->
<!-- configuration files. It does not support hot deploy or -->
<!-- non standard contexts (see ContextDeployer above). -->
<!-- -->
<!-- This deployer is configured to deploy webapps from the -->
<!-- $JETTY_HOME/webapps directory -->
<!-- -->
<!-- Normally only one type of deployer need be used. -->
<!-- -->
<!-- =========================================================== -->
<Call name="addLifeCycle">
<Arg>
<New class="org.mortbay.jetty.deployer.WebAppDeployer">
<!-- the ContextHandlerCollection to add the webapps to -->
<Set name="contexts">
<Ref id="Contexts" />
</Set>

<!-- the directory where all the webapps are located (can be exploded
or packaged as war -->
<Set name="webAppDir">
<SystemProperty name="jetty.home" default="." />
</Set>

<!-- indicates whether to lookup/load from the parent class loader first -->
<Set name="parentLoaderPriority">false</Set>

<!-- indicates whether to extract the webapp if it is packaged as a war -->
<Set name="extract">true</Set>

<!-- indicates whether a deployed webapp on a certain contextPath should
have a duplicate webapp deployment -->
<Set name="allowDuplicates">false</Set>

<!-- the default descriptor to use to be applied before a webapps' web.xml -->
<Set name="defaultsDescriptor">
<SystemProperty name="jetty.home" default="." />/WEB-INF/web.xml
</Set>

</New>
</Arg>
</Call>

<!-- =========================================================== -->
<!-- Configure Authentication Realms -->
<!-- Realms may be configured for the entire server here, or -->
<!-- they can be configured for a specific web app in a context -->
<!-- configuration (see $(jetty.home)/contexts/test.xml for an -->
<!-- example). -->
<!-- =========================================================== -->
<Set name="UserRealms">
<Array type="org.mortbay.jetty.security.UserRealm">
<Item>
<!-- this realm uses a properties file to store/read the user/password/roles -->
<New class="org.mortbay.jetty.security.HashUserRealm">
<!-- the name of the realm -->
<Set name="name">Test Realm</Set>

<!-- the location of the property file to load from -->
<!-- <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set> -->
<!-- the interval in seconds to periodically scan for any changes and
refresh/reload if changed -->
<Set name="refreshInterval">0</Set>
</New>
</Item>
</Array>
</Set>

<!-- =========================================================== -->
<!-- Configure Request Log -->
<!-- Request logs may be configured for the entire server here, -->
<!-- or they can be configured for a specific web app in a -->
<!-- contexts configuration (see $(jetty.home)/contexts/test.xml -->
<!-- for an example). -->
<!-- =========================================================== -->
<Ref id="RequestLog">
<Set name="requestLog">
<New id="RequestLogImpl" class="org.mortbay.jetty.NCSARequestLog">
<!-- the output file name of the log file. Name of the file will be date
formatted -->
<Set name="filename">
<SystemProperty name="jetty.logs" default="./log" />/yyyy_mm_dd.request.log
</Set>

<!-- the date format -->
<Set name="filenameDateFormat">yyyy_MM_dd</Set>

<!-- the days to retain the log file -->
<Set name="retainDays">90</Set>

<!-- indicates if the new lines should be appended on an existing log
file -->
<Set name="append">true</Set>

<!-- indicates if the lines logged to the file will be in extended format -->
<Set name="extended">true</Set>

<!-- Indicates if the cookie logs should be included in the log file -->
<Set name="logCookies">false</Set>

<!-- the timezone of the log -->
<Set name="LogTimeZone">GMT</Set>
</New>
</Set>
</Ref>

<!-- =========================================================== -->
<!-- extra options -->
<!-- =========================================================== -->

<!-- Stops the server when ctrl+c is pressed (registers to Runtime.addShutdownHook) -->
<Set name="stopAtShutdown">true</Set>

<!-- send the server version in the response header? -->
<Set name="sendServerVersion">true</Set>

<!-- send the date header in the response header? -->
<Set name="sendDateHeader">true</Set>

<!-- allows requests(prior to shutdown) to finish gracefully -->
<Set name="gracefulShutdown">1000</Set>
</Configure>

package jetty;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.mortbay.jetty.servlet.ServletHandler;

public class MyHandler extends ServletHandler{

@Override
public void handle(String target, HttpServletRequest request, HttpServletResponse response, int type) throws IOException,
ServletException {
// TODO Auto-generated method stub
System.out.println("handling");
PrintWriter pw = response.getWriter();

pw.println("w de 我的 goodbye");
pw.flush();
pw.close();
}

}


log4j.rootLogger=INFO,CONSOLE,rolling

#log4j.logger.org.springframework=ERROR
#log4j.logger.org.apache=ERROR

log4j.logger.com.ssc.rdr=INFO

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d - %c -%-4r [%t] %-5p %c %x - %m%n

log4j.appender.rolling=org.apache.log4j.RollingFileAppender
log4j.appender.rolling.File=${jetty.logs}/rdrServer.log
log4j.appender.rolling.MaxBackupIndex=100
log4j.appender.rolling.MaxFileSize=10MB
log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
log4j.appender.rolling.layout.ConversionPattern=%t %d{ABSOLUTE} %5p %c{1} - %m%n



<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>RDR</display-name>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

jar包:
spring.jar
jetty-6.1.25.jar
jetty-util-6.1.25.jar
servlet-api-2.5-20081211.jar
commons-logging.jar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值