当前位置: 首页 > 知识库问答 >
问题:

Spring boot 2.1.0和Java 11-JSP未加载

弘承业
2023-03-14

我厌倦了调查这个问题,我找不到一个合适的答案。其实我没发现有人用Java 11和Spring。我的JSP没有加载,就这么简单。关于我的项目的一些信息:

Spring Boot version: 2.0.5.RELEASE
Java version: 11
Gradle: 4.10.2

这些是我的application.yml属性:

server:
  contextPath: /mypath
  port: 9012
  display-name: my app
  error:
    whitelabel:
      enabled: true
  tomcat:
    compression: on
    compressableMimeTypes: application/json,application/xml,text/html,text/xml,text/plain
    # springboot 1.3+ compression
#    compression:
#      enabled: true
#      mime-types: application/json,application/xml,text/html,text/xml,text/plain
    # enable HTTPS when running behind a proxy server
    remote_ip_header: x-forwarded-for
    protocol_header: x-forwarded-proto
  use-forward-headers: true
  # session timeout
  session:
    # spring time out set to 2hrs.
    cookie:
      max-age: 7200
    timeout: 7200
  # enabling SSL/HTTPS with spring boot
  ssl:
    enabled: true
    key-store: /mykeystorepath/keystore.ks
    key-store-password: password
    key-store-type: JKS
    key-alias: selfsigned

http:
  mappers:
    jsonPrettyPrint: true

multipart:
  maxFileSize: 500MB
  maxRequestSize: 500MB
  fileSizeThreshold: 0

spring:
  application:
    name: appname
  jmx:
    enabled: true
    default-domain: ${spring.application.name}
  http:
    # enable and force http encoding support.
    encoding:
      enabled: true
      charset: UTF-8
      force: true
  mvc:
    favicon:
      enabled: true
    view:
      prefix: /WEB-INF/jsp/
      suffix: .jsp

management:
  server:
    port: 9512
  endpoints:
    web:
      base-path: /manage

swagger:
  enable: false

endpoints:
  shutdown:
    enabled: true

#logging:
#  level:
#    org:
#      springframework:
#        web: DEBUG

我的jsp文件位于:

/parent-project-folder/my-app/src/main/webapp/WEB-INF/jsp/

我的主要班级:

@SpringBootApplication(exclude = { SecurityAutoConfiguration.class })
public class Application extends SpringBootServletInitializer {

    /** The log. */
    private static final Logger LOG = LoggerFactory.getLogger(Application.class);

    /**
     * The main method.
     *
     * @param args the arguments
     */
    public static void main(String[] args) {
        SpringApplication springApplication = new SpringApplication(Application.class);
        springApplication.addListeners(new ApplicationPidFileWriter(System.getProperty("user.home") + File.separator + "app.pid"));
        springApplication.run(args);

        LOG.info("--------------------------------------------------------------");
        LOG.info("--------- application startup complete --------");
        LOG.info("--------------------------------------------------------------");
    }

