Javalin: Server working but not sure of

Created on 5 Mar 2019  路  9Comments  路  Source: tipsy/javalin

Dear All,

The jetty server is working(see below) but not sure of the results on http://localhost:7000 see below

"C:\Program Files\Java\jdk1.8.0_191\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.2.5\lib\idea_rt.jar=51419:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.2.5\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_191\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_191\jre\lib\rt.jar;C:\IntelliJ Projects\javalin-kotlin-example-master\target\classes;C:\Users\user.m2\repository\io\javalin\javalin\2.3.0\javalin-2.3.0.jar;C:\Users\user.m2\repository\org\slf4j\slf4j-api\1.7.25\slf4j-api-1.7.25.jar;C:\Users\user.m2\repository\org\eclipse\jetty\jetty-server\9.4.12.v20180830\jetty-server-9.4.12.v20180830.jar;C:\Users\user.m2\repository\javax\servlet\javax.servlet-api\3.1.0\javax.servlet-api-3.1.0.jar;C:\Users\user.m2\repository\org\eclipse\jetty\jetty-http\9.4.12.v20180830\jetty-http-9.4.12.v20180830.jar;C:\Users\user.m2\repository\org\eclipse\jetty\jetty-util\9.4.12.v20180830\jetty-util-9.4.12.v20180830.jar;C:\Users\user.m2\repository\org\eclipse\jetty\jetty-io\9.4.12.v20180830\jetty-io-9.4.12.v20180830.jar;C:\Users\user.m2\repository\org\eclipse\jetty\jetty-webapp\9.4.12.v20180830\jetty-webapp-9.4.12.v20180830.jar;C:\Users\user.m2\repository\org\eclipse\jetty\jetty-xml\9.4.12.v20180830\jetty-xml-9.4.12.v20180830.jar;C:\Users\user.m2\repository\org\eclipse\jetty\jetty-servlet\9.4.12.v20180830\jetty-servlet-9.4.12.v20180830.jar;C:\Users\user.m2\repository\org\eclipse\jetty\jetty-security\9.4.12.v20180830\jetty-security-9.4.12.v20180830.jar;C:\Users\user.m2\repository\org\eclipse\jetty\websocket\websocket-server\9.4.12.v20180830\websocket-server-9.4.12.v20180830.jar;C:\Users\user.m2\repository\org\eclipse\jetty\websocket\websocket-common\9.4.12.v20180830\websocket-common-9.4.12.v20180830.jar;C:\Users\user.m2\repository\org\eclipse\jetty\websocket\websocket-api\9.4.12.v20180830\websocket-api-9.4.12.v20180830.jar;C:\Users\user.m2\repository\org\eclipse\jetty\websocket\websocket-client\9.4.12.v20180830\websocket-client-9.4.12.v20180830.jar;C:\Users\user.m2\repository\org\eclipse\jetty\jetty-client\9.4.12.v20180830\jetty-client-9.4.12.v20180830.jar;C:\Users\user.m2\repository\org\eclipse\jetty\websocket\websocket-servlet\9.4.12.v20180830\websocket-servlet-9.4.12.v20180830.jar;C:\Users\user.m2\repository\com\fasterxml\jackson\module\jackson-module-kotlin\2.8.6\jackson-module-kotlin-2.8.6.jar;C:\Users\user.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.8.6\jackson-databind-2.8.6.jar;C:\Users\user.m2\repository\com\fasterxml\jackson\core\jackson-core\2.8.6\jackson-core-2.8.6.jar;C:\Users\user.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.8.0\jackson-annotations-2.8.0.jar;C:\Users\user.m2\repository\org\jetbrains\kotlin\kotlin-reflect\1.0.5\kotlin-reflect-1.0.5.jar;C:\Users\user.m2\repository\org\slf4j\slf4j-simple\1.7.25\slf4j-simple-1.7.25.jar;C:\Users\user.m2\repository\org\jetbrains\kotlin\kotlin-stdlib-jdk8\1.2.71\kotlin-stdlib-jdk8-1.2.71.jar;C:\Users\user.m2\repository\org\jetbrains\kotlin\kotlin-stdlib\1.2.71\kotlin-stdlib-1.2.71.jar;C:\Users\user.m2\repository\org\jetbrains\kotlin\kotlin-stdlib-common\1.2.71\kotlin-stdlib-common-1.2.71.jar;C:\Users\user.m2\repository\org\jetbrains\annotations\13.0\annotations-13.0.jar;C:\Users\user.m2\repository\org\jetbrains\kotlin\kotlin-stdlib-jdk7\1.2.71\kotlin-stdlib-jdk7-1.2.71.jar" app.MainKt
[main] INFO org.eclipse.jetty.util.log - Logging initialized @413ms to org.eclipse.jetty.util.log.Slf4jLog
[main] INFO io.javalin.Javalin -


