【JavaEE】_第一个SpringBoot项目

目录

1. 第一个SpringBoot项目

1.1 创建项目

1.2 加载依赖

1.3 运行启动类

1.4 创建一个简单类试运行

2. 关于SpringBoot项目的目录结构

3. 关于修改文件名

4. 关于启动日志

5. 关于访问出错

5.1 404 

5.1.2 URL输入错误

5.1.2 注解错误

5.2 500

5.3 无法访问此网站


1. 第一个SpringBoot项目

1.1 创建项目

第一步:

完成后点击Next进入下一页;

注:如果Java选项中只有17和21,可以将上述页面第一行的

Server URL的 https://start.spring.io/ 修改为https://start.aliyun.com/,使用阿里云国服创建Spring项目;

第二步:

选择完毕后点击Create;

1.2 加载依赖

项目创建成功后,初始页面如下:

如果等待时间过长,可以在右侧Maven面板处进行刷新:

1.3 运行启动类

1.4 创建一个简单类试运行

在com.example.demo2包下创建如下包与类:

.java类内容如下:

package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@RequestMapping("/sayHi")public String sayHi(){return "Hi, SpringBoot";}@RequestMapping("/sayHello")public String sayHello(){return "Hello ,SpringBoot";}
}

再次运行启动类:

打开浏览器进行验证:

项目运行成功;

2. 关于SpringBoot项目的目录结构

3. 关于修改文件名

1. 查看功能快捷键:

2. 快捷键修改文件名(请勿在Explorer中修改)

注:在Explorer

通过idea提供的方式修改文件名的优点:

idea会帮我们查找相关的代码(在其他文件中使用过)并进行提醒(是否要一起修改),如果确认修改,idea会帮我们把相关联的文件名的相关代码全部进行修改。

4. 关于启动日志

1. 在前文创建并运行的第一个SpringBoot项目中,我们没有手动配置Tomcat以及打包、部署等一系列操作,但在启动日志中含有Tomcat的相关记录;

Spring内置了Tomcat服务器,无需配置可直接运行

2. 在servlet项目中,访问webapp的URL有两级路径:127.0.0.1:8080/context path/servlet path

详细内容可见本专栏Servlet程序编写一文:

【JavaEE】_Servlet程序的编写方法-CSDN博客

在Spring项目中,我们访问的路径只有一级路径,不存在context path部分

5. 关于访问出错

5.1 404 

5.1.2 URL输入错误

仍以上文代码为例,错将sayHi路径写为ssayHi,返回页面为404:

5.1.2 注解错误

错将注解RestController写为Controller,服务器可以正常启动:

输入对应URL,返回页面也为404:

5.2 500

500 状态码表示服务器内部错误,一般是服务器的代码执行过程中遇到了一些特殊情况导致服务器异常崩溃:

现将.java文件修改为(sayHi函数内部出现错误):

运行启动类后,日志中也会显示相应的错误:

输入对应URL,返回的页面是500:

5.3 无法访问此网站

Tomcat启动失败时,会出现无法访问此网站的页面:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/711162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JDK动态代理如何获取动态生成的代理类的class文件

在使用JDK动态代理,即reflect包下的Proxy类的newProxyInstance方法时,会在运行时,根据传进来的接口类型动态生成class字节码文件。这个字节码文件是在内存中动态获取的,程序结束就没有了,如何动态获取呢。 System.set…

LeetCode 2265.统计值等于子树平均值的节点数

给你一棵二叉树的根节点 root ,找出并返回满足要求的节点数,要求节点的值等于其 子树 中值的 平均值 。 注意: n 个元素的平均值可以由 n 个元素 求和 然后再除以 n ,并 向下舍入 到最近的整数。 root 的 子树 由 root 和它的所…

海外代理IP干货:应该选择SOCKS55代理还是Http代理?

在使用IPFoxy全球代理时,选择 SOCKS55代理还是HTTP代理?IPFoxy代理可以SOCKS55、Http协议自主切换,但要怎么选择?为解决这个问题,得充分了解两种代理的工作原理和配置情况。 在这篇文章中,我们会简要介绍 …

Android PDFView 提示401 pom

背景 在开发安卓app,使用PDF组件来解析URL地址 ,从github找到一个开源组件 AndroidPdfViewer 遇到一个大坑,一直提示下载依赖401 pom 打开控制台链接弹出需要登录jitpack 原因分析: 这个组件项目依赖库链接到了需要鉴权的…

能力认证!时代新威荣获《数据安全服务能力评定资格证书》

