我有一个Spark MVC应用程序,非常简单.
根据spark documentation,这应该足以运行应用程序:
public class SparkServer {
public static void main(String args[]) {
Spark.staticFileLocation("src/main/webapp");
System.out
.println("bla bla bla");
RService rService = new SparqlRService();
new RController(rService);
}
}
我将该类放在项目中的一个包中,然后在Apache Tomcat服务器上运行Web应用程序(动态Web应用程序).
运行Apache Tomcat时不会出现print语句,这意味着此类未被调用.我知道这很有道理.这就是我要问的原因.请问如何让Apache Tomcat运行我的spark应用程序?
更新
@mlk answer之后,我做了以下事情:
public class SparkServer implements SparkApplication {
@Override
public void init() {
Spark.staticFileLocation("src/main/webapp");
System.out
.println("bla bla lba");
RService rService = new SparqlRService();
new RController(rService);
}
}
在我的web.xml中我做了:
我的SparkServer在一个包中:
存在于源文件夹中的com.recommender:src / main / java
我运行apache tomcat,但是当我从spark调用任何路径时,它仍然返回404.
HITE我可以从main方法运行spark并调用我的页面,它们正在工作.所以我配置spark的方式问题在apache tomcat中运行
更新2
这是如何设置视图的路径
public RecommendationController(RecommendationService service) {
get("/",(request,response) -> {
Map
最佳答案
Spark附带一个内置容器,因此您不需要tomcat或jetty.如果要部署到完整的容器,则需要部署到you can by creating a web.xml file并执行
原文链接:https://www.f2er.com/java/437277.htmlspark.servlet.SparkApplication
.
编辑:您缺少Web.xml中的applicationClass属性.