Jetty在win10上的配置,IDEA中配置Jetty,Maven中配置Jetty插件,Eclipse中配置Jetty插件及其使用,通过java代码内嵌Jetty Server

1、下载Jetty

下载地址:http://www.eclipse.org/jetty/download.html
这里写图片描述

2、在windows上运行jetty

一、将下载的jetty解压到D:\installed,最终可以看到的内容如下:
这里写图片描述

二、进入D:\installed\jetty-distribution-9.4.7.v20170914\demo-base目录,然后shift + 鼠标右键 ==>”在此处打开命令行窗口”,输入以下命令:

java -jar ../start.jar

这里写图片描述

jetty的默认端口也是8080,在浏览器中输入:
http://localhost:8080/,显示的效果如下:
这里写图片描述

三、改变jetty的启动端口,比如将默认端口改成8888,输入以下命令:
java -jar ../start.jar jetty.port=8888
这里写图片描述
浏览器中输入http://localhost:8888/
这里写图片描述

同样,还可以修改jetty_home中的start.ini中的jetty的默认端口,比如我修改成了9999。
这里写图片描述

直接在jetty_home点击start.jar后访问的效果是:
这里写图片描述

上面的现象其实是正确的

3、IDEA中配置Jetty

一、创建Jetty的web项目
二、配置Jetty
这里写图片描述
进行配置
这里写图片描述

勾选mod
这里写图片描述

选择要部署的项目
这里写图片描述

如果在执行项目的时候,出现JVM的已经Bind了,不一定是Jetty默认端口被占用,有可能是JMX的端口被占用了,所以在配置项目的时候,要对JMX的端口进行修改。把之前的1099改成其它的值,比如:
这里写图片描述

修改IDEA中默认使用的浏览器,然后最后自动弹出页面,效果如下:
这里写图片描述

最后:window下查看端口是否被占用的命令是:
netstat -ano | findstr “8080” (这个在CMD窗口中进行输入)

4、Web项目中配置Jetty的maven插件

找到web项目的pom.xml,输入以下内容:

<build>
  <finalName>jetty-demo</finalName>

  <plugins>
    <plugin>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-maven-plugin</artifactId>
      <version>9.4.7.v20170914</version>
      <configuration>
        <scanIntervalSeconds>10</scanIntervalSeconds>
        <!-- 通过下面的配置可以指定项目的contextPath的值,即访问的项目名称, 如果不指定,默认的访问名称是/ war,这个可以指定war最终生成的位置,以及war的名称 -->
        <webApp>
          <contextPath>/jetty-demo</contextPath>
          <war>${project.basedir}/target/${project.build.finalName}.war</war>

        </webApp>
      </configuration>
    </plugin>
  </plugins>
</build>

进入磁盘pom.xml所在位置,打开CMD窗口,分别输入以下命令,然后看浏览器上的显示效果:

mvn jetty:run
mvn jetty:run-war

这里写图片描述

这里写图片描述

分别在浏览器上输入:
http://localhost:8080/jetty-demo/
这里写图片描述

同样可以将jetty-demo.war放到jetty-distribution-9.4.7.v20170914\webapps中,然后点击jetty-distribution-9.4.7.v20170914\start.jar,然后访问浏览器:
这里写图片描述

5、Eclipse下Jetty配置

一、打开Eclipse,然后安装Jetty插件
这里写图片描述
二、然后在find的输入框中输入jetty,点击GO,然后选择第一个列表中的内容,然后点击Install,安装完成后重新启动Eclipse
这里写图片描述
三、选中项目右击–Run As
这里写图片描述
四、进行Jetty的配置
这里写图片描述
这里写图片描述
五、最后点击Run As–》Run with jetty,就可以运行项目了。
看浏览器中的效果
这里写图片描述

6、通过Java代码,运行Jetty

一、创建项目,项目目录如下:
这里写图片描述

二、编写pom文件

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.toto.demo.jetty</groupId>
    <artifactId>jetty-test</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <!-- Jetty。要注意版本,版本匹配不对时,运行Jetty的应用将会报错-->
        <dependency>
            <groupId>org.eclipse.jetty.aggregate</groupId>
            <artifactId>jetty-all</artifactId>
            <version>8.0.4.v20111024</version>
        </dependency>

        <!-- Jetty Webapp -->
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-webapp</artifactId>
            <version>8.0.4.v20111024</version>
        </dependency>

        <!--下面一句必须加上,否则在解析jsp的时候将会报错-->
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-jsp</artifactId>
            <version>9.2.22.v20170606</version>
        </dependency>
    </dependencies>

    <build>
        <finalName>jetty-test</finalName>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
</project>

三、编写JettyStart代码

package com.toto.jetty;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.webapp.WebAppContext;


public class JettyStart {

    public static void main(String[] args) throws Exception{
        int port = 8888;
        Server server = new Server(port);
        WebAppContext context = new WebAppContext();
        context.setContextPath("/");
        context.setResourceBase("src/main/webapp");
        context.setDescriptor("src/main/webapp/WEB-INF/web.xml");
//      context.setDescriptor("./webapp/WEB-INF/web.xml");
//      context.setResourceBase("./webapp");// 设置Web内容上下文路径
        server.setHandler(context);
        server.start();
        server.join();
        System.out.println("server is start, port is "+port+"............");
    }
}

浏览器访问http://localhost:8888/
这里写图片描述

相关文章

相关标签/搜索