JETTY9(9.2.1)入门学习

下载的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




 
  
    
      
        
          
        
        
          
            
              /webapps
              /etc/webdefault.xml
              1
              true
            
          
        
      
    
  

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("

Hello World

"); } 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,内容如下


 
  4.0.0
  org.example
  hello-world
  0.1-SNAPSHOT
  jar
  Jetty HelloWorld
 
  
      
      9.0.2.v20130417
  
 
  
    
      org.eclipse.jetty
      jetty-server
      ${jettyVersion}
    
  
 
  
    
      
        org.codehaus.mojo
        exec-maven-plugin
        1.1
        
          java
        
        
          org.example.HelloWorld
        
      
    
  
编译和运行HelloWorld.java类
> mvn clean compile exec:java  
编译成功后,可以访问http://localhost:8080/会看到页面中打印出HelloWorld字样。






 
  

你可能感兴趣的:(框架)