springBoot01

一、开发环境

(一)安装JDK8+

(二)安装IntelliJ IDEA

(三)下载、安装和配置Maven

1、下载Maven压缩包

下载链接:https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/

2、解压Maven压缩包

  • 解压到D:\Program Files\apache-maven-3.6.3-bin\apache-maven-3.6.3

image-20210616085007911

3、配置Maven环境变量

  • 创建新的环境变量MAVEN_HOME

在这里插入图片描述

单击【确定】按钮,查看创建的系统变量MAVEN_HOME

在这里插入图片描述

修改Path环境变量

在这里插入图片描述

启动命令行窗口,查看Maven是否安装配置成功

发布命令:mvn -version

在这里插入图片描述

(四)通过IDEA配置本地Maven仓库

  • 在设置对话框的Maven项目里查看相关信息

image-20210616090449687

修改Maven主目录

在这里插入图片描述

(五)Maven项目设置远程仓库

Spring Boot项目,使用Maven下载依赖非常慢。建议采用阿里镜像库,稳定且速度快。

1、找到Maven安装目录里conf下的settings.xml

在这里插入图片描述

2、在settings.xml文件里找到节点,添加阿里云镜像库地址

<mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

重启IntelliJ IDEA,让配置生效

三、使用Maven方式构建Spring Boot项目

(一)创建Maven项目HelloWorld01

  • 选择创建的项目类型 - Maven
  • image-20210616090814609

设置Maven项目Name、Location、GroupId与ArtifactId

在这里插入图片描述

单击【Finish】按钮

在这里插入图片描述

(二)修改Maven项目配置文件pom.xml

  • pom: Project Object Model - 项目对象模型
  • 添加parent和web的起步器依赖

在这里插入图片描述

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
         http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>net.hw.lesson01</groupId>
    <artifactId>HelloWorld01</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

(三)创建启动类HelloWorld01Application

image-20210616091029815

package com.wh.demo;

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

@SpringBootApplication
public class DemoApplication {

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

}
  • 启动类必须添加注解符@SpringBootApplication
  • 在主方法里,利用SpringApplication类的run()静态方法启动HelloWorldApplication类的实例

(四)创建控制器HelloWorld01Controller

  • 控制器是用于Web访问的

net.wh.demo包里创建controller子包,然后在子包里创建控制器HelloWorld01Controller

image-20210616091159637


package net.wh.demo.controller;

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


@RestController
public class HelloWorld01Controller {
    @GetMapping("/hello")
    public String hello() {
        return "<h3>Hello Spring Boot World!</h3>";
    }
}

  • 控制器添加注解符@RestController,该注解为组合注解,等同于Spring中@Controller+@ResponseBody注解

  • 方法添加注解符@GetMapping("/hello"),等同于Spring框架中@RequestMapping(RequestMethod.GET)注解

(五)运行启动类HelloWorld01Application

在这里插入图片描述

四、使用Spring Initializr方式构建Spring Boot项目

(一)创建Spring Boot项目HelloWorld02

  • 创建项目,选择项目类型 - Spring Initializr

在这里插入图片描述

设置项目相关属性

注意:Artifact的值不能包含大写字母,Name属性值可以包含大写字母

在这里插入图片描述

添加Spring Web依赖

在这里插入图片描述

设置项目名称与保存位置

在这里插入图片描述

单击【Finish】按钮,查看生成的Spring Boot项目HelloWorld02

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>net.hw.lesson01</groupId>
    <artifactId>helloworld02</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>HelloWorld02</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

(二)创建控制器DemoController

image-20210617095315287

package net.wh.springboot.controller;

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

@Controller
public class DemoController {
    @ResponseBody
    @RequestMapping("/hello")
    public String hello() {
        return "hello world";
    }
}

(三)运行启动类DemoApplication

image-20210617095549525

(四)在浏览器里访问http://localhost:8080/hello

image-20210617095614730

(五)利用控制器返回页面

1、添加thymeleaf依赖

  • 在pom.xml文件里添加thymeleaf依赖
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

2、创建首页

  • 在templates目录里创建index.html页面

image-20210617100021087

4、修改控制器,添加映射方法,负责返回页面

