I tried a simple spray example app and i cannot access the route, I uploaded the example source code which does not work to github: spray-tomcat-example:
 git clone https://github.com/avidanyum/spray-tomcat-example
 mvn package
 cp cp target/spray-tomcat-example-0.1-SNAPSHOT.war ~/tmp/tomcat/apache-tomcat-7.0.61/webapps/spraytomcat.war
 cd ~/tmp/tomcat/apache-tomcat-7.0.61/bin
 ./catalina.sh jpda run
 http://localhost:8080/spraytomcat/
I get
"The requested resource could not be found."
I defined the route as following:
class ServiceActor extends Actor with Service {
  def actorRefFactory = context
  def receive = runRoute(myRoute)
}
trait Service extends HttpService {
  import com.example.domain.Person
  val myRoute =
    path("") {
      get {
        respondWithMediaType(`text/html`) {
          complete {
            <html>
              <body>
                <h1>Say hello to <i>spray-routing</i> on <i>tomcat</i>!</h1>
              </body>
            </html>
          }
        }
      }
    }
}
and ofcourse I have the boot class in place
in application.conf
spray.servlet {
  boot-class = "com.example.SprayBoot"
  request-timeout = 10s
}
and SprayBoot itself:
class SprayBoot extends WebBoot {
  val system = ActorSystem("actorsystem")
  val serviceActor = system.actorOf(Props[ServiceActor])
}
I'm pretty sure I followed all requirements am i missing something? how can I update it to actually serve the content instead of "The requested resource could not be found."
The example will work when you deploy app into ROOT context without any extra configuration.
I've changed your script a bit:
 git clone https://github.com/avidanyum/spray-tomcat-example
 mvn package
 cp target/spray-tomcat-example-0.1-SNAPSHOT.war ~/tmp/tomcat/apache-tomcat-7.0.61/webapps/ROOT.war
 cd ~/tmp/tomcat/apache-tomcat-7.0.61/bin
 ./catalina.sh jpda run
 wget http://localhost:8080/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With