jetty 입문 사용
11560 단어 jetty
원문의 출처: http://blog.chenlb.com/2009/01/quick-start-jetty-and-embed-in-project.html
오픈 소스 프로젝트 가 발 표 될 때 jsp 용기 (Jetty) 를 가 져 옵 니 다.데모, 개발, 디 버 깅 서버 를 만 드 는 것 도 좋 습 니 다.오늘 은 시험 해 보 자, 주로 그것 을 운행 하기 시작 했다.
첫 번 째 다운로드: http://dist.codehaus.org/jetty/jetty-6.1.14/jetty-6.1.14.zip ㎡ 0 ㎡ 2 는 현재 최신 안정 판 입 니 다.예 를 들 어 E: \ jetty - 6.1.14 로 압축 을 풀 었 습 니 다. 그 중에서 가장 중요 한 디 렉 터 리 는 etc, contexts, webapps 입 니 다.개인 적 으로 tomcat 의 conf, conf \ Catalina \ localhost, webapps 디 렉 터 리 를 비교 할 수 있다 고 생각 합 니 다.contexts 는 열 배치 용 입 니 다.
웹 앱 디 렉 터 리 나 *. war, 예 를 들 어 웹 - demo (또는 웹 - demo. war) 를 웹 앱 디 렉 터 리 에 넣 을 수 있 는 간단 한 웹 항목 을 실행 해 보십시오.
첨부 파일 은 demo 입 니 다. 스스로 뽑 았 습 니 다.
E:\jetty-6.1.14>java -jar start.jar2009-01-13 15:34:38.937::INFO: Logging to STDERR via org.mortbay.log.StdErrLog2009-01-13 15:34:39.265::INFO: jetty-6.1.142009-01-13 15:34:39.421::INFO: Deploy E:\jetty-6.1.14\contexts\javadoc.xml -> org.mortbay.jetty.handler.ContextHandler@15cda3f{/javadoc,file:/E:/jetty-6.1.14/javadoc/ }...2009-01-13 15:35:01.828::INFO: Opened E:\jetty-6.1.14\logs\2009_01_13.request.log2009-01-13 15:35:01.953::INFO: Started [email protected]:8080
열기: http://localhost:8080/web-demo 네, 결과 가 나 왔 습 니 다.
웹 - demo 를 웹 apps 디 렉 터 리 에 두 지 않 아 도 됩 니 다. contexts 디 렉 터 리 에 파일 을 만들어 Jetty 에 게 알려 주면 됩 니 다.contexts 디 렉 터 리 에서 test. xml 를 웹 - demo. xml 로 복사 한 후 다음 과 같이 수정 할 수 있 습 니 다.
http://jetty.mortbay.org/configure.dtd ">
war 는 절대 경로 로 설정 할 수 있 습 니 다.그리고 다시 제 티 를 다시 시작 해 보 세 요.자, 제 티 에 대한 초보적인 인식.
프로젝트 에 어떻게 넣 는 지 다시 보 겠 습 니 다.현재 저 는 예제 항목 e: / work space / web - demo (procject home 이 라 고 함) 가 있 습 니 다. 안의 웹 루트 디 렉 터 리 는 웹 콘 텐 츠 입 니 다.
procject 에서홈 은 contexts, etc, lib 와 같은 Jetty 디 렉 터 리 를 만 듭 니 다.
${jetty home} / etc 디 렉 터 리 에 있 는 jetty. xml, webdefault. xml 파일 을 ${procject home} / jetty / etc 디 렉 터 리 에 복사 합 니 다.
${jetty home} / lib / jsp - 2.1 디 렉 터 리 를 ${procject home} / jetty / lib 디 렉 터 리 에 복사 합 니 다.
마찬가지 로 jetty - 6.1.14. jar, jetty - util - 6.1.14. jar, servlet - api - 2.5 - 6.1.14. jar 를 ${procject home} / jetty / lib 디 렉 터 리 에 복사 합 니 다.
${jetty home} / start. jar 를 ${procject home} / jetty 디 렉 터 리 에 복사 합 니 다.
다음은 ${procject home} / jetty / context 디 렉 터 리 에 파일 을 추가 합 니 다.위 에서 제시 한 웹 - demo. xml 일 수 있 습 니 다.하지만 war 는
설명 ${procject home} / jetty / etc / jetty. xml 파일 의:
RequestLog 는 방문 기록 이 므 로 주석 을 달 지 않 아 도 됩 니 다. 전 제 는 logs 디 렉 터 리 가 있 습 니 다.
addLifeCycle 은 설명 하지 않 아 도 됩 니 다. 전 제 는 webapps 디 렉 터 리 가 있 습 니 다.
Test Realm 주석 을 달 지 않 는 것 도 etc 디 렉 터 리 에 realm. properties 가 있다 는 전제 입 니 다.
설정 되 었 습 니 다. 이제 E: \ workspace \ 웹 - demo \ jetty 까지 자바 - jar start. jar 를 실행 하면 이 프로젝트 를 시작 할 수 있 습 니 다.
코드 시작 jetty
public static void main(String[] args) throws Exception {
Server server = new Server();
BoundedThreadPool threadPool = new BoundedThreadPool();
threadPool.setMaxThreads(100);
server.setThreadPool(threadPool);
Connector connector = new SelectChannelConnector();
connector.setPort(8080); //
server.setConnectors(new Connector[] { connector });
WebAppContext context = new WebAppContext(" web ", " context");
server.addHandler(context);
server.setStopAtShutdown(true);
server.setSendServerVersion(true);
server.start();
server.join();
}
xml 프로필 시작 jetty
먼저 jetty - web. xml 를 만 들 고 웹 app 디 렉 터 리 에 놓 으 세 요.
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure id="Server" class="org.mortbay.jetty.Server">
<Set name="ThreadPool">
<New class="org.mortbay.thread.QueuedThreadPool">
<Set name="minThreads">10</Set>
<Set name="maxThreads">200</Set>
<Set name="lowThreads">20</Set>
<Set name="SpawnOrShrinkAt">2</Set>
</New>
</Set>
<Call name="addConnector">
<Arg>
<New class="org.mortbay.jetty.nio.SelectChannelConnector">
<Set name="host"><SystemProperty name="jetty.host" default="127.0.0.1"/></Set>
<Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
<Set name="maxIdleTime">30000</Set>
<Set name="Acceptors">2</Set>
<Set name="statsOn">false</Set>
<Set name="confidentialPort">8443</Set>
<Set name="lowResourcesConnections">5000</Set>
<Set name="lowResourcesMaxIdleTime">5000</Set>
</New>
</Arg>
</Call>
<Set name="handler">
<New id="Handlers" class="org.mortbay.jetty.handler.HandlerCollection">
<Set name="handlers">
<Array type="org.mortbay.jetty.Handler">
<Item>
<New id="RequestLog" class="org.mortbay.jetty.handler.RequestLogHandler"/>
</Item>
<Item>
<New class="org.mortbay.jetty.webapp.WebAppContext">
<Set name="contextPath">/demo</Set>
<Set name="war">xx</Set> <!-- web -->
</New>
</Item>
</Array>
</Set>
</New>
</Set>
<Ref id="RequestLog">
<Set name="requestLog">
<New id="RequestLogImpl" class="org.mortbay.jetty.NCSARequestLog">
<Set name="filename"><SystemProperty name="jetty.logs"
/>/yyyy_mm_dd.request.log</Set>
<Set name="filenameDateFormat">yyyy_MM_dd</Set>
<Set name="retainDays">90</Set>
<Set name="append">true</Set>
<Set name="extended">true</Set>
<Set name="logCookies">false</Set>
<Set name="LogTimeZone">GMT</Set>
</New>
</Set>
</Ref>
<Set name="stopAtShutdown">true</Set>
<Set name="sendServerVersion">true</Set>
<Set name="sendDateHeader">true</Set>
<Set name="gracefulShutdown">1000</Set>
</Configure>
이상 은 상대 적 으로 완전한 Jetty. xml 입 니 다. 수요 에 따라 간소화 할 수 있 을 것 입 니 다. 중요 한 것 은 가입 입 니 다.
<Item>
<New class="org.mortbay.jetty.webapp.WebAppContext">
<Set name="contextPath">/demo</Set>
<Set name="war">xx</Set> <!-- web -->
</New>
</Item>
웹 애플 리 케 이 션 발표 디 렉 터 리 와 context 지정 을 위 한 새로운 handler이 럴 때 프로그램 에서 Jetty 를 시작 하려 면:
public static void main(String[] args) throws Exception {
Server server = new Server();
XmlConfiguration configuration = new XmlConfiguration(
new FileInputStream(
"xx/demo/jetty-web.xml")); // jetty.xml
configuration.configure(server);
server.start();
}
사실 이 main 함수 도 필요 없습니다. org. mortbay. xml. XmlConfiguration 을 시작 클래스 로 사용 하면 Program arguments 에 사용자 정의 Jetty. xml 를 입력 하면 됩 니 다.이렇게 하면 eclipse 플러그 인 도 버 릴 수 있 습 니 다.
주의:
끼 워 넣 는 방법 으로 NO JSP Support 의 이상 을 만 날 수 있 습 니 다.
jetty - 6.1.14 \ lib \ jsp - 2.1 아래 가방 을 환경 에 가 져 오 면 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 초보자라도 할 수 있는 JSP+Eclipse+Jetty 개발 환경 구축직장에서 조금 필요하게 박해져 Java에서의 Web 개발을 다루었습니다. 초보자는, 단어의 이해로부터 개시로 엄격했습니다만, 어떻게든 할 수 있었습니다. 초보자가 하고 있는 순서이므로, 미비한 점 등 많을지도 모릅니...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.