| _ _ _ |
| | | __ ___ ____ _| (_)_ __ |
| _ | |/ _\ \ / / _ | | | '_ \ |
| | |_| | (_| |\ V / (_| | | | | | | |
| ___/ __,_| _/ __,_|_|_|_| |_| |
|_________________________________________|
| |
| https://javalin.io/documentation |
|_________________________________________|
[main] INFO io.javalin.Javalin - Starting Javalin ...
[main] INFO org.eclipse.jetty.server.Server - jetty-9.4.12.v20180830; built: 2018-08-30T13:59:14.071Z; git: 27208684755d94a92186989f695db2d7b21ebc51; jvm 1.8.0_191-b12
[main] INFO org.eclipse.jetty.server.session - DefaultSessionIdManager workerName=node0
[main] INFO org.eclipse.jetty.server.session - No SessionScavenger set, using defaults
[main] INFO org.eclipse.jetty.server.session - node0 Scavenging every 660000ms
[main] INFO org.eclipse.jetty.server.handler.ContextHandler - Started i.j.c.u.initialize$httpHandler$1@27c20538{/,null,AVAILABLE}
[main] INFO org.eclipse.jetty.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@6c49835d{/,null,AVAILABLE}
[main] INFO org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@3b088d51{HTTP/1.1,[http/1.1]}{0.0.0.0:7000}
[main] INFO org.eclipse.jetty.server.Server - Started @1651ms
[main] INFO io.javalin.Javalin - Jetty is listening on: [http://localhost:7000]
[main] INFO io.javalin.Javalin - Javalin has started \o/

Local Host;

JSON and raw data : Not found

Content-Length: 11
Content-Type: application/json
Date: Tue, 05 Mar 2019 16:59:59 GMT
Server: Javalin

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.5
Connection: keep-alive
Host: localhost:7000
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0

Thanks in advance

Simon Oates

QUESTION

Most helpful comment

Hi David,

Happy Days.

{"0":{"name":"Alice","email":"[email protected]","id":0},"1":{"name":"Bob","email":"[email protected]","id":1},"2":{"name":"Carol","email":"[email protected]","id":2},"3":{"name":"Dave","email":"[email protected]","id":3}}

Thanks for your help.

Great write up in the Java magazine. I hope this creates further success,

Simon

All 9 comments

Hi @soatesuk. It looks like you're hitting an unmapped endpoint. What's the issue?

Hi David,

I very new to web development. I expected to see the users as per the CRUD rest api listed on the local host? I guess this is where seeing the expected outcome helps?

Thanks

Simon

Could you post your server code?

Hi David,

Thanks for your help. I'm not sure how to do this from intellij, that's why I posted the jetty log. I will try to get this to you over the next couple of days but do you have a link how this can be done?

Regards
Simon

I just mean the code you are running. What is the result of running

import io.javalin.Javalin

fun main(args: Array<String>) {
    val app = Javalin.create().start(7000)
    app.get("/") { ctx -> ctx.result("Hello World") }
}

and visiting http://localhost:7000 in your browser?

No, It was the following;

package app

import app.user.User
import app.user.UserDao
import io.javalin.apibuilder.ApiBuilder.*
import io.javalin.Javalin

fun main(args: Array<String>) {

    val userDao = UserDao()

    val app = Javalin.create().apply {
        exception(Exception::class.java) { e, ctx -> e.printStackTrace() }
        error(404) { ctx -> ctx.json("not found") }
    }.start(7000)

    app.routes {

        get("/users") { ctx ->
            ctx.json(userDao.users)
        }

        get("/users/:user-id") { ctx ->
            ctx.json(userDao.findById(ctx.pathParam("user-id").toInt())!!)
        }

        get("/users/email/:email") { ctx ->
            ctx.json(userDao.findByEmail(ctx.pathParam("email"))!!)
        }

        post("/users") { ctx ->
            val user = ctx.body<User>()
            userDao.save(name = user.name, email = user.email)
            ctx.status(201)
        }

        patch("/users/:user-id") { ctx ->
            val user = ctx.body<User>()
            userDao.update(
                    id = ctx.pathParam("user-id").toInt(),
                    user = user
            )
            ctx.status(204)
        }

        delete("/users/:user-id") { ctx ->
            userDao.delete(ctx.pathParam("user-id").toInt())
            ctx.status(204)
        }

    }

}

If I remember correctly that tutorial doesn't have a path mapped for http://localhost:7000. If you visit http://localhost:7000/users you should see the list of users.

Hi David,

Happy Days.

{"0":{"name":"Alice","email":"[email protected]","id":0},"1":{"name":"Bob","email":"[email protected]","id":1},"2":{"name":"Carol","email":"[email protected]","id":2},"3":{"name":"Dave","email":"[email protected]","id":3}}

Thanks for your help.

Great write up in the Java magazine. I hope this creates further success,

Simon

Great write up in the Java magazine. I hope this creates further success,

Thank you!

Was this page helpful?
0 / 5 - 0 ratings