Java “弹簧靴”;白标错误页“;没有可用的消息

Java “弹簧靴”;白标错误页“;没有可用的消息,java,spring,spring-boot,Java,Spring,Spring Boot,我正在尝试将我的SpringMVC项目转换为SpringBoot。我根据spring boot转换了所有必要的文件。控制台上没有错误。但是当我在浏览器中运行我的web应用程序时,我得到了这个错误。 错误:“白标错误页”无可用消息 请告诉我为什么我得到这个错误,以及如何解决它 pageController.java package net.kzn.onlineshopping.contr @Controller public class PageController { privat

我正在尝试将我的SpringMVC项目转换为SpringBoot。我根据spring boot转换了所有必要的文件。控制台上没有错误。但是当我在浏览器中运行我的web应用程序时,我得到了这个错误。 错误:“白标错误页”无可用消息 请告诉我为什么我得到这个错误,以及如何解决它

pageController.java

package net.kzn.onlineshopping.contr 

@Controller
public class PageController {

    private static final Logger logger = LoggerFactory.getLogger(PageController.class);

    @Autowired
    private CategoryDAO categoryDAO;

    @Autowired
    private ProductDAO productDAO;

    @RequestMapping(value = { "/", "/home", "/index" })
    public ModelAndView index(@RequestParam(name = "logout", required = false) String logout) {
        ModelAndView mv = new ModelAndView("page");
        mv.addObject("title", "Home");

        logger.info("Inside PageController index method - INFO");
        logger.debug("Inside PageController index method - DEBUG");
  
        // passing the list of categories
        mv.addObject("categories", categoryDAO.list());

        if (logout != null) {
            mv.addObject("message", "You have successfully logged out!");
        }

        mv.addObject("userClickHome", true);
        return mv;
    }

    @RequestMapping(value = "/about")
    public ModelAndView about() {
        ModelAndView mv = new ModelAndView("page");
        mv.addObject("title", "About Us");
        mv.addObject("userClickAbout", true);
        return mv;
    }

    @RequestMapping(value = "/contact")
    public ModelAndView contact() {
        ModelAndView mv = new ModelAndView("page");
        mv.addObject("title", "Contact Us");
        mv.addObject("userClickContact", true);
        return mv;
    }

    /*
     * Methods to load all the products and based on category
     */

    @RequestMapping(value = "/show/all/products")
    public ModelAndView showAllProducts() {
        ModelAndView mv = new ModelAndView("page");
        mv.addObject("title", "All Products");

        // passing the list of categories
        mv.addObject("categories", categoryDAO.list());

        mv.addObject("userClickAllProducts", true);
        return mv;
    }

    @RequestMapping(value = "/show/category/{id}/products")
    public ModelAndView showCategoryProducts(@PathVariable("id") int id) {
        ModelAndView mv = new ModelAndView("page");

        // categoryDAO to fetch a single category
        Category category = null;

        category = categoryDAO.get(id);

        mv.addObject("title", category.getName());

        // passing the list of categories
        mv.addObject("categories", categoryDAO.list());

        // passing the single category object
        mv.addObject("category", category);

        mv.addObject("userClickCategoryProducts", true);
        return mv;
    }

    /*
     * Viewing a single product
     */

    @RequestMapping(value = "/show/{id}/product")
    public ModelAndView showSingleProduct(@PathVariable int id) throws ProductNotFoundException {

        ModelAndView mv = new ModelAndView("page");

        Product product = productDAO.get(id);

        if (product == null)
            throw new ProductNotFoundException();

        // update the view count
        product.setViews(product.getViews() + 1);
        productDAO.update(product);
        // ---------------------------

        mv.addObject("title", product.getName());
        mv.addObject("product", product);

        mv.addObject("userClickShowProduct", true);

        return mv;

    }

    @RequestMapping(value = "/membership")
    public ModelAndView register() {
        ModelAndView mv = new ModelAndView("page");

        logger.info("Page Controller membership called!");

        return mv;
    }

    @RequestMapping(value = "/login")
    public ModelAndView login(@RequestParam(name = "error", required = false) String error,
            @RequestParam(name = "logout", required = false) String logout) {
        ModelAndView mv = new ModelAndView("login");
        mv.addObject("title", "Login");
        if (error != null) {
            mv.addObject("message", "Username and Password is invalid!");
        }
        if (logout != null) {
            mv.addObject("logout", "You have logged out successfully!");
        }
        return mv;
    }

    @RequestMapping(value = "/logout")
    public String logout(HttpServletRequest request, HttpServletResponse response) {
        // Invalidates HTTP Session, then unbinds any objects bound to it.
        // Removes the authentication from securitycontext
        Authentication auth = SecurityContextHolder.getContext().getAuthentication();
        if (auth != null) {
            new SecurityContextLogoutHandler().logout(request, response, auth);
        }

        return "redirect:/login?logout";
    }

    @RequestMapping(value = "/access-denied")
    public ModelAndView accessDenied() {
        ModelAndView mv = new ModelAndView("error");
        mv.addObject("errorTitle", "Aha! Caught You.");
        mv.addObject("errorDescription", "You are not authorized to view this page!");
        mv.addObject("title", "403 Access Denied");
        return mv;
    }

    @RequestMapping(value = "/view/category/{id}/products")
    public ModelAndView viewProducts(@PathVariable("id") int id) {
        ModelAndView mv = new ModelAndView("page");
        // categoryDAO to fetch a single category
        Category category = null;

        category = categoryDAO.get(id);

        mv.addObject("title", category.getName());

        // passing the list of categories
        mv.addObject("viewproducts", productDAO.listActiveProductsByCategory(id));

        mv.addObject("userClickViewProducts", true);
        return mv;
    }

    
    @RequestMapping(value = "/search")
    public ModelAndView Search(@RequestParam(value = "searchTerm", required = false) String pSearchTerm,
            HttpServletRequest request, HttpServletResponse response) {
        ModelAndView mv = new ModelAndView("search");

        mv.addObject("searchTerm", pSearchTerm);
        mv.addObject("searchResult", productDAO.searchProductsByParam(pSearchTerm));

        mv.addObject("userClickSearch", true);

        return mv;
    }

}
package net.kzn.onlineshopping;

 
@SpringBootApplication
@EnableWebSecurity 
@ComponentScan(basePackages = {"net.kzn.onlineshopping.*","net.kzn.shoppingbackend.*"})
@ImportResource({"classpath:spring-security.xml","classpath:/**/dispatcher-servlet.xml"})
public class OnlineshoppingApplication {

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

package net.kzn.onlineshopping.contr 

@Controller
public class PageController {

    private static final Logger logger = LoggerFactory.getLogger(PageController.class);

    @Autowired
    private CategoryDAO categoryDAO;

    @Autowired
    private ProductDAO productDAO;

    @RequestMapping(value = { "/", "/home", "/index" })
    public ModelAndView index(@RequestParam(name = "logout", required = false) String logout) {
        ModelAndView mv = new ModelAndView("page");
        mv.addObject("title", "Home");

        logger.info("Inside PageController index method - INFO");
        logger.debug("Inside PageController index method - DEBUG");
  
        // passing the list of categories
        mv.addObject("categories", categoryDAO.list());

        if (logout != null) {
            mv.addObject("message", "You have successfully logged out!");
        }

        mv.addObject("userClickHome", true);
        return mv;
    }

    @RequestMapping(value = "/about")
    public ModelAndView about() {
        ModelAndView mv = new ModelAndView("page");
        mv.addObject("title", "About Us");
        mv.addObject("userClickAbout", true);
        return mv;
    }

    @RequestMapping(value = "/contact")
    public ModelAndView contact() {
        ModelAndView mv = new ModelAndView("page");
        mv.addObject("title", "Contact Us");
        mv.addObject("userClickContact", true);
        return mv;
    }

    /*
     * Methods to load all the products and based on category
     */

    @RequestMapping(value = "/show/all/products")
    public ModelAndView showAllProducts() {
        ModelAndView mv = new ModelAndView("page");
        mv.addObject("title", "All Products");

        // passing the list of categories
        mv.addObject("categories", categoryDAO.list());

        mv.addObject("userClickAllProducts", true);
        return mv;
    }

    @RequestMapping(value = "/show/category/{id}/products")
    public ModelAndView showCategoryProducts(@PathVariable("id") int id) {
        ModelAndView mv = new ModelAndView("page");

        // categoryDAO to fetch a single category
        Category category = null;

        category = categoryDAO.get(id);

        mv.addObject("title", category.getName());

        // passing the list of categories
        mv.addObject("categories", categoryDAO.list());

        // passing the single category object
        mv.addObject("category", category);

        mv.addObject("userClickCategoryProducts", true);
        return mv;
    }

    /*
     * Viewing a single product
     */

    @RequestMapping(value = "/show/{id}/product")
    public ModelAndView showSingleProduct(@PathVariable int id) throws ProductNotFoundException {

        ModelAndView mv = new ModelAndView("page");

        Product product = productDAO.get(id);

        if (product == null)
            throw new ProductNotFoundException();

        // update the view count
        product.setViews(product.getViews() + 1);
        productDAO.update(product);
        // ---------------------------

        mv.addObject("title", product.getName());
        mv.addObject("product", product);

        mv.addObject("userClickShowProduct", true);

        return mv;

    }

    @RequestMapping(value = "/membership")
    public ModelAndView register() {
        ModelAndView mv = new ModelAndView("page");

        logger.info("Page Controller membership called!");

        return mv;
    }

    @RequestMapping(value = "/login")
    public ModelAndView login(@RequestParam(name = "error", required = false) String error,
            @RequestParam(name = "logout", required = false) String logout) {
        ModelAndView mv = new ModelAndView("login");
        mv.addObject("title", "Login");
        if (error != null) {
            mv.addObject("message", "Username and Password is invalid!");
        }
        if (logout != null) {
            mv.addObject("logout", "You have logged out successfully!");
        }
        return mv;
    }

    @RequestMapping(value = "/logout")
    public String logout(HttpServletRequest request, HttpServletResponse response) {
        // Invalidates HTTP Session, then unbinds any objects bound to it.
        // Removes the authentication from securitycontext
        Authentication auth = SecurityContextHolder.getContext().getAuthentication();
        if (auth != null) {
            new SecurityContextLogoutHandler().logout(request, response, auth);
        }

        return "redirect:/login?logout";
    }

    @RequestMapping(value = "/access-denied")
    public ModelAndView accessDenied() {
        ModelAndView mv = new ModelAndView("error");
        mv.addObject("errorTitle", "Aha! Caught You.");
        mv.addObject("errorDescription", "You are not authorized to view this page!");
        mv.addObject("title", "403 Access Denied");
        return mv;
    }

    @RequestMapping(value = "/view/category/{id}/products")
    public ModelAndView viewProducts(@PathVariable("id") int id) {
        ModelAndView mv = new ModelAndView("page");
        // categoryDAO to fetch a single category
        Category category = null;

        category = categoryDAO.get(id);

        mv.addObject("title", category.getName());

        // passing the list of categories
        mv.addObject("viewproducts", productDAO.listActiveProductsByCategory(id));

        mv.addObject("userClickViewProducts", true);
        return mv;
    }

    
    @RequestMapping(value = "/search")
    public ModelAndView Search(@RequestParam(value = "searchTerm", required = false) String pSearchTerm,
            HttpServletRequest request, HttpServletResponse response) {
        ModelAndView mv = new ModelAndView("search");

        mv.addObject("searchTerm", pSearchTerm);
        mv.addObject("searchResult", productDAO.searchProductsByParam(pSearchTerm));

        mv.addObject("userClickSearch", true);

        return mv;
    }

}
package net.kzn.onlineshopping;

 
@SpringBootApplication
@EnableWebSecurity 
@ComponentScan(basePackages = {"net.kzn.onlineshopping.*","net.kzn.shoppingbackend.*"})
@ImportResource({"classpath:spring-security.xml","classpath:/**/dispatcher-servlet.xml"})
public class OnlineshoppingApplication {

    public static void main(String[] args) {
        SpringApplication.run(OnlineshoppingApplication.class, args);
    }
    
    
}
dispatcher servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:wf="http://www.springframework.org/schema/webflow-config"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context.xsd
   http://www.springframework.org/schema/mvc
   http://www.springframework.org/schema/mvc/spring-mvc.xsd
   http://www.springframework.org/schema/webflow-config
   http://www.springframework.org/schema/webflow-config/spring-webflow-config.xsd">

    <context:component-scan
        base-package="net.kzn.onlineshopping" />

    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">

        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    </bean>

    <!-- id must be multipartResolver -->
    <bean id="multipartResolver"
        class="org.springframework.web.multipart.support.StandardServletMultipartResolver" />

    <!-- Loading static resources -->
    <mvc:annotation-driven />
    <mvc:resources location="/assets/"
        mapping="/resources/**" />

    <!-- WEBFLOW CONFIGURATION -->
    <!-- Entry point for the flow -->

    <wf:flow-executor id="flowExecutor"
        flow-registry="flowRegistry" />

    <wf:flow-registry id="flowRegistry"
        base-path="/WEB-INF/views/flows"
        flow-builder-services="flowBuilderServices">
        <wf:flow-location-pattern
            value="/**/*-flow.xml" />
    </wf:flow-registry>

    <wf:flow-builder-services
        id="flowBuilderServices" view-factory-creator="viewFactoryCreator"
        validator="validator" />

    <bean
        class="org.springframework.webflow.mvc.servlet.FlowHandlerAdapter">
        <property name="flowExecutor" ref="flowExecutor" />
    </bean>

    <bean
        class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
        <property name="flowRegistry" ref="flowRegistry" />
        <property name="order" value="-1" />
    </bean>

    <bean id="viewFactoryCreator"
        class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
        <property name="viewResolvers" ref="viewResolver" />
    </bean>

    <!-- validator bean -->

    <bean id="validator"
        class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
</beans>
            <?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
            <modelVersion>4.0.0</modelVersion>

            <groupId>net.kzn</groupId>
            <artifactId>shoppingbackend</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <packaging>jar</packaging>

            <name>shoppingbackend</name>
            <description>Demo project for Spring Boot</description>

            <parent>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>1.5.17.RELEASE</version>
                <relativePath /> <!-- lookup parent from repository -->
            </parent>

            <properties>
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
                <java.version>1.8</java.version>
            </properties>

            <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-elasticsearch</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-data-jpa</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-web</artifactId>
                </dependency>

                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-test</artifactId>
                    <scope>test</scope>
                </dependency>

                <dependency>
                    <groupId>org.springframework.data</groupId>
                    <artifactId>spring-data-rest-hal-browser</artifactId>
                </dependency>

                <!-- https://mvnrepository.com/artifact/org.springframework.webflow/spring-webflow -->
                <dependency>
                    <groupId>org.springframework.webflow</groupId>
                    <artifactId>spring-webflow</artifactId>
                    <version>2.5.1.RELEASE</version>
                </dependency>
                <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna</artifactId>
                <version>4.2.2</version>
                </dependency>


                <!-- Hibernate Dependency -->
                <dependency>
                    <groupId>org.hibernate</groupId>
                    <artifactId>hibernate-core</artifactId>
                    <version>5.2.7.Final</version>
                </dependency>
                
                <!-- database connection pooling -->
                <dependency>
                    <groupId>org.apache.commons</groupId>
                    <artifactId>commons-dbcp2</artifactId>
                    <version>2.1.1</version>
                    <exclusions>
                        <exclusion>
                            <groupId>commons-logging</groupId>
                            <artifactId>commons-logging</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>

                <dependency>
                    <groupId>com.h2database</groupId>
                    <artifactId>h2</artifactId>
                    <scope>runtime</scope>
                </dependency>
            </dependencies>

            <build>
                <plugins>
                    <plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                    </plugin>
                </plugins>

              <resources>
                <resource>
                  <directory>src/main/webapp</directory>
                </resource>
              </resources>
            </build>


        </project>

pom.xml

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:wf="http://www.springframework.org/schema/webflow-config"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context.xsd
   http://www.springframework.org/schema/mvc
   http://www.springframework.org/schema/mvc/spring-mvc.xsd
   http://www.springframework.org/schema/webflow-config
   http://www.springframework.org/schema/webflow-config/spring-webflow-config.xsd">

    <context:component-scan
        base-package="net.kzn.onlineshopping" />

    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">

        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    </bean>

    <!-- id must be multipartResolver -->
    <bean id="multipartResolver"
        class="org.springframework.web.multipart.support.StandardServletMultipartResolver" />

    <!-- Loading static resources -->
    <mvc:annotation-driven />
    <mvc:resources location="/assets/"
        mapping="/resources/**" />

    <!-- WEBFLOW CONFIGURATION -->
    <!-- Entry point for the flow -->

    <wf:flow-executor id="flowExecutor"
        flow-registry="flowRegistry" />

    <wf:flow-registry id="flowRegistry"
        base-path="/WEB-INF/views/flows"
        flow-builder-services="flowBuilderServices">
        <wf:flow-location-pattern
            value="/**/*-flow.xml" />
    </wf:flow-registry>

    <wf:flow-builder-services
        id="flowBuilderServices" view-factory-creator="viewFactoryCreator"
        validator="validator" />

    <bean
        class="org.springframework.webflow.mvc.servlet.FlowHandlerAdapter">
        <property name="flowExecutor" ref="flowExecutor" />
    </bean>

    <bean
        class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
        <property name="flowRegistry" ref="flowRegistry" />
        <property name="order" value="-1" />
    </bean>

    <bean id="viewFactoryCreator"
        class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
        <property name="viewResolvers" ref="viewResolver" />
    </bean>

    <!-- validator bean -->

    <bean id="validator"
        class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
</beans>
            <?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
            <modelVersion>4.0.0</modelVersion>

            <groupId>net.kzn</groupId>
            <artifactId>shoppingbackend</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <packaging>jar</packaging>

            <name>shoppingbackend</name>
            <description>Demo project for Spring Boot</description>

            <parent>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>1.5.17.RELEASE</version>
                <relativePath /> <!-- lookup parent from repository -->
            </parent>

            <properties>
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
                <java.version>1.8</java.version>
            </properties>

            <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-elasticsearch</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-data-jpa</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-web</artifactId>
                </dependency>

                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-test</artifactId>
                    <scope>test</scope>
                </dependency>

                <dependency>
                    <groupId>org.springframework.data</groupId>
                    <artifactId>spring-data-rest-hal-browser</artifactId>
                </dependency>

                <!-- https://mvnrepository.com/artifact/org.springframework.webflow/spring-webflow -->
                <dependency>
                    <groupId>org.springframework.webflow</groupId>
                    <artifactId>spring-webflow</artifactId>
                    <version>2.5.1.RELEASE</version>
                </dependency>
                <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna</artifactId>
                <version>4.2.2</version>
                </dependency>


                <!-- Hibernate Dependency -->
                <dependency>
                    <groupId>org.hibernate</groupId>
                    <artifactId>hibernate-core</artifactId>
                    <version>5.2.7.Final</version>
                </dependency>
                
                <!-- database connection pooling -->
                <dependency>
                    <groupId>org.apache.commons</groupId>
                    <artifactId>commons-dbcp2</artifactId>
                    <version>2.1.1</version>
                    <exclusions>
                        <exclusion>
                            <groupId>commons-logging</groupId>
                            <artifactId>commons-logging</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>

                <dependency>
                    <groupId>com.h2database</groupId>
                    <artifactId>h2</artifactId>
                    <scope>runtime</scope>
                </dependency>
            </dependencies>

            <build>
                <plugins>
                    <plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                    </plugin>
                </plugins>

              <resources>
                <resource>
                  <directory>src/main/webapp</directory>
                </resource>
              </resources>
            </build>


        </project>

4.0.0
net.kzn

在浏览器中显示错误

请告诉我如何解决这个问题。我做错了什么?答案是:

如果您的应用程序不可用,请不要使用src/main/webapp目录 包装成罐子。虽然此目录是一个通用标准,但它 只适用于战争包装,它被大多数人默默地忽略了 如果您生成一个jar,那么就构建工具

而且:

默认情况下,SpringBoot从一个名为 /中的静态(或/public或/resources或/META-INF/resources) 类路径或从ServletContext的根

选项包括:

  • 将src/main/webapp文件夹的内容移动到适当的位置
  • 将src/main/webapp添加到pom.xml中的资源中
  • 使用战争包装

  • 最后,检查您的配置文件中是否仍有正确的路径。

    是否有任何控制器正在侦听
    /
    ?是的,映射已完成,但我已将其从控制台中删除,因为它太大,无法发布。请发布该控制器以更好地了解
    应用程序中包含的错误。属性
    servlet.contextPath
    ?我在OnlineshoppingApplication.javai中导入了这些文件,我在pom.xml中添加了src/main/webapp,但它没有work@vidy你能实现你的pom.xml吗?@vidy在你的pom.xml中你现在有两个构建,只保留一个构建部分。并将src/main/resources添加到src/main/webapp之外的资源中抱歉,这是复制粘贴错误。只有一个版本。我在pom.xml中添加了src/main/resources。现在src/main/webapp包显示在src/main/resources下面。@它对您有帮助吗?