kotlinspring启动项目不显示jsp页面

lokaqttq  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(200)

我有一个用kotlin写的spring boot项目。用java编写的同一个项目无缝地显示jsp页面。但Kotlin一号没有。我的代码在下面。对于jsp页面,kotlin是否存在兼容性问题?
当我运行我的应用程序时,我没有看到任何错误,但是在本地主机上运行时,页面只显示“whitelabel error page”。
我的项目结构
pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.3</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<description>Online case record for RHOdisha</description>
<properties>
    <java.version>1.8</java.version>
    <kotlin.version>1.4.21</kotlin.version>
</properties>

<!--Spring Boot Dependencies -->
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-r2dbc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-webflux</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.projectreactor</groupId>
        <artifactId>reactor-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>dev.miku</groupId>
        <artifactId>r2dbc-mysql</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>

    <!--Kotlin Dependencies-->
    <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-kotlin</artifactId>
    </dependency>
    <dependency>
        <groupId>io.projectreactor.kotlin</groupId>
        <artifactId>reactor-kotlin-extensions</artifactId>
    </dependency>
    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-reflect</artifactId>
    </dependency>
    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib-jdk8</artifactId>
    </dependency>
    <dependency>
        <groupId>org.jetbrains.kotlinx</groupId>
        <artifactId>kotlinx-coroutines-reactor</artifactId>
    </dependency>
    <dependency>
        <groupId>org.jboss.logging</groupId>
        <artifactId>jboss-logging</artifactId>
        <version>3.4.1.Final</version>
    </dependency>
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.15</version>
    </dependency>
</dependencies>

<build>
    <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
    <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-plugin</artifactId>
            <configuration>
                <args>
                    <arg>-Xjsr305=strict</arg>
                </args>
                <compilerPlugins>
                    <plugin>spring</plugin>
                </compilerPlugins>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.jetbrains.kotlin</groupId>
                    <artifactId>kotlin-maven-allopen</artifactId>
                    <version>${kotlin.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.jetbrains.kotlin</groupId>
                    <artifactId>kotlin-maven-noarg</artifactId>
                    <version>${kotlin.version}</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

应用程序属性

server.port=1206
logging.level.org.springframework.r2dbc=DEBUG

spring.r2dbc.url=r2dbc:pool:mysql://*ip with db name here*
spring.r2dbc.username= *username*
spring.r2dbc.password= *password*

spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp

控制器.kt

@RestController
 class ModuleController(
    private val appProperties: AppProperties,
    private val userService: UserService
   ) {
@Autowired
var httpSession: HttpSession? = null

private val logger = Logger.getLogger(this.javaClass)

@GetMapping(RouteURL.WELCOME)
fun onAccessView(mView: Model): String? {
    return if (SessionUtils.getUserType(httpSession) != null) {
        mView.addAttribute("blockName", SessionUtils.getBlockName(httpSession))
        "dashboard"
    } else {
        "redirect:" + RouteURL.HOME
    }
}

@GetMapping(RouteURL.SSOBACK)
fun onSsoBack(request: HttpServletRequest): String {
    return "redirect:" + request.scheme + "://" + appProperties.appBaseURL()
}

@GetMapping(RouteURL.LOGOUT)
fun onLogout(request: HttpServletRequest): String {
    val userId = Conversion.TryCastInteger(SessionUtils.getUserId(httpSession))
    SessionUtils.SessionClear(httpSession)
    return "redirect:" + request.scheme + "://" + appProperties.appBaseURL() + "/user/logout/" + userId
}
   }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题