初学java web如何使用springboot框架搭建网站

本篇针对初学java、对web和框架尚不了解的小白,将讲解如何使用IDEA搭建第一个springboot web项目,并了解springboot基本使用知识。

所需工具

1、IDEA

本篇将使用IDEA搭建一个springboot,还不会用IDEA参看:https://www.cnblogs.com/weibanggang/p/9395702.html
注:IDEA专业版并非免费的(不过现在也有了社区免费版),网上有很多破解教程,上述链接也有;不过如果你是学生,很容易在IDEA的官网上申请到学生认证,可以免费使用正版到毕业,教程略。

2、maven

maven是包管理工具,许多项目开发往往需要java基础包之外的依赖包,导入其他依赖包往往很麻烦,尤其有些依赖包还需要依赖其他包,你需要一起导入,使用maven,只用在项目下的pom.xml文件中写下所需依赖包的名字和版本,maven就会自动下载并将依赖包导入到项目中。
幸运的是如今的IDEA也内置了maven,你不用专门下载和配置它。

web是如何工作的?

在浏览器敲入网址就可访问到网站,你所敲入的网址被称为url,什么是url?参看https://www.cnblogs.com/littlek1d/p/9548075.html
浏览器将url发出,跟据url中IP地址找到对应的服务器,跟据url中的端口,web程序再跟据url的虚拟目录找到对应的方法执行,执行结束后返回html页面或者直接数据给浏览器,就完成了一次交互。

什么是框架?

框架一个半成品项目,为了便于程序员开发,框架将经常用到、重复使用的方法集成起来,同时框架往往还会封装一些优秀的设计理念,如什么作用的类应放在什么位置,什么类型对象应被什么类型的对象调用等等,这导致使用框架往往在设计类和类之间关系时需要符合该框架特定的习惯,所以在用框架时你会常听到xx类、配置文件。

框架如何知道你写的类是它要求的哪种类?

1、使用注解,注解是以@开头,写在java类、方法或者参数前用于标识这块代码属性的特殊代码;
2、使用配置文件,在配置文件中写下那些包的类属于哪种类;
3、使用命名规范,有些框架为了更少做配置,要求类或方法的名字按照他要求的格式写,框架就可根据不同格式分辨代码的类型。

springboot的代码习惯是什么?

springboot是对web开发常用三件套spring+springMVC+mybatis的封装,所以使用的MVC模式,MVC模式参看https://www.runoob.com/design-pattern/mvc-pattern.html
所以一个springboot往往有以下目录:
在这里插入图片描述

创建第一个springboot项目

1、给maven添加镜像

由于maven是外国软件,下载依赖包往往是从外国网站下载,这样速度会非常慢,甚至可能会出错,在maven的配置文件中添加国内镜像网站的配置,它就会从该国内网站下载依赖包
(1)点击IDEA的file->Setting
(2)可以看到maven的配置文件的位置在这里插入图片描述如果是初次使用maven,一般这个文件是不存在的,不要自己创建,可以在IDEA的安装目录下找到一个maven配置文件,如D:\Software_installation\IntelliJ IDEA 2018.3.1\plugins\maven\lib\maven3\conf\settings.xml (我的IDEA安装目录是D:\Software_installation\IntelliJ IDEA 2018.3.1),将这个文件复制到上面看到的路径下,或者将上图中划线部分修改为你刚刚找到的settings.xml文件路径(修改要先勾选右边的Override选择,不然无法修改)

(3)打开这个文件,查找字符串<mirrors>,在其下面也就是<mirrors></mirrors>之间插入

    <!-- 阿里云仓库 -->
    <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>

2、创建一个简单的springboot项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述添加依赖包,不使用mybatis、数据库时只需选择web的Spring Web,不要选择mybatis的包,在这里插入图片描述
否则使用时,mybatis的jar包中的方法会查找连接数据库所需的类和xml文件,而我们是没有写这些的,会导致报错。
在这里插入图片描述创建完成后,等待maven将依赖包下载完成,会有如下目录结构,DemoApplication是自动生成的起始类,有main方法,会自动加载到启动项中,可直接启动这个web程序了,但还无法通过浏览器访问。
在这里插入图片描述
注:如果你之前看过springMVC等其他框架或者原生java web的教程,可能会想在启动项中配置一个Tomcat,事实上不用,springboot出现的目的就是简化springMVC的开发复杂度,它基本上只有一个配置文件,可以在同一个文件中写各种sping、mybaits的配置,也内置了Tomcat的代码,只要执行DemoApplication,无需安装Tomcat,就可以运行。

3、与浏览器交互,发一个helloword

方法一
(1)创建一个控制类

在这里插入图片描述

package com.example;

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

@Controller
public class TestController {

    @RequestMapping("/test")
    public String test(){
        return "hello.html";
    }

}

注解@Controller用表示一个类是控制类
注解@RequestMapping("/test") 用于匹配url,其参数"/test"就是url的虚拟目录,比如当浏览器访问http://127.0.0.1:8080/test 时,就会执行这个被标识的方法
方法返回一个html文件的名字,web程序将返回这个html文件,由浏览器接收显示成网页。

(2)创建一个html文件

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
hello word!
</body>
</html>

控制类方法返回的文件名对应文件默认相对路径在resourecs的templates文件夹下,可以通过修改配置文件修改默认路径。

(3)在maven中添加返回html需要的依赖包,在pom.xml文件的<dependencies></dependencies>之间插入
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

点击IDEA有下角自动弹出的提示,import Changs,maven会开始下载新添加的依赖包。
在这里插入图片描述

(5)在浏览器中输入http:127.0.0.1:8080/test访问

在这里插入图片描述127.0.0.1是本地IP,表示要访问自己电脑;
8080端口是springboot默认使用的端口,可以通过修改配置文件application.properties,向文件中添加语句

server.port=80

可修改端口为80。
如果项目运行报错,有一种可能是端口冲突,一个端口对应一个联网应用,如果对应多个,服务器会无法知道来自网络的数据是传给哪个web程序,可以通过shell命令查询当前设备哪个端口没有被占用,用上述配置修改端口。

方法二,控制类直接返回字符串数据
(1)创建控制类
package com.example;

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

@Controller
public class TestController {

    @ResponseBody
    @RequestMapping("/test")
    public String test(String str){
        return str;
    }

}

注解@ResponseBody标识方法直接返回给浏览器字符串,而非前端页面。
形参String str接收url中的参数,参数名称需和url中的参数相同,
注:url中传递的参数都是字符串类型,控制类方法的形参可以为其他类型如int、Date等,springboot会自动将字符串类型转化为这些类型,但要保证值可以转化,否则会报错。

(2)浏览器访问http:127.0.0.1:8080/test?str=你好

在这里插入图片描述可以看到,服务器返回了参数str的值,这样也可以不写前端页面和添加依赖包。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值