package net.wh.springboot.controller;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class DemoController {
    @ResponseBody
    @RequestMapping("/hello")
    public String hello() {
        return "hello world";
    }

    @GetMapping("/index")
    public String index() {
        return "index";
    }

    @GetMapping("/login")
    public String login() {
        return "login";
    }
}

5、启动应用,访问http://localhost:8080/index

image-20210617104002327

6、遇到问题控制器无法跳转页面

原因:我以前下载了thymeleaf依赖,所以导入的时候不需要再次下载,在pom.xml里面没有爆红,我就没有点击刷新,导致依赖没有导入进来

image-20210617104250766

image-20210617103713525

六、课后作业

任务1、创建Spring Boot项目输出学生信息

创建学生信息页面

image-20210617105432713

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
学号:192001
姓名:末日铁拳
性别:男
年龄:20019
专业:后排蒸发
电话:900100
邮箱:0000
爱好:切安娜,打和尚
</body>
</html>

创建控制器StudentController

image-20210617105411485

package net.wh.springboot.controller;

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

@Controller
public class StudentController {
    @GetMapping("/stu")
    public String stu() {
        return "student";
    }
}

运行启动类,在浏览器访问http://localhost:8080/student

image-20210617105620694

任务2、让HelloWorld02实现页面跳转功能

  • 创建登录页面login.html

image-20210617111133855

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<from>
<table border>
    <tr><th colspan="2"><h3>登录</h3></th></tr>
    <tr><th>账号:</th><td><input type="text"></td></tr>
    <tr><th>密码:</th><td><input type="password"></td></tr>
    <tr><td colspan="2" align="center"><input type="submit" value="登录">&nbsp;&nbsp;<input type="reset" value="重置"></td></tr>
</table>
</from>
</body>
</html>
  • 修改index页面,让超链接访问控制器里面的方法

    <!DOCTYPE html>
    <html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1>Hello World</h1>
    <p><a href="/login">跳转到登录页面</a></p>
    </body>
    </html>
    
  • 修改控制器,让控制去进行跳转

    package net.wh.springboot.controller;
    
    import org.springframework.stereotype.Controller;
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    public class DemoController {
        @ResponseBody
        @RequestMapping("/hello")
        public String hello() {
            return "hello world";
        }
    
        @GetMapping("/index")
        public String index() {
            return "index";
        }
    
        @GetMapping("/login")
        public String login() {
            return "login";
        }
    }
    
    
  • 启动应用,查看效果

image-20210617111617407

  • 点击跳转

    image-20210617111657092

任务3、点击登录可以跳转到登录成功页面。登录失败跳转到登录失败页面

  • 创建LoginController
package net.wh.springboot.controller;

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

import org.springframework.web.bind.annotation.RequestParam;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.Map;

@Controller
public class LoginController {
    @PostMapping("/user/login")
    public String login(HttpServletRequest request, @RequestParam("username") String username, @RequestParam("pwd") String passwrod,
                        Map<String, Object> map){
        if (username.equals("admin") && passwrod.equals("root")) {
            return "secc";
        } else {
            return "nosecc";
        }
    }


}
  • 创建修改login页面,添加了action和method

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <form action="/user/login" method="post">
    <table border>
        <tr><th colspan="2"><h3>登录</h3></th></tr>
        <tr><th>账号:</th><td><input type="text" name="username"></td></tr>
        <tr><th>密码:</th><td><input type="password" name="pwd"></td></tr>
        <tr><td colspan="2" align="center"><input type="submit" value="登录">&nbsp;&nbsp;<input type="reset" value="重置"></td></tr>
    </table>
    </form>
    </body>
    </html>
    
  • 创建成功页面和失败页面,

  • image-20210617114258207

  • 运行类,查看效果

  • 输入正确的信息

    image-20210617114337285

跳转到成功页面

image-20210617114426208

  • 输入错误的信息

  • 跳转到失败页面

th>
账号:
密码:
  

~~~
  • 创建成功页面和失败页面,

  • [外链图片转存中…(img-LpN2cp4J-1623999846591)]

  • 运行类,查看效果

  • 输入正确的信息

    [外链图片转存中…(img-u2EzxCVK-1623999846591)]

跳转到成功页面

[外链图片转存中…(img-sBSbX3OB-1623999846592)]

  • 输入错误的信息

  • 跳转到失败页面

image-20210617114501865

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值