2017-09-26 11:24:48 +08:00
|
|
|
import com.jfinal.plugin.activerecord.ActiveRecordPlugin
|
2017-09-27 15:52:50 +08:00
|
|
|
import com.jfinal.plugin.druid.DruidPlugin
|
2017-09-25 10:06:58 +08:00
|
|
|
import org.slf4j.LoggerFactory
|
|
|
|
|
import ro.pippo.controller.ControllerApplication
|
|
|
|
|
import ro.pippo.core.Pippo
|
|
|
|
|
import ro.pippo.core.RequestResponseFactory
|
|
|
|
|
import ro.pippo.session.SessionManager
|
|
|
|
|
import ro.pippo.session.SessionRequestResponseFactory
|
|
|
|
|
import ro.pippo.session.cookie.CookieSessionDataStorage
|
|
|
|
|
import route.*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
object Main {
|
|
|
|
|
@JvmStatic
|
|
|
|
|
fun main(args: Array<String>) {
|
2017-09-27 15:52:50 +08:00
|
|
|
// System.setProperty("user.timezone","Asia/Shanghai");
|
2017-09-25 10:06:58 +08:00
|
|
|
val pippo = Pippo(BasicApplication())
|
|
|
|
|
pippo.start()
|
2017-09-27 16:02:57 +08:00
|
|
|
|
2017-09-25 10:06:58 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class BasicApplication : ControllerApplication() {
|
|
|
|
|
private val log = LoggerFactory.getLogger(BasicApplication::class.java)
|
2017-09-26 11:24:48 +08:00
|
|
|
// private val druidDataSource: DruidDataSource = DruidDataSource()
|
2017-09-25 10:06:58 +08:00
|
|
|
|
|
|
|
|
override fun onInit() {
|
|
|
|
|
getRouter().ignorePaths("/favicon.ico")
|
|
|
|
|
|
|
|
|
|
// send files from a local folder (try a request like 'src/main/java/ro/pippo/demo/basic/BasicApplication.java')
|
|
|
|
|
addFileResourceRoute("/src", "src")
|
|
|
|
|
|
|
|
|
|
// register a custom ExceptionHandler
|
|
|
|
|
errorHandler.setExceptionHandler(ForbiddenException::class.java) { e, routeContext ->
|
|
|
|
|
log.info("Called custom exception handler")
|
|
|
|
|
routeContext.setLocal<String>("message", e.message)
|
|
|
|
|
errorHandler.handle(403, routeContext)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// register a request logger
|
|
|
|
|
routePreDispatchListeners.add { request, _ ->
|
|
|
|
|
println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
|
|
|
|
|
println("requestPath = " + request.path)
|
|
|
|
|
println("requestUri = " + request.uri)
|
|
|
|
|
println("requestUrl = " + request.url)
|
|
|
|
|
println("contextPath = " + request.contextPath)
|
|
|
|
|
println("applicationPath = " + request.applicationPath)
|
|
|
|
|
println("applicationUri = " + request.applicationUri)
|
|
|
|
|
println("applicationUriWithQuery = " + request.applicationUriWithQuery)
|
|
|
|
|
println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
addControllers(CtrlUser::class.java)
|
|
|
|
|
addControllers(CrtlGroup::class.java)
|
|
|
|
|
addControllers(CtrlMenu::class.java)
|
|
|
|
|
addControllers(CtrlPerm::class.java)
|
|
|
|
|
addControllers(CtrlRole::class.java)
|
2017-09-26 11:24:48 +08:00
|
|
|
|
|
|
|
|
|
2017-09-27 15:52:50 +08:00
|
|
|
val dp = DruidPlugin(
|
|
|
|
|
"jdbc:mysql://rm-wz9n28sq10rz5b0u2o.mysql.rds.aliyuncs.com:3306/sh-upgram?serverTimezone=Asia/Shanghai",
|
|
|
|
|
"shzhyjxy",
|
|
|
|
|
"Admin111")
|
|
|
|
|
val arp = ActiveRecordPlugin(dp)
|
|
|
|
|
dp.start()
|
|
|
|
|
arp.start()
|
2017-09-27 16:02:57 +08:00
|
|
|
|
|
|
|
|
PUT("/test") { context ->
|
|
|
|
|
context.send("ok")
|
|
|
|
|
}
|
2017-09-25 10:06:58 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override fun createRequestResponseFactory(): RequestResponseFactory {
|
|
|
|
|
val sessionDataStorage = CookieSessionDataStorage(pippoSettings)
|
|
|
|
|
val sessionManager = SessionManager(sessionDataStorage)
|
|
|
|
|
|
|
|
|
|
return SessionRequestResponseFactory(this, sessionManager)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class ForbiddenException(message: String) : RuntimeException(message)
|