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

使用Tomcat的spring MVC不会打开Hello World html页面

尹赞
2023-03-14

我试图打开一个简单的html页面,在localhost:8080/Hello上写Hello world,但它在一个spring MVC应用程序中。我使用自带Tomcat的spring boot。

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <display-name>Angular Rest Spring</display-name>

    <servlet>
        <servlet-name>angular</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>angular</servlet-name>
        <url-pattern>*</url-pattern>
    </servlet-mapping>
</web-app>

我试着把页面放在里面:

app/src/main/resources
app/src/main/resources/templates
web
web/WEB-INF

它找不到。上面写着:

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Wed Sep 07 15:52:20 EEST 2016
There was an unexpected error (type=Not Found, status=404).
No message available

有什么想法吗?

共有2个答案

黄流觞
2023-03-14

就我而言,spring boot应用程序(使用maven)中的web页面包括:

SRC/Main/Resources/Meta-Inf/Resources/

这个文件夹基本上等同于标准maven web应用程序中的src/main/webapp。

柳向明
2023-03-14

如果您使用的是spring boot,那么就不需要编写web.xml。spring自动映射所有@Controller注释的类,并从中读取@RequestMapping注释。

编写应用程序类:

package com.sample.web;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication(scanBasePackages = "com.sample.web")
public class Application {

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

}

像这样编写一个控制器类:

package com.sample.web;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class HelloController {

    @RequestMapping("/hello")
    public String hello(Model model) {
        return "hello";
    }

}

并在src/main/resources/templates中编写模板html文件

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Getting Started: Serving Web Content</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello
</body>
</html>

我使用intellij,可以在其中运行application类,然后使hello页面在http://localhost:8080/hello上可用

 类似资料:
  • 如何在localhost:8080而不是tomcat主页中打开web应用程序?例如,我希望在mysite.com:8080/mywebapp中打开mysite.com:8080,而不使用任何反向代理

  • 我正在使用下面的代码向设备发送推送通知。 推送通知已成功发送到设备上。 但是当我点击通知时,特定的页面应该是打开的。 例如 如果我点击通知,我想打开产品或关于页面,那么我必须做什么? 这里怎么了?请告诉我正确的解决方法。

  • 今天早些时候,我访问了我最近推出的一个网站,页面上充斥着一个丑陋的jasperex0019:java.io.filenotfoundexception: /opt/tomcat/webapps/root/web-inf/lib/jstl-1.2.jar(打开的文件太多)。我检查了我的服务器日志和tomcat日志,它们充满了相同的错误。我增加了tomcat的最大打开文件限制,作为保持网站运行的临时解

  • 我对使用servlet和JSP相当陌生,我正在尝试获取一个列出所有用户的JSP页面,根据用户id重定向到编辑表单JSP,列出所有用户的JSP页面使用迭代器显示我的JDBC表中的数据,但我似乎不知道如何分别为每个用户的编辑链接分配一个值,以便它可以用该用户的数据加载编辑表单,谢谢你的帮助。 这里我当前的jsp页面代码列出所有学生 然后,id值应该分配给servlet中的一个值,该值用于在调用编辑时从

  • 所以我试图让我的按钮在我的导航抽屉碎片中打开新的活动,但是我的mainactivity中有什么东西坏了。java 我的mainactivity.java.... 我的奖励碎片... } 问题是它在下有一个红色下划线,我不知道如何修复它 我试过了所有的办法,这就是我目前所拥有的… } 我的setContentView是鲜红的,我的findViewByID是红色的,最后是(rewardsFragmen

  • 本文向大家介绍Java +Tomcat + SpringMVC实现页面访问示例解析,包括了Java +Tomcat + SpringMVC实现页面访问示例解析的使用技巧和注意事项,需要的朋友参考一下 window7下Java环境安装记录:  一、安装Tomcat 1、下载tomcat 7.0,解压,无需安装,放置到目录:D:\apache-tomcat-7.0.90。 2、配置系统环境变量,CAT