    /*
     * (non-Javadoc)
     *
     * @see org.springframework.boot.web.support.SpringBootServletInitializer#configure(org.springframework.boot.builder.SpringApplicationBuilder)
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

}

我甚至尝试将我的WEB-INF文件夹放在 /src/main/resources.

接下来,这是我的依赖项列表(只是一个草稿复制粘贴):

apply plugin: 'war'

    compile 'javax.servlet:jstl:1.2'
classpath 'gradle.plugin.com.gorylenko.gradle-git-properties:gradle-git-properties:1.4.17'
        classpath "org.springframework.boot:spring-boot-gradle-plugin:2.0.5"
        classpath "com.netflix.nebula:gradle-ospackage-plugin:4.4.0"
        classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.5.4"
        classpath 'com.github.ben-manes:gradle-versions-plugin:0.17.0'
        classpath "gradle.plugin.com.github.spotbugs:spotbugs-gradle-plugin:1.6.4"
        classpath 'com.github.samueltbrown:gradle-cucumber-plugin:0.5'

compile 'org.glassfish.corba:glassfish-corba-omgapi:4.2.0-b004'
        compile 'org.jboss.spec.javax.xml.soap:jboss-saaj-api_1.3_spec:1.0.6.Final'
        runtime 'org.springframework.boot:spring-boot-properties-migrator'
        compile 'javax.xml.bind:jaxb-api:2.3.0'
        compile 'com.sun.xml.bind:jaxb-core:2.3.0.1'
        compile 'com.sun.xml.bind:jaxb-impl:2.3.0.1'
        compile 'javax.activation:activation:1.1.1'
        runtime 'javax.activation:javax.activation-api:1.2.0'

        compile 'javax.inject:javax.inject:1'
        compile 'org.apache.commons:commons-lang3:3.7'
        compile "org.springframework.boot:spring-boot-starter-actuator"
        compile "org.springframework.boot:spring-boot-starter-security"
compile (group: 'org.owasp.esapi', name: 'esapi', version:'2.1.0.1') {
                exclude group: 'org.apache.xmlgraphics'
            }

            compile "com.google.code.gson:gson:${gsonVersion}"
            compile 'taglibs:standard:1.1.2'
            compile 'org.apache.tomcat.embed:tomcat-embed-jasper'

            compile 'org.springframework.boot:spring-boot'
            compile "org.springframework.cloud:spring-cloud-starter-config"
            compile "org.springframework.boot:spring-boot-starter-web"
            compile "org.springframework.boot:spring-boot-starter-tomcat"
            compile "org.springframework.boot:spring-boot-starter-logging"
            compile 'com.mangofactory:swagger-springmvc:1.0.2'

            runtime  group: 'ph.samson.logback', name: 'logback-luhn-mask', version:'1.0.1'

            compile 'org.apache.xmlgraphics:batik-css:1.10'
            compile 'commons-beanutils:commons-beanutils-core:1.8.3'
            compile 'commons-fileupload:commons-fileupload:1.3.3'
            compile 'xalan:xalan:2.7.2'
            compile 'commons-httpclient:commons-httpclient:3.1'
            compile 'org.owasp.antisamy:antisamy:1.5.7'

我有一个登录名.jsp根目录,我应该能够像这样 https://localhost:9012/mypath/login.html,它不会加载。

11月23日星期五更新

我正在取得一些进展。我将详细介绍我的应用程序。最初,这个应用程序是使用Java 1.8和Spring 1.5.9.RELEASE和BOM为我的开发编写的。该应用程序曾经在此路径下具有GET控制器:“/登录”。这是棘手的部分:每当你点击网址“https://www.myapp.com/login.htm”时,以某种方式/某种方式,我不明白,Spring设法将“登录.htm”的请求发送到控制器“/login”。我不确定它是如何意识到额外的“.htm”的。

现在,由于我使用的是Java11和Spring2.1.0.RELEASE,这不再有效。如果我点击“/login”,它将转到控制器。但我需要进行透明的迁移,我不能改变逻辑。该应用程序服务于请求,而客户端从几年前就开始使用“/login.htm”。我需要使“/login.htm”转到“/login”。

共有1个答案

卢伟志
2023-03-14

看起来您在tomcat中运行应用程序。所以检查它使用的java版本。如果版本低于应用程序java版本,tomcat就不会运行它。

 类似资料:
  • 学习JSP,遇到CSS/JS内容无法加载的问题。我有一个jsp页面,在那里我有使用标准html链接和脚本标记引用的引导css和js: 它们都不起作用,Chrome在控制台上给了我以下内容: 如果我使用include指令,它适用于css,但会将所有内容拉入文件: jsp具有以下@page和元标记:

  • 我有一个项目,其中包含页面文件夹中的单个页面以及一些javascript库和代码。我将它们捆绑到WAR中并将其部署在CentOS系统中。但是当我尝试访问它时,我得到了错误。错误交替出现在 和 我在本地机器中部署它没有问题。 编辑:配置 这是CentOS中tomcat的配置,我的本地机配置相同,除了

  • 我目前正在尝试用log4j/slf4j和java 11构建一个应用程序,但在运行时我面临这个问题: 此问题的根源代码是我的记录器的初始化: 我依赖于: org.apache.logging.log4j: log4j-api: 2.11.1 org.apache.logging.log4j: log4j-core: 2.11.1 org.apache.logging.log4j: log4j-slf

  • 问题内容: 我们在Spring 3.0.5上运行Tomcat 6.0,由于某种原因,我们无法通过jsps来评估$ {blah}。这是一个Maven项目,有很多单独的模块,如果需要的话,Eclipse Helios。 这是我的web.xml的片段 这不是(<%@ page isELIgnored =“ false”%>),因为当我将其放入jsp时,页面仅显示为文本,这意味着 $ {2 + 2}未评估

  • 我有两个Java模块,A和B。A提供了一个核心模型,其中包含JAXB注释和帮助器类,用于创建JAXB内容(创建上下文、编组、解组等)。B提供了其他类,这些类通过@xmlanyement(lax=true)包含在模型中,因此必须添加到JAXB上下文中。 这在普通Java-B的classloader中运行良好,它可以看到所有相关的类,并可以使用以下内容实例化JAXB上下文: 现在我正在尝试使用OSGI

  • 我有一个应用程序,在JSP页面中,我显示一个下拉列表,但我的代码中有一个例外。 控制器类别:- addDetails.jsp·佩奇 我得到了以下异常:- 它只是一个Spring MVC Web应用程序,我试图在其中显示预先填充了颜色数据的卓尔向下列表。 非常感谢任何帮助。