JETTY9(9.2.1)入门学习
来源:互联网 发布:unity3d 体素 编辑:程序博客网 时间:2024/04/30 19:41
下载的jetty-distribution-9.2.1.v20140609,算是目前为止的最新版本,jetty的版本比较多,而且各种版本有一定的差异,感觉这点不如tomcat。
1.解压jetty到指定的目录,该目录就是$(JETTY_HOME)
进入到该目录,运行java -jar start.jar,就可以启动jetty了。
2.运行jetty的demo-base
cd ${JETTY_HOME}/demo_base 目录,运行 java -jar ../start.jar 就可以启动demo-base并看到jetty的欢迎界面了。
3.修改jetty运行端口
(1)命令启动时指定端口号: java -jar start.jar jetty.port=8081
(2)修改配置文件: 修改${JETTY_HOME}/start.d/http.ini中指定的端口号。
4. 部署web应用
和tomcat相同,直接放到${JETTY_HOME}/webapps下面就行,看网上说还需要改什么设置,这里测试了一下,直接放上就可以启动。这里部署的是标准的web应用。如果文件夹或者war包名称是root,jetty视为根目录。
5.热部署
jettty可以通过监控目录的变化来部署应用,如果你往目录里面添加一个web应用,jetty的部署管理器(DM deployment manager)就会部署一个新的上下文。可以通过配置文件修改相关的属性,该文件的默认位置是${JETTY_HOME}/etc/jetty-deploy.xml
<span style="font-size:14px;"><?xml version="1.0"?><!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"><Configure id="Server" class="org.eclipse.jetty.server.Server"> <Call name="addBean"> <Arg> <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager"> <Set name="contexts"> <Ref refid="Contexts" /> </Set> <Call id="webappprovider" name="addAppProvider"> <Arg> <New class="org.eclipse.jetty.deploy.providers.WebAppProvider"> <Set name="monitoredDirName"><Property name="jetty.home" default="." />/webapps</Set> <Set name="defaultsDescriptor"><Property name="jetty.home" default="." />/etc/webdefault.xml</Set> <Set name="scanInterval">1</Set> <Set name="extractWars">true</Set> </New> </Arg> </Call> </New> </Arg> </Call></Configure></span>
6.Maven和Jetty
使用嵌入式JETTY和MAVEN
MAVEN使用约定优于配置,所以最好是使用MAVEN推荐的工程结构。可以使用archetypes快速设置maven项目,现在为这个简单的例子使用手工建立工程结构。
> mkdir JettyMavenHelloWorld> cd JettyMavenHelloWorld> mkdir -p src/main/java/org/example
windows下可以使用md命令建立多级目录,在路径src/main/java/org/example/下建立HelloWorld.java类,内容如下:
package org.example; import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.ServletException;import java.io.IOException;import org.eclipse.jetty.server.Server;import org.eclipse.jetty.server.Request;import org.eclipse.jetty.server.handler.AbstractHandler; public class HelloWorld extends AbstractHandler{ public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); baseRequest.setHandled(true); response.getWriter().println("<h1>Hello World</h1>"); } public static void main(String[] args) throws Exception { Server server = new Server(8080); server.setHandler(new HelloWorld()); server.start(); server.join(); }}
建立POM描述文件,pom.xml描述文件描述了工程的名称和依赖,使用文本编辑器在JettyMavenHelloWorld目录下建立pom.xml,内容如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>hello-world</artifactId> <version>0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>Jetty HelloWorld</name> <properties> <!-- Adapt this to a version found on http://central.maven.org/maven2/org/eclipse/jetty/jetty-maven-plugin/ --> <jettyVersion>9.0.2.v20130417</jettyVersion> </properties> <dependencies> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>${jettyVersion}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.1</version> <executions> <execution><goals><goal>java</goal></goals></execution> </executions> <configuration> <mainClass>org.example.HelloWorld</mainClass> </configuration> </plugin> </plugins> </build></project>编译和运行HelloWorld.java类
> mvn clean compile exec:java编译成功后,可以访问http://localhost:8080/会看到页面中打印出HelloWorld字样。
- JETTY9(9.2.1)入门学习
- JETTY9(9.2.1)入门学习
- jetty9运行
- Jetty9 实战
- Jetty9 maxFormContentSize
- WebSocket集成XMPP网页即时通讯1:Java Web Project服务端/客户端Jetty9开发初探
- jetty9 spdy使用
- centos 安装jetty9
- jetty9资料收集
- Jersey2.X + Jetty9(Embed)
- Java中使用Jetty9
- Jetty9.3 翻译
- jetty9配置contextPath
- Jetty9 配置虚拟目录
- Jetty9架构解析-目录
- jetty9安装配置
- 入门学习(1)
- PHP入门学习1
- svn update冲突解决
- Java语言程序设计
- 探讨android更新UI的几种方法
- Java操作XML文件 dom4j 篇
- 模具工作中产生的疲劳断裂及措施
- JETTY9(9.2.1)入门学习
- Android中进行流量统计
- delphi 关于TApplication详解
- Phpcms V9网站从本地上传到服务器需要修改的地方小结
- Java语言的移动应用程序开发
- hdu 3572 Task Schedule (dinic算法)
- oracle Merge into
- 简单播放器开发步骤
- Java语言的最显著的特点