关于string boot项目实训课(准备工作)

本文介绍Spring Boot项目中,页面与java代码的逻辑关系,讲解@Controller注解和@GetMapping()的作用。详细阐述了数据如何在页面之间流通,以及如何设置默认访问页面。此外,还探讨了与Mysql数据库的连接配置,包括如何创建实体类、Dao接口,以及通过Java代码实现数据查询。
摘要由CSDN通过智能技术生成

一、页面–web页面–java代码之间的逻辑关系

首先在java文件夹下创建一个java类

@Controller//类上面要加入注解
public class TestController {
    @GetMapping("login")//对应web请求--localhost:9991/Login
    //类方法,用于处理逻辑
    public String login(String user,int pass){
        if(user.equals("张三") && pass==123456)
        {
            return "index";//跳转到index.html页面
        }
        else
            return "login";//跳转到login.html页面
    }
    @GetMapping("test")
    public String test(){
        return "index";
    }
}

java类用于写后台代码,进行逻辑处理

其中,关于@Controller注解的作用

1、@Controller 是Spring框架提供的注解。

1)@Controller注解可以将该类交由spring管理,从而能够使用getBean()或者@Autowired的方式从Spring中获取Bean实例。

2)@Controller标识的类,在语义上,表示该类代表控制器类。
这里控制层里面的每个方法,都可以去调用@Service标识的类,@Service标识的类中的方法可以继续调用@Resposity标识的接口实现类。

2、@Controller一般使用在Spring的包扫描开启的时候,例如在此案例中的配置。配置包扫描后,Spring会自动寻找指定包下的@Component , @Controller , @Service , @Repository等标注的类,并自动将其注册到Spring中。

其次,关于@GetMapping()的作用及注意事项

1.同一个方法在浏览器中直接输入地址是不能进入@PostMapping注解的方法中的,因为浏览器提交的是get请求
2.直接在浏览器地址栏输入某个地址、点击链接、表单默认的提交方式都是会发送get请求进入@GetMapping注解的方法中
3.直接在浏览器地址栏输入某个地址、点击链接、表单默认的提交方式都是会发送get请求进入@GetMapping注解的方法中。表单method = “post”时会进入@PostMapping的方法中
关于@GetMapping和@PostMapping的小结

之后创建两个html文件

login.html

从login页面发起web请求,form用于提交数据,数据用于判断,判断逻辑由java负责,
action中需要填写提交路径--java请求路径:需要将数据提交给哪个后台的java方法  @GetMapping("login")
name属性用于在后台中区分数据来自哪个输入框
<form action="/login">
    用户名<input type="text" name="user"/><br/>
    密 码<input type="password" name="pass"/><br/>
    <input type="submit" value="登录"/>
</form>

index.html

<body>
主页
</body>

关于数据如何流通?页面之间数据如何传递?

1, 访问localhost:9991/test
在这里插入图片描述
这里的test对应的是web请求 ,在这里插入图片描述

即localhost:9991/test 的运行结果是直接进行web请求,进而直接执行test方法
在这里插入图片描述

2, 访问localhost:9991/login.html
在这里插入图片描述
而这种访问方式,是从login页面发起web请求。
使用form进行提交数据,提交的数据用于后台代码进行逻辑判断;
action中需要填写的是提交路径–java请求路径,即需要将数据提交给哪个后台的java方法(或web请求) @GetMapping(“login”)
name属性用于在后台中区分数据来自哪个输入框

在这里插入图片描述
需要将在login.html页面上填写的数据,通过form表单提交给名为login的web请求
在这里插入图片描述
之后进入名为login的web请求的注解方法,即login 类方法,然后进行判断。

二、关于默认访问

常见一个空的index.html

<body>

</body>

1, 访问http://localhost:9991/
结果为空白页面
在这里插入图片描述
2, 访问http://localhost:9991/login.html
在这里插入图片描述

出现原因:index.html和login.html页面没有被创建时,访问localhost:9991/ 会出现404
默认 访问项目根地址(localhost:9991)是去项目中找index页面,如果index.html没有创建,则出现错误(404),有则进入index界面。

测试

当我的index.html中为如下内容时

<body>
<h1>主页</h1>
</body>

再次访问localhost:9991时,为以下结果
在这里插入图片描述

三、关于java代码和数据库连接问题

数据库使用的是mysql

首先关于Mysql的安装以及可视化图形工具的安装遇到的问题

**查看是否已安装mysql:**cmd–>mysql -V或者mysql -version
查看自己的mysql安装路径:在这里插入图片描述还可以通过cmd来查看:如何通过cmd来查看路径
安装可视化图形工具及破解:关于工具的下载及破解方法

其次,关于代码如何连接数据库

需要配置application.yml文件
在这里插入图片描述
在这里插入图片描述

只需要修改以上两处位置,一个为root的密码,另一个为数据库名在这里插入图片描述
以上就可以完成连接数据库!!!

之后通过java代码进行数据库的查询
1、创建一个文件夹pojo,之后在此文件夹下创建一个实体类Users,Users与数据库中的表名相同
在这里插入图片描述
User类

public class Users {//Users与数据库表名相同  实体类
                    //数据库中每一条记录也是使用实体类存储

    private int id;//与对应数据库表中的属性名相同
    private String user;
    private String pass;


    public Users(){

    }

    public Users(int id, String user, String pass) {//有参数的构造方法
        this.id = id;
        this.user = user;
        this.pass = pass;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getPass() {
        return pass;
    }

    public void setPass(String pass) {
        this.pass = pass;
    }

    @Override
    public String toString() {
        return "Users{" +
                "id=" + id +
                ", user='" + user + '\'' +
                ", pass='" + pass + '\'' +
                '}';
    }
}

2、之后创建一个Dao文件夹,在此文件夹下创建一个名为UsersDao的Interface类文件,其中此文件的固定命名格式为:与表名一一对应+Dao
**

UsersDao类文件就可以实现从数据库到java代码的数据流通

**
UsersDao.java

@Mapper//注解
public interface UsersDao {//接口类
    @Select("select * from users where user ='admin' and pass = '123'")//select括号中写select查询语句
    Users show();//show():接口中的方法名  Users:返回值类型
}

当我调用show()方法时,他会执行@select中的查询语句,select查询语句会从数据库中查询到一条记录在这里插入图片描述
之后,show()会将查询到的记录放到Users中
具体过程如下
在这里插入图片描述
最后,如何调用show()方法:
在这里插入图片描述
其中,UsersDao usersDao;的意思为定义一个类型为UsersDao的接口变量

在这里插入图片描述
运行结果
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值