【Spring Boot教程:从入门到精通】掌握Spring Boot开发技巧与窍门(三)-配置git环境和项目创建

news2024/9/17 8:52:11

主要介绍了如何创建一个Springboot项目以及运行Springboot项目访问内部的html页面!!!

文章目录

前言

配置git环境

创建项目

​编辑

在SpringBoot中解决跨域问题

配置Vue

安装Nodejs

 安装@vue/cli

启动vue自带的图形化项目管理界面

总结


前言

主要介绍了如何创建一个Springboot项目以及运行Springboot项目访问内部的html页面!!!


提示:以下是本篇文章正文内容,下面案例可供参考

配置git环境

1.安装Git Bash

git安装教程

2.进入家目录生成秘钥:执行命令ssh-keygen

3.将.ssh/中的id_rsa.pub的内容复制到gitee上

一些基本命令,在gitee上创建项目后出现!!!

创建项目

创建项目后端
https://start.spring.io/加载慢的话,可以换成:https://start.aliyun.com

(注:最新版的idea抛弃了jdk8,URL换成上面的阿里云的idea的java选项就有jdk8)

 此时项目就创建完毕了。

项目的启动类

当我们访问初始页面只需要在浏览器中输入

http://localhost:8080/

我们可以采取一下方法来访问一个html页面。

 我们在controller包下面创建一个控制器类。

package org.example.backend.controller.pk;

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

@Controller
@RequestMapping("/pk")
public class IndexController {
    @RequestMapping(value = "/index")
    public String index(){
        return "pk/index";
    }
}

@Controller

  • 用于标识控制器类,负责处理用户请求并返回视图。
  • 方法通常使用 @GetMapping@PostMapping 等注解来映射HTTP请求到具体的处理方法。
  • 方法返回一个字符串,代表视图名,Spring Boot会自动查找匹配的模板文件并渲染。

注:注解一定要用@Controller,如果用@RestController那么方法返回的是json字符串,不会解析视图!!页面报404说明路径错误!!

application.properties文件中一定要配置这两个值,自动给函数的返回值加上项目的上下文路径,一个是对所有的页面加上后缀名.html。
spring.thymeleaf.prefix=classpath:/templates/

spring.thymeleaf.suffix=.html

 当我们要在项目中添加图片,往往是在图片放在static文件夹下面

<html>
<body>
<div style="text-align: center">
    <img src="/images/img.png">
</div>
</body>
</html>

 

当我们想直接返回页面信息的时候我们需要采用@RestController注解 

  • 用于标识控制器类,负责处理用户请求并直接返回数据对象。
  • 方法通常使用 @GetMapping@PostMapping 等注解来映射HTTP请求到具体的处理方法。
  • 方法返回一个数据对象,Spring Boot会将该对象序列化为JSON或XML并返回给客户端。
package org.example.backend.controller.pk;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/pk")
public class BotInfoController {
    @RequestMapping("/getbotinfo")
    public String getBotInfo(){
        return "hahahahah";
    }
}

 

方法也可以返回列表。

    @RequestMapping("/getbotinfo")
    public List<String> getBotInfo(){
        ArrayList<String> list = new ArrayList<>();
        list.add("Bot");
        list.add("tiger");
        list.add("cat");
        return list;
    }

 

当然也可以返回map集合、对象等等!!!

如何想修改项目的端口号,可以在application.properties中修改server.port

server.port=3000

 此时项目的端口号就修改为了3000

在SpringBoot中解决跨域问题

添加配置类:CorsConfig

package com.kob.backend.config;

import org.springframework.context.annotation.Configuration;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@Configuration
public class CorsConfig implements Filter {
    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        HttpServletRequest request = (HttpServletRequest) req;

        String origin = request.getHeader("Origin");
        if(origin!=null) {
            response.setHeader("Access-Control-Allow-Origin", origin);
        }

        String headers = request.getHeader("Access-Control-Request-Headers");
        if(headers!=null) {
            response.setHeader("Access-Control-Allow-Headers", headers);
            response.setHeader("Access-Control-Expose-Headers", headers);
        }

        response.setHeader("Access-Control-Allow-Methods", "*");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Credentials", "true");

        chain.doFilter(request, response);
    }

    @Override
    public void init(FilterConfig filterConfig) {

    }

    @Override
    public void destroy() {
    }
}

配置Vue

安装Nodejs

安装地址

(注:下载LTS版本,长期支持版) 

 安装@vue/cli

打开Git Bash,执行:

npm i -g @vue/cli

