- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试开始使用 Scalatra,但我遇到了 SBT 的主要问题。说白了就是讨厌。它相当于 Maven 的 Scala。它试图接管项目的每个方面,以获得一些假定的好处。另外,它不能很好地与 IDE 集成。那么有没有办法在没有 SBT 的情况下使用 Scalatra?我真的很喜欢 Scalatra 提供的功能,但如果我不能摆脱 SBT,我可能不得不接受一些更简单的东西,比如用 Jetty 构建我需要的功能。
最佳答案
我应该更清楚一点。但昨晚几个小时后,我找到了答案。首先,您需要一个像这样(或类似)的主对象:
object Sandbox {
def main(args: Array[String]) {
val server = new Server(3000)
val context = new WebAppContext()
context.setServer(server)
context.setContextPath("/")
context.setWar("webapp")
server.setHandler(context)
try {
server.start()
server.join()
} catch {
case e: Exception =>
e.printStackTrace()
System.exit(-1)
}
}
}
然后您需要一个 servlet:
class Test extends ScalatraServlet with ScalateSupport {
get("/") {
<html>
<body>
Hello World
</body>
</html>
}
}
您还需要在默认包中有一个 ScalatraBootstrap 类(必须命名为 ScalatraBootstrap.scala
:
class ScalatraBootstrap extends LifeCycle {
override def init(context: ServletContext) {
context.mount(new Test, "/test/*")
}
}
快完成了。您将需要一个 XML 文件。创建一个 webapp/WEB-INF
文件夹并将这个 web.xml
文件放在那里。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<listener>
<listener-class>org.scalatra.servlet.ScalatraListener</listener-class>
</listener>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/img/*</url-pattern>
<url-pattern>/css/*</url-pattern>
<url-pattern>/js/*</url-pattern>
<url-pattern>/assets/*</url-pattern>
</servlet-mapping>
</web-app>
最后,您需要 JAR 文件。有一个很长的列表,但是有一个相当简单的方法来获取它们。我讨厌 Maven,但我喜欢依赖管理。所以在某处创建一个测试文件夹并下载this中的pom.xml
文件。 repo 。然后转到 pom.xml
所在的文件夹并运行 mvn dependency:copy-dependencies
。从 dependencies
文件夹中获取 JAR,您就可以开始了。没有 Maven,没有 SBT,没有魔法。像往常一样在 IDE 中运行和调试。 :)
关于没有 SBT 的 Scalatra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20206356/
我正在使用 scalatra-sbt-prototype .我需要修改什么以及在哪里才能从我的文件系统上的目录提供文件?举例来说,我想提供来自 /home/downloads/first.tar.gz
是否scalatra使用 circumflex在幕后(或反之亦然)?它们之间的主要区别是什么,您会使用哪一个? 这两个框架的灵感来自 Sinatra乍一看,一模一样。 使用 Scalatra 请求路由
我是作为 Scala 相对较新的人来问这个问题的。我已经看到了如何在 Scala 中创建“控制结构”的示例,但我不太了解它,无法遵循 Scalatra 本身的代码。 有人可以解释一下'params'是
如果我想在 scalatra 中读取 get 请求中的单个参数,我可以按如下方式进行: get("mypath/:id") { val id = params("id") ... } 根据 scal
我想从我的 scalatra ' Controller ' 调用另一个内部 url。我不能做一个简单的重定向,因为有一些安全设置意味着用户只能访问第一个 url。 有没有办法做到这一点? 最佳答案 g
我有 REST 资源,如 author和 article .可以有多个 Author s 和每个 author可以拥有多个articles .我知道可以在一个 servlet 中模拟他们的 Scala
似乎是一个相当直接的问题,但我想在 Scalatra 中的顶级错误处理程序被触发时记录堆栈跟踪。我通过做一些微不足道的事情,故意在我的一种方法中抛出异常: throw new IllegalArgum
我实现了一个 Scalatra servlet,现在想要创建一个可执行 jar,就像本教程中所述:http://www.scalatra.org/2.2/guides/deployment/stand
我正在尝试开始使用 Scalatra,但我遇到了 SBT 的主要问题。说白了就是讨厌。它相当于 Maven 的 Scala。它试图接管项目的每个方面,以获得一些假定的好处。另外,它不能很好地与 IDE
我正在使用 scalatra 文档和 sbt-assemble 插件来创建一个独立的 jar。它在我的本地计算机(带有 OpenJdk 1.7.0 的 Debian Wheezy)上运行,但在运行相同
所以我试图通过在 Scalatra 中使用 JWT 来保护我的 Web 应用程序。目前,我将 Scentry 与用户密码和 RememberMe 策略一起使用,我的目的是将 RememberMe 策略
我正在使用 scalatra 将 MongoDB 数据“导出”到 JSon,我的操作非常简单,例如: get("/") { val title = db.get_collection
现在我只是使用 params 函数来获取已发布到 URL 的数据。 在 Scalatra 中是否有其他方法可以像在 Play Framework 中一样处理表单? Scalatra 是否支持既可用于创
我正在尝试基于 scalatra-sbt.g8 的以下内容: class FooWeb extends ScalatraServlet with ScalateSupport { beforeAl
我正在尝试弄清楚如何编写一个为某些 URL 启用基本身份验证的应用程序。经过身份验证的部分不应该有基于表单的身份验证,只有我可以从 Javascript/JQuery 轻松完成的默认登录。我见过 fe
我正在 Scalatra 之上构建一个 RESTful API。作为框架的新手,我不完全确定是否已经有解决方案可以帮助我使用基于 token 的系统(不是 OAuth)针对 API 对用户进行身份验证
如何将 scala 或 scalatra 部署到 Jetty servlet 容器?有没有人有经验或可以指点我一些在线资源? 最佳答案 如果您使用 sbt,请运行 package command从 s
我是 scalatra 新手,也许我的问题没有意义,但这里是: 如何判断 Scalatra 中的请求是 GET 请求还是 HEAD 请求? 基本上我有一个 REST api,它使用 GET 来获取一个
我正在尝试将我们项目中的 Scala/Scalatra 版本升级到以下版本: scala 2.10.1 scalatra(和 scalatra-scalate、scalatra-scalatest)2
想要设置 Scalatra 在运行 nginx 的机器上运行。 已经正确设置了 nginx,并且能够提供静态 html 页面,但是,我现在希望将其指向 Scalatra 应用程序。所有可用的文档似乎都
我是一名优秀的程序员,十分优秀!