`

Scala调用jetty的jar包

 
阅读更多

需要将jar包放到scala安装目录的lib(如C:\Program Files\scala\lib)目录下,则使用scalac和scala编译运行时可以不用添加包依赖关系。

如Java使用jetty库实现服务器如下(demo/Hello.java):

package demo;

import org.eclipse.jetty.server.*;
import org.eclipse.jetty.server.handler.HandlerCollection;
import org.eclipse.jetty.server.nio.SelectChannelConnector;  
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.util.thread.QueuedThreadPool;

public class Hello{
	
	public static void main(String[] args) throws Exception {
		   
	       Server server = new Server();
	      
	       //Handler
	       SelectChannelConnector connector = new SelectChannelConnector();  
	       connector.setPort(1987);  
	       connector.setThreadPool(new QueuedThreadPool(5));
	       server.setConnectors(new Connector[]{connector});
	       ServletContextHandler handlercontext = new ServletContextHandler();  
	       handlercontext.setContextPath("/");  
	       server.setHandler(handlercontext);  
	       
	       HandlerCollection hc =new HandlerCollection();
	       hc.setHandlers(new Handler[]{handlercontext});
	       server.setHandler(hc);
	       
	       server.start();
	       server.join();
	}
}

 使用scala调用jetty*.jar包如下:

//webapp
import org.eclipse.jetty.server._;
import org.eclipse.jetty.webapp._;

object Hello {   
	def main(args: Array[String]) {
		var webapp = "D:\\htdocs\\1";
		val server = new Server(80);
		val context = new WebAppContext(webapp,"/");
		server.setHandler(context);
		server.start();
		server.join();
	}
}

//handler
import org.eclipse.jetty.server._;
import org.eclipse.jetty.server.handler.HandlerCollection;
import org.eclipse.jetty.server.nio.SelectChannelConnector;  
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.util.thread.QueuedThreadPool;

object Hello {   
	def main(args: Array[String]) {
		val server = new Server();

		//Handler
		val connector = new SelectChannelConnector();  
		connector.setPort(1987);
		connector.setThreadPool(new QueuedThreadPool(5));
		val connectors = new Array[Connector](1);
		connectors(0) = connector;
		server.setConnectors(connectors);
		val handlercontext = new ServletContextHandler();  
		handlercontext.setContextPath("/");  
		server.setHandler(handlercontext);  

		val hc =new HandlerCollection();
		val contexts = new Array[Handler](1);
		contexts(0) = handlercontext;
		hc.setHandlers(contexts);
		server.setHandler(hc);

		server.start();
		server.join();
	}
}

 运行方法

运行方法
scala Hello.scala
或
scalac Hello.scala
scala Hello
2013-10-31 16:27:24.625:INFO:oejs.Server:jetty-8.1.13.v20130916
2013-10-31 16:27:25.024:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:1987

 

分享到:
评论

相关推荐

    scala-actors-2.10 jar包

    scala-actors-2.10 jar包,可以解决 scala-actors-2.10以上版本带来的不兼容问题

    scala程序依赖jar

    scala程序依赖jar,编写scala必须依赖的jar,否则编译不通过

    SBT ivy2 scala构建工具jar包

    标签中的"SBT ivy2 scala jar包"进一步强调了这个压缩包的内容,其中的jar包不仅涉及到SBT本身,还可能包含了Ivy2的相关组件,以便于SBT能够执行依赖管理和构建过程。 至于压缩包子文件的文件名称列表只给出了`.ivy...

    机器学习前端,没有hbase数据库结构和scala的算法jar包,慎用

    "机器学习前端,没有HBase数据库结构和Scala的算法jar包,慎用"这一标题提示我们,对于一个涉及机器学习的项目,如果前端缺少了特定的后端支持,可能会遇到重大挑战。在这个场景中,HBase数据库和Scala编写的算法库...

    scala-compiler.jar

    scala-compiler.jar

    hanlp1.7jar包下载

    标题“hanlp1.7jar包下载”表明我们要讨论的是HanLP的1.7版本的Java库,通常以.jar格式提供,方便Java开发者在项目中引入和使用。 HanLP 1.7.0是其历史版本之一,可能包含了一些特定的功能改进和优化。虽然没有具体...

    spark相关jar包

    这些jar包通常包括Spark自身的API、Hadoop相关库(因为Spark通常在Hadoop生态系统中运行)、Scala库(Spark是用Scala编写的,因此需要Scala的运行时环境)、以及其他的库如Avro、Parquet、JSON解析库等。这些库允许...

    jar包反编译工具看jar包源码必备

    在IT行业中,jar(Java Archive)包是一种常用的文件格式,用于集合Java类文件、相关的元数据和资源文件,便于分发和执行。当你需要查看jar包内的源代码,特别是没有提供源码的情况下,就需要借助“jar包反编译工具...

    jieba分词jar包

    1. **jieba主jar包**:这是核心的分词库,包含了jieba分词的算法实现,可以直接在Java项目中引入,调用其提供的API进行分词操作。 2. **源码**:提供了jieba分词的Java源代码,开发者可以查看源码了解其内部实现,...

    scala jar

    "Scala jar"这个标题可能指的是使用Scala编译的Java Archive (JAR) 文件,这是Java平台上打包和分发可执行程序的标准格式。在描述中提到的"有用"可能暗示这个JAR文件包含有用的库或应用程序。 在Scala开发中,`jar`...

    spark所需要的scala jar包依赖

    2. **Scala编译器和运行时**:Scala jar包包括了Scala编译器(用于将Scala源代码编译成Java字节码)和Scala运行时库,这使得Spark可以在集群上执行Scala代码。 3. **Spark依赖的Scala库**:Spark自身依赖于Scala的...

    scala 本地架包

    在Scala编程中,使用正确的库和框架(通常以JAR包的形式)是至关重要的,因为它们提供了丰富的功能,可以帮助开发者更高效地工作。"scala 本地架包"指的是将Scala库或者框架保存在本地文件系统中,以便于项目中引用...

    scala-library-2.10.0.jar

    scala-library-2.10.0.jar scala-library-2.10.0.jar scala-library-2.10.0.jar

    scala sdk scala-2.12.3

    Scala SDK,全称为Scala Software Development Kit,是用于开发Scala应用程序的核心工具集。Scala是一种多范式的编程语言,融合了面向对象和函数式编程的特点,它运行在Java虚拟机(JVM)上,能够充分利用Java生态...

    scala2.12.1Windows镜像包

    - **互操作性**:Scala可以直接调用Java库,反之亦然,这得益于良好的Java互操作性。 - **编译器增强**:错误消息更加友好,新的警告提示帮助开发者编写更高质量的代码。 - **库和框架更新**:包括对Play ...

    scala-maven-plugin-4.4.0.jar

    maven的scala编译包

    scala-2.12.10.zip

    2. 将解压后的Scala目录添加到系统的PATH环境变量中,以便在命令行中直接调用 Scala 命令。 3. 确保已安装Java Development Kit (JDK) 8 或更高版本,因为Scala需要JVM才能运行。 4. 验证安装是否成功,可以在命令行...

    scala-2.12.8 源码包

    Scala-2.12.8源码包是Scala编程语言的2.12.8版本的源代码,允许开发者深入理解其内部工作原理,进行调试、扩展或定制。以下是关于Scala-2.12.8源码包的一些关键知识点: 1. **类型系统**:Scala的类型系统是其强大...

    Google的pagerank实现(Java+scala)Eclipse工程实例带测试数据结果和JAR包

    JAR包在lib目录下,包括Spark包和google的第三方包guava-r07.jar,需要手动引入 另外需要修改2处地方:ctx.textFile("..//pagerank.txt", 1);文件路径 Good luck!!!!!!! *************************************...

    Flume对接Spark Streaming的相关jar包

    版本号中的“_2.10”表示该 jar 包是针对 Scala 2.10 版本编译的,而“1.6.1”则对应 Spark Streaming 的版本。 在实际使用中,你需要将这些 jar 包复制到 Flume 安装目录下的 lib 目录中,这样 Flume 在启动时就...

Global site tag (gtag.js) - Google Analytics