如果执行后面的操作有bug,可能是最新版有问题,可以尝试安装早期版本,比如:npm i -g @vue/cli@4

启动vue自带的图形化项目管理界面

vue ui

常见问题1:Windows上运行vue,提示无法加载文件,表示用户权限不足。
解决方案:用管理员身份打开终端,输入set-ExecutionPolicy RemoteSigned,然后输入y

 之后就可以在图形化工具里面创建vue项目。


总结

主要介绍了如何创建一个Springboot项目以及运行Springboot项目访问内部的html页面!!!

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

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

相关文章

Qt基础 | TCP通信 | TCP服务端与客户端程序设计 | QTcpServer | QTcpSocket

文章目录 一、TCP 通信1.TCP 通信概述2.TCP 服务器端程序设计2.1 主窗口定义与构造函数2.2 网络监听与 socket 连接的建立2.3 与 TCP 客户端进行数据通信 3.TCP 客户端程序设计3.1 主窗口定义与构造函数3.2 与服务器端建立 socket 连接3.3 与 TCPServer 的数据收发 4.小结 Qt 网…

[Docker][Docker Image]详细讲解

目录 1.Docker镜像是什么&#xff1f;2.Docker镜像加载原理1.bootfs2.rootfs3.为什么CentOS镜像几个G&#xff0c;而Docker CentOS镜像才几百M&#xff1f;1.CentOS2.Docker CentOS 3.镜像分层1.Union FS2.分层理解3.容器层 vs 镜像层 4.镜像命令1.docker images2.docker image…

大数据信用报告查询会不会留下查询记录?怎么选择查询平台?

最近有不少网友都在咨询一个问题&#xff0c;那就是大数据信用报告查询会不会留下查询记录&#xff0c;会不会对自己的征信产生影响&#xff0c;下面本文就详细为大家介绍一下&#xff0c;希望对你了解大数据信用有帮助。 首先、大数据信用与人行征信是独立的 很多人只知道人行…

innovus:如何only select highlighted

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 来自星球提问&#xff1b; 1&#xff09;ICC2 2&#xff09;innovus View->Set Preference&#xff0c;勾选Only Select Highlighted

新装centos7虚拟机如何配置网络,NAT配置固定IP

首先声明&#xff0c;我想使用的是NAT连接模式&#xff0c;并且设置完IP之后&#xff0c;使得这个IP固定住&#xff0c;以后不会再变了。 文章目录 1&#xff0c;打开Vmware软件的【编辑】-【虚拟网络编辑器】2&#xff0c;先选择VMnet8&#xff08;画1处&#xff09;&#xf…

2025上海国际显示技术及应用创展览会

DIC EXPO2025中国&#xff08;上海&#xff09;国际显示技术及应用创展览会 时间&#xff1a;2025年8月7-9日 地点&#xff1a;上海新国际博览中心 主办单位&#xff1a; 中国光学光电子行业协会液晶分会 联合主办&#xff1a; 中国电子材料行业协会 中国电子商会 韩国…

嵌入式人工智能(32-基于树莓派4B的旋转编码器-EnCoder11)

1、旋转编码器 旋转编码器是一种输入设备&#xff0c;通常用于测量和控制旋转运动。它由一个旋转轴和一系列编码器组成。旋转编码器可以根据旋转轴的位置和方向来测量旋转角度&#xff0c;并将其转化为电子信号输出。 旋转编码器通常分为两种类型&#xff1a;绝对值编码器和增…

【微服务】Spring Cloud Gateway

文章目录 强烈推荐引言主要功能关键概念示例配置依赖添加常见的几种整合案例1. 与 Spring Cloud Eureka 整合2. 与 Spring Cloud Config 整合3. 与 Spring Cloud Sleuth 和 Zipkin 整合4. 与 Spring Cloud Security 整合5. 与 Resilience4j 整合6. 与 Redis 整合 结论强烈推荐专…

Matlab编程资源库(19)级数与符号方程求解

一、级数符号求和 求无穷级数的和需要 符号表达式求和函数 symsum &#xff0c;其调用 格式为&#xff1a; symsum(s,v,n,m) 其中 s 表示一个级数的通项&#xff0c;是一个符号表达式。 v 是求和变 量&#xff0c; v 省略时使用系统的默认变量。 n 和 m 是求和的开始项 和…

如何恢复WPS文档中未保存或删除的文件

由于各种原因&#xff0c;您可能会丢失 WPS 文档&#xff0c;例如意外删除、硬盘格式化、病毒攻击等。您是否遇到过丢失未保存的 WPS 文件的情况&#xff1f;您知道如何恢复 WPS 文档中未保存的文件吗&#xff1f; WPS Office 是一款办公套件&#xff0c;可以作为 Microsoft O…

