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

在spring Boot应用程序中,浏览器不加载JSP文件,但文件名在浏览器中显示为字符串

席俊驰
2023-03-14

jsp或任何.jsp文件(也包括.html文件),当我使用string type方法作为index方法时,我无法在浏览器中显示文件名,而是在浏览器中显示为字符串。但是,如果我使用ModelAndView类,那么它可以正常工作。如何使用字符串类型方法显示页面?我已经看了很多例子,并访问了很多站点,包括StackOverflow.com。Bell所有相关文件:

>

  • 控制器类

    @SpringBootApplication
    public class DemoApplication {
    
    public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);}
    
    @RestController
    public class AppController extends SpringBootServletInitializer {
    
    /*following method don't works*/
    @RequestMapping("/home")
    public String index(){
    return "index";
    }
    /*following method works fine*/
    /*   @RequestMapping("/home")
    public ModelAndView modelAndView(){
    return new ModelAndView("index");
    }*/
    }
    

    pom.xml

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    <!-- JSTL for JSP -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
    
    <!-- Need this to compile JSP -->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    
    spring.mvc.view.prefix=/WEB-INF/jsp/
    spring.mvc.view.suffix=.jsp
    

    输出:

  • 共有1个答案

    钦耀
    2023-03-14

    这是因为@RestController将响应发送到浏览器主体,所以要返回JSP页面,请使用@Controller注释。

    @restcontroller更改为@controller

    • @controller用于将类标记为Spring MVC控制器。
    • @restcontroller是一个方便的注释,它除了添加@controller@responsebody注释(请参阅:[Javadoc][1])
    • 外,没有别的功能

    请参阅两者之间的区别。spring@Controller和@RestController注释的区别

     类似资料:
    • 问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能重复: 如何使用servlet在jsp中显示pdf文件 我从数据库中检索pdf文件,并将其放入这样的文件中 现在这是在服务器端。在我的客户端中,每当用户单击jsp页面中的说 href = pdf(pdf是我的servlet名称) 的链接时 ,我都应该在客户端的浏览器上显示从数据库检索到的文件。 我该怎么办? 问题答案: 将响应的内容类型

    • 问题内容: 在我的servlet中,我使用下面的代码在浏览器中打开PDF文件,但是,它显示了一个下载对话框。 我做错了什么? 问题答案: 你可以尝试用

    • 我有一个从数据库中检索图像路径的程序。程序正在eclipse浏览器中成功检索图像,但未在任何web浏览器中检索。我有3页,第一页。登录名。jsp 2。指数jsp 3。LoginServlet。Java语言

    • 问题内容: 当我对CSS文件进行任何更改时,这些更改不会反映在浏览器中。我怎样才能解决这个问题? 问题答案: 对于 周 ?尝试打开样式表本身(通过在浏览器的地址栏中输入其地址),然后按。如果仍然无法刷新,则问题出在其他地方。 如果更新样式表并希望确保它在每个访问者的缓存中都得到刷新,那么一种非常流行的方法是将版本号添加为GET参数。这样,样式表会在必要时进行刷新,但刷新的频率不会超过此频率。

    • 我正面临一个奇怪的问题。我已经把所有东西都放在php.ini文件里了。但是我不能在浏览器中显示任何错误。我google设置了. ini文件,并做了所有需要的事情。但是我仍然不能在浏览器中显示错误信息。我的PHP ini设置, 我尝试使用以下代码查看错误消息, 实际上文件示例不可用。所以它必须显示致命错误。但它显示的是空白页。 你能告诉我怎么解决这个问题吗?我不知道我错过了什么。