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

Spring boot JSP 404:未找到页面

章盛
2023-03-14

我正在尝试运行一个简单的Spring Boot应用程序。但是,当我运行它时,会出现以下错误:

“此应用程序的白标签错误页没有/Error的显式映射,因此您将其视为回退。”

2019年11月12日星期二09:31:36出现意外错误(类型=未找到,状态=404)/WEB-INF/view/index。jsp

这是我的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.2.1.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.example</groupId>
        <artifactId>jspDemo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>jspDemo</name>
        <description>Demo project for Spring Boot</description>

        <properties>
            <java.version>1.8</java.version>
        </properties>

        <dependencies>
            <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>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>


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

            </dependency>
            <!-- JSTL -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
            </dependency>
            <!-- To compile JSP files -->
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-jasper</artifactId>

            </dependency>


        </dependencies>

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

    </project>

IndexController。Java语言


    package com.pack.springMVC;

    import java.util.Map;

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;

    @Controller
    public class IndexController {

        @RequestMapping("/")
        public String home(Map<String, Object> model) {
            model.put("message", "HowToDoInJava Reader !!");
            return "index";
        }

        @RequestMapping("/next")
        public String next(Map<String, Object> model) {
            model.put("message", "You are in new page !!");
            return "next";
        }

    }

MVC配置。Java语言


    package com.pack.springMVC;



    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.EnableWebMvc;
    import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
    import org.springframework.web.servlet.view.InternalResourceViewResolver;
    import org.springframework.web.servlet.view.JstlView;


    @Configuration
    @EnableWebMvc
    @ComponentScan
    public class MvcConfiguration implements WebMvcConfigurer
    {
        @Override
        public void configureViewResolvers(ViewResolverRegistry registry) {
            InternalResourceViewResolver resolver = new InternalResourceViewResolver();
            resolver.setPrefix("/WEB-INF/view/");
            resolver.setSuffix(".jsp");
            resolver.setViewClass(JstlView.class);
            registry.viewResolver(resolver);
        }
    }

JspDemoApplication。Java语言



    package com.pack.springMVC;

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

    @SpringBootApplication
    public class JspDemoApplication extends SpringBootServletInitializer  {

        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(JspDemoApplication.class);
        }


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

    }

指数jsp



    <!DOCTYPE html>
    <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
    <html lang="en">
    <body>
        <div>
            <div>
                <h1>Spring Boot JSP Example</h1>
                <h2>Hello ${message}</h2>

                Click on this <strong><a href="next">link</a></strong> to visit another page.
            </div>
        </div>
    </body>
    </html>

下一个jsp




    <!DOCTYPE html>
    <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
    <html lang="en">
    <body>
        <div>
            <div>
                <h1>Another page</h1>
                <h2>Hello ${message}</h2>

                Click on this <strong><a href="/">link</a></strong> to visit previous page.
            </div>
        </div>
    </body>
    </html>


application.properties

spring.mvc.view.prefix//WEB-INF/视图/spring.mvc.view.suffix=. jsp

共有1个答案

祝灼光
2023-03-14

试试这个

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;

@Configuration
@EnableWebMvc
@ComponentScan
public class MvcConfiguration extends WebMvcConfigurerAdapter
{
    @Override
    public void configureViewResolvers(ViewResolverRegistry registry) {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/view/");
        resolver.setSuffix(".jsp");
        resolver.setViewClass(JstlView.class);
        registry.viewResolver(resolver);
    }
}
 类似资料:
  • 我试图在我的Spring Boot服务中添加一个jsp页面。我的问题是,每次我试图去那个页面,我都有这个: 白标签错误页 此应用程序没有/error的显式映射,因此您将其视为回退。 Tue Apr21 23:16:00EEST 2015有一个意外的错误(类型=未找到,状态=404)。没有可用的消息 我已将前缀和sufix添加到我的应用程序中。特性: 这是我的控制器类: 我的申请类别: index.

  • 我们收到很多404页面未找到的错误,我们找不到相同模式的原因。我们没有对此404页面进行任何重定向,或者我们没有在任何地方为这个损坏的页面链接提供链接。 这种错误的共同点部分以相同的模式进行处理;删除网址的第一段。示例; 这是真正的URL; site.com/category/news/title-of-the-content 网站.com/another-category/news/anothe

  • 我有一个没有集成api的NextJS应用程序,我想部署到Vercel。当我在本地运行它时,它工作得很好。,而且我也可以在没有任何错误的情况下构建它。。然而,当我在Vercel部署它时,我收到一个。 以下是我的文件夹结构: 我正在使用NextJs 10.0.3。 以下是已部署应用的链接。 我没有nextjs配置文件。我的假设是,错误是由动态路径引起的,但我找不到我的错误。此外,部署应用程序时没有页面

  • 在Tomcat服务器中部署代码后,我在浏览器中查看所有页面时都收到一条找不到的错误消息。 例如:- 未找到 /BOOKS/web/Index.html。 我在网络文件夹下有Index.html的文件。这是一个Spring-MVC框架应用程序。 下面是错误日志详细信息。 错误日志 请帮帮忙。

  • 我在弹出窗口有联系表,但当我点击发送按钮时,我没有找到页面,而不是将我重定向到主页。 这是我的路线 HomeC中的功能ontroller.php 表单打开和关闭标签是 当我点击提交我有 为什么要在应该重新加载主页时尝试加载此URL? 用表格更新 更新2:发送邮件功能

  • 由于客户端问题,我必须把laravel 4应用程序共享托管服务。但我在[laravelio]遵循了这个过程,其中包括。 这应该是可行的,但是当我访问url时,我得到了这样的结果:在这个服务器上找不到请求的url/登录名。请问有什么问题,因为我不明白。可能是关于配置的。htacces文件。 任何帮助都将得到赞赏。感谢网站是在:benin1897.com 我刚刚发现public_html中没有. ht