火山引擎VeDI数据技术分享:两个步骤,为Parquet降本提效

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 作者&#xff1a;王恩策、徐庆 火山引擎 LAS 团队 火山引擎数智平台 VeDI 是火山引擎推出的新一代企业数据智能平台&#xff0c;基于字节跳动数据平台多年的“数据…

一个私有化的中文笔记工具个人知识库,极空间Docker部署中文版『Trilium Notes』

一个私有化的中文笔记工具&个人知识库&#xff0c;极空间Docker部署中文版『Trilium Notes』 哈喽小伙伴们好&#xff0c;我是Stark-C~ 最近被很多小伙伴问到NAS上的笔记工具&#xff0c;虽说之前也出过Memos&#xff0c;刚开始用起来还不错&#xff0c;但是用了一段时间…

W1R3S靶机全通详细教程

文章目录 w1r3s主机发现主机扫描 端口扫描tcp端口扫描UDP扫描漏洞扫描 攻击面分析FTP渗透匿名登录 web渗透目录爆破 cuppa cms文件包含漏洞getshell提权 w1r3s 引言 近些日子看红笔大佬的靶机精讲视频时&#xff0c;他的一句话让我感受颇深&#xff0c;很多视频在讲解时&…

《Windows API每日一练》23.1 Windows多媒体

本节我们将讲述单线程到多线程的演进过程&#xff0c;以及进程与线程的区别。 本节必须掌握的知识点&#xff1a; 多媒体硬件 API 概述 第172练&#xff1a;交互输入MCI命令 23.1.1多媒体硬件 多媒体硬件是指用于处理音频、视频和其他多媒体内容的硬件设备。在计算机系统中&…

迈尔沃护眼大路灯怎么样?书客、迈尔沃、霍尼韦尔护眼灯测评PK!

迈尔沃护眼大路灯怎么样&#xff1f;作为一名专业的实测博主&#xff0c;温馨提示大家&#xff0c;虽然护眼落地灯是个好东西&#xff0c;它能够提供柔和舒适的环境光&#xff0c;减少对眼睛的伤害&#xff0c;但是千万别乱买跟风&#xff0c;盲目入手踩雷率80%以上。那么如何辨…

SpringBoot集成 Druid 连接池及监控配置详解

Spring Boot 集成 Druid 连接池及监控配置详解 Spring Boot 是当前 Java 开发中的热门框架&#xff0c;而在数据库连接池的选择上&#xff0c;Druid 因其性能和功能强大也备受青睐。在这篇文章中&#xff0c;我们将深入探讨如何在 Spring Boot 项目中集成 Druid 连接池&#x…

大厂linux面试题攻略二之Linux系统管理

一、Linux系统管理权限优化类 1.简述Linux权限划分原则&#xff08;经验类&#xff09; 文件权限&#xff1a; 默认权限&#xff1a; 特殊权限; ACL权限&#xff1a; sudo授权&#xff1a; 文件系统属性权限&#xff1a; 解题思路&#xff1a; 注意权限分离(Linux系统…

入门 PyQt6 看过来(案例)17~ 表格

PyQt6提供了两种用于有规律地呈现更多数据的控件&#xff0c;一种是表格结构的控件(QTableView)&#xff0c;另一种是树形结构的控件(QTreeView)。表格控件属于QTableView类&#xff0c;QTableWidget继承于QTableView。 1 QTableView 表格控件 QTableView控件中QStandItemMod…

安胜:促进数据跨境有序流动 赋能企业数字化转型

数字化转型浪潮中&#xff0c;数据出境面临众多机遇与挑战。从业务角度&#xff0c;经济全球化推动外商投资、跨境业务等业务合作&#xff0c;企业数据跨境流动需求强烈&#xff0c;但数据违规现象频发&#xff0c;不仅导致巨大经济损失&#xff0c;还挑战了国家安全。从监管层…

什么是 HTTP/3?HTTP/3 为何席卷全球?HTTP/3 中有什么新内容?为什么需要它?

超文本传输​​协议 ( HTTP ) 是互联网的基石&#xff0c;有助于加载网页、流式传输视频以及为您最喜爱的应用程序获取数据。 去年 &#xff0c;负责定义互联网技术的组织 互联网工程任务组 ( IETF )对该协议的新版本 HTTP/3 进行了标准化。自那时起&#xff0c;HTTP/3 和相关…