楊鮭魚 2024-11-24 22:25 采纳率: 0%
浏览 30

Springboot项目连接达梦数据库网页显示空白的问题

我写好代码之后再运行,项目能够正常启动,但是进入localhost:9000/staff/info网页后,网页显示为空白,按F12看到状态码是200.数据库能正常连接,在本地可以正常访问,在数据库工具里直接使用SQL语句可以执行。在之前制作的hello页面中,网页里能看到直接用String类型的函数return的内容,info页面之前在没有添加功能的时候也是用的String函数return字符串,也能正常显示。操作系统是银河麒麟,数据库是达梦数据库。以下是项目的代码和相关截图:


package com.dmproject;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.apache.ibatis.annotations.Mapper;

@SpringBootApplication
public class DmProjectApplication {

    public static void main(String[] args) {
        SpringApplication.run(DmProjectApplication.class, args);
    }

}

package com.dmproject.controller;

import com.dmproject.service.StaffService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.dmproject.pojo.Staff;
import java.util.List;
@Controller
@RequestMapping("/staff")
public class StaffController {

    @Autowired
    StaffService staffService;
    @GetMapping("/hello")
    @ResponseBody
    public String hello() {
        return "hello";
    }

    @GetMapping("/info")
    @ResponseBody
    public List<Staff> getStaffInfo(){
        return staffService.getStaffInfo();
    }

}



package com.dmproject.service;
import java.util.List;
import com.dmproject.pojo.Staff;

public interface StaffService {
    public List<Staff> getStaffInfo();
}

package com.dmproject.service;
import java.util.List;
import com.dmproject.pojo.Staff;

public interface StaffService {
    public List<Staff> getStaffInfo();
}

package com.dmproject.service.imple;

import com.dmproject.mapper.StaffMapper;
import com.dmproject.pojo.Staff;
import com.dmproject.service.StaffService;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class StaffServiceImple implements StaffService {

    @Autowired
    StaffMapper staffMapper;
    @Override
    public List<Staff> getStaffInfo(){
        return staffMapper.getAllStaff();
    }
}



package com.dmproject.pojo;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class Staff {
    @JsonProperty("职工号")
    private int employeeId;
    @JsonProperty("姓名")
    private String employeeName;
}


package com.dmproject.mapper;
import com.dmproject.pojo.Staff;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Result;
import java.util.List;
@Mapper
public interface StaffMapper {
    @Select(value = "select * from SCH_FACTORY.STAFF")
    @Results({
            @Result(property = "employeeId", column = "职工号"),
            @Result(property = "employeeName", column = "姓名")
    })
    List<Staff> getAllStaff();
}

上面是我这个项目里的java代码,下面这些是我application.properties和pom.xml里的代码

spring.application.name=DMProject
server.port=9000
spring.datasource.driver-class-name=dm.jdbc.driver.DmDriver
spring.datasource.url=jdbc:dm://localhost:5236/SCH_FACTORY
spring.datasource.username=SYSDBA
spring.datasource.password=SYSDBA
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

<?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>3.4.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.dmproject</groupId>
    <artifactId>DMProject</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>DMProject</name>
    <description>DMProject</description>
    <url/>
    <licenses>
        <license/>
    </licenses>
    <developers>
        <developer/>
    </developers>
    <scm>
        <connection/>
        <developerConnection/>
        <tag/>
        <url/>
    </scm>
    <properties>
        <java.version>23</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>3.4.0</version>
        </dependency>

        <!--<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        <version>1.16.22</version> </dependency>-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>3.4.0</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>com.dameng</groupId>
            <artifactId>DmJdbcDriver18</artifactId>
            <version>8.1.1.193</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
               <!-- <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>-->
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <encoding>UTF - 8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>


img

img

img

img

情况差不多就是这样,目前问题还没有得到解决,希望大家多多指教,非常感谢。

  • 写回答

1条回答 默认 最新

  • 关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    从你提供的代码和描述来看,项目可以正常启动,但是进入网页时显示空白。这种情况可能有多种原因,我将尝试列举一些可能的解决方案:

    1. 检查路由配置:确保你的Spring Boot项目中的路由配置正确。检查@RequestMapping@GetMapping等注解,确保它们正确地映射到了你的Controller方法。
    2. 检查返回的数据:你的getStaffInfo()方法应该是返回一个List<Staff>对象。确保这个方法返回的数据不为空,并且格式正确。你可以尝试在方法中增加日志输出,查看返回的数据情况。
    3. 检查视图层代码:确保你的JSP或其他视图层代码没有错误,能够正确渲染数据。检查HTML、JavaScript等代码,确保它们没有语法错误或逻辑错误。
    4. 检查数据库连接:确认数据库连接没有问题,并且能够正确查询到数据。你可以尝试直接在数据库中执行查询语句,看是否能够正确返回结果。
    5. 检查浏览器控制台:打开浏览器的开发者工具,查看控制台是否有错误信息。这可以帮助你定位问题所在。
    6. 检查项目依赖:确认项目的依赖是否完整,包括Spring Boot、MyBatis等相关依赖。
    7. 清理并重新构建项目:有时候,构建过程中可能会出现一些不可预知的问题,尝试清理项目并重新构建。
    8. 检查字符集和编码问题:如果数据库中的字段或数据包含特殊字符,可能会导致渲染问题。检查数据库字符集和Java代码中的编码设置。
    9. 检查Spring Boot版本兼容性:确认你使用的Spring Boot版本与其他依赖库是否兼容。

    由于你提供的信息比较详细,但问题可能涉及多个方面,因此需要逐步排查。建议从上述建议开始,一步一步地检查和调试,希望能够帮助你解决问题。如果问题依然存在,可以提供更多详细的错误信息或日志,以便进一步分析。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月24日