• 关于jetty服务器默认首页和端口设置


    一、jetty服务器部署、启动成功后,在浏览器输入http://localhost:8080/ 可以直接访问到jetty欢迎首页。

    这是因为在Jetty包中默认带了一个test.war的应用,在${JETTY_HOME}/webapps目录下可以找到这个文件,在启动Jetty服务的时候默认已经部署了test.war应用。

    对于test.war文件,Jetty还定义了context文件,放在${JETTY_HOME}/contexts/test.xml。

    如${JETTY_HOME}/contexts/test.xml:

    <Set name="contextPath">/</Set>
    <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/test.war</Set>

    其中将contextPath定义成了“/”,这就是为什么默认访问http://localhost:8080/的时候为什么是访问test应用的原因了。

    二、如果需要把http://localhost:8080/ 地址指向修改到指定的项目,比如自己开发的icsp-webapp.war项目,可以如下操作:

    1、可以通过复制${JETTY_HOME}/contexts/test.xml文件,重命名为{项目名.xml},例如icsp-webapp.xml。

    2、把复制好的xml文件里的注释、可选配置都删掉,例如Optional context configuration,为可选内容配置。

    3、修改复制好的xml文件里的相关路径,修改好后如下:

    <?xml version="1.0"  encoding="ISO-8859-1"?>
    <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
    <Configure class="org.eclipse.jetty.webapp.WebAppContext">
      <Set name="contextPath">/</Set>
      <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/icsp-webapp.war</Set>
    </Configure>

    这样就把http://localhost:8080/ 地址指向修改到指定的icsp-webapp.war项目。

    然后还要把之前的test.xml里的地址指向修改为/test,如:

    <Set name="contextPath">/test</Set>
    <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/test.war</Set>

    这样就把http://localhost:8080/test 地址指向修改到之前默认的test.war项目。

    这些步骤完成了,就可以在浏览器输入http://localhost:8080/ 进行测试了。

    三、端口设置

    可以有三种方式:

    1、写个批处理文件来启动jetty,在批处理文件中,对jetty进行端口设置。

    title webapp
    d:
    cd D:ProgramFilesjetty	estjetty-8.1.16-webapp
    java -version
    java -jar start.jar jetty.port=5354

    2、找到jetty安装目录,修改${JETTY_HOME}/etc/jetty.xml 文件。

    [port]字段[default]值为[指定的端口号]

    <Call name="addConnector">
          <Arg>
              <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
                <Set name="host"><Property name="jetty.host" /></Set>
                <Set name="port"><Property name="jetty.port" default="8080"/></Set>
                <Set name="maxIdleTime">300000</Set>
                <Set name="Acceptors">2</Set>
                <Set name="statsOn">false</Set>
                <Set name="confidentialPort">8443</Set>
            <Set name="lowResourcesConnections">20000</Set>
            <Set name="lowResourcesMaxIdleTime">5000</Set>
              </New>
          </Arg>
        </Call>

    3、在开发环境java代码设置

    package cn.tisson.icsp.test;
    import cn.tisson.logicware.core.util.JettyServer;
    /**
     * 生产者服务运行
     * 使用Jetty运行调试Web应用, 在Console输入r快速重新加载应用.
     * @author skyice
     * 
     */
    public class QuickStartServer {  
        public static final int PORT = 8082;
        public static final String CONTEXT = "/icsp-server";
        public static final String BASE_URL = "http://localhost:" + PORT + CONTEXT;
        public static final String[] TLD_JAR_NAMES = new String[] {"spring-webmvc", "shiro-web", "springside-core" };
        // 添加组件路径
        private static final String ICSP_PORTAL_CLASSES = "../icsp-portal/target/classes";
        public static void main(String[] args) throws Exception {
            // 设定Spring的profile
            System.setProperty("spring.profiles.active", "production");
    
            JettyServer jettyServer = new JettyServer(PORT, CONTEXT);
            jettyServer.setTldJarNames(TLD_JAR_NAMES);
            
            jettyServer.addOtherClasses(ICSP_PORTAL_CLASSES);
            // 启动Jetty
            try {
                jettyServer.start();
                System.out.println("启动成功,请使用该路径访问系统:" + BASE_URL);
                System.out.println("在控制台输入'r'重新加载应用,输入'q'退出jetty程序!");
                while (true) {
                    char c = (char) System.in.read();
                    if (c == 'r') {
                        jettyServer.reloadContext();
                    } else if (c == 'q') {
                        break;
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                System.exit(-1);
            }
        }
    }
  • 相关阅读:
    Win7升Windows10有获取通知,但是就不推送的解决方法
    使用git@osc管理现有项目
    暗黑符文之语1.10
    springcloud干活之服务消费者(feign)
    springcloud干货之服务消费者(ribbon)
    springcloud干货之服务注册与发现(Eureka)
    java对redis的基本操作
    微信公众号开发模式中文乱码
    Java 验证代理ip
    maven将项目及第三方jar打成一个jar包
  • 原文地址:https://www.cnblogs.com/mophy/p/8111521.html
Copyright © 2020-2023  润新知