2024年1月17日,时代新威受邀出席中国计算机行业协会数据安全专业委员会(以下简称“数专委”)年度工作总结会。此次会议旨在聚集行业企业,搭建数据安全产业企业交流平台,共建产业发展“朋友圈”。 会上,数专…

初阶数据结构:链表相关题目练习(补充)

目录 1. 单链表相关练习题1.1 移除链表元素1.2 反转链表1.3 链表的中间结点1.4 链表的倒数第k个结点1.5 合并两个有序链表1.6 链表分割1.7 链表的回文结构1.8 相交链表1.9 判断一个链表中是否有环1.10 寻找环状链表相遇点1.11 链表的深度拷贝 1. 单链表相关练习题 注&#xff1…

IEEE Transactions on Industrial Electronics工业电子TIE修改稿注意事项及提交须知

一、背景 兔年末投了一篇TIE,手稿初次提交的注意事项也整理成了博客IEEE Transactions on Industrial Electronics工业电子TIE论文投稿须知,获得了许多点赞和收藏。最近也收到了审稿结果,给的意见是大修major revision,总之只要不…

基于springboot+vue的线上辅导班系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

吸猫毛空气净化器哪个好?推荐除猫毛好的宠物空气净化器品牌

如今,越来越多的家庭选择养宠物!虽然家里变得更加温馨,但养宠可能会带来异味和空气中的毛发增多可能会引发健康问题,这也是一个大问题。 但我不想家里到处都是异味,尤其是便便的味道,所以很需要一款能够处…

QML中表格中数据获取

1.在生成的动态表格中获取某格数据的内容 import QtQuick 2.15 import QtQuick.Window 2.15import QtQuick.Controls 2.0 import Qt.labs.qmlmodels 1.0 import QtQuick.Layouts 1.15Window {width: 640height: 480visible: truetitle: qsTr("Hello World")TableMod…

数据分析-Pandas数据如何图示规律

数据分析-Pandas数据如何图示规律 数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律? 数据表&…

VS2015报错:error MSB8020和MSB8036的解决方案

VS2015编译报错:error MSB8020 提示信息:error MSB8020: The build tools for v141 (Platform Toolset ‘v141’) cannot be found. To build using the v141 build tools, please install v141 build tools. Alternatively, you may upgrade to the c…

小程序框架接口-getApp

框架接口-getApp getApp() 用于获取小程序全局唯一的 App 实例,通过小程序应用实例可实现数据或方法的共享 📌 注意事项: 1.不要在 App() 方法中使用 getApp() ,使用 this 就可以拿到 app 实例通过 getApp() 获取实例之后&#x…

Android13 Audio框架

一、Android 13音频代码结构 1、framework: android/frameworks/base 1.AudioManager.java :音频管理器,音量调节、音量UI、设置和获取参数等控制流的对外API 2.AudioService.java :音频系统服务(java层)&#xff0c…

多模态论文阅读-LLaVA

Visual Instruction Tuning Abstract1. Introduction2. Related Work3. GPT-assisted Visual Instruction Data Generation4. Visual Instruction Tuning4.1 Architecture4.2 Training 5 Experiments5.1 Multimodal Chatchot5.2 ScienceQA 6 Conclusion Abstract 使用机器生成…

JS中判断是否存在逗号,如果存在给去掉

.includes() 方法判断是否存在 split("需要去掉的字符串").join(" ") 去重的方法 去重复 划分后拼接

网络——DHCP服务器、DNS服务器实验

网络——DHCP服务器、DNS服务器实验 一、DHCP服务器实验 DHCP——动态主机配置协议,用来管理ip地址的分配。网络中的每台计算机都有至少一个ip地址。在Windows网络连接对话框中可以设置成自动获取ip地址,这样主机作为DHCP client就可以自动从DHCP server获取ip地址了。 DHC…

live555学习 - 环境准备

环境:Ubuntu 16.04.7 ffmpeg-6.1 1 代码下载 最新版本: http://www.live555.com/liveMedia/public/ 历史版本下载 https://download.videolan.org/pub/contrib/live555/ 选择版本live.2023.01.19.tar.gz ps:没有选择新版本是新版本在…

阿里开源的Java诊断利器Arthas

一.什么是Arthas 1.为什么需要Arthas 通常,本地开发环境无法访问生产环境。如果在生产环境中遇到问题,则无法使用 IDE 远程调试。更糟糕的是,在生产环境中调试是不可接受的,因为它会暂停所有线程,导致服务暂停。 开…