栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot入门

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot入门

day01搭建项目、参数传递 搭建第一个项目

使用idea创建项目,选择Web依赖

static目录下新建index页面

访问localhost:8080页面,显示hello springboot.

处理客户端的动态请求

新建controller包,controller类

添加@Controller注解

方式一.编写方法,添加@RequestMapping注解

    @RequestMapping("/hello")
    public void hello(HttpServletResponse response) throws IOException {
        System.out.println("服务器收到了请求");
        //设置响应类型及字符集
        response.setContentType("text/html;charset=utf-8");
        //得到输出对象并输出内容
        PrintWriter pw = response.getWriter();
        pw.print("Hello Spring!");
        //关闭资源
        pw.close();
    }

方式二:编写方法,添加@RequestMapping @ResponseBody注解

    @RequestMapping("/hello")
    @ResponseBody
    public String hello(){
        return "responseBody";
    }

访问localhost:8080/hello页面,即可看到相应页面。

客户端发出请求的四种方式
  1. 在浏览器的地址栏中写请求地址
  2. 在html页面中通过超链接发出请求
  3. 通过form表单发出请求
  4. 通过前端技术发出异步请求
获取客户端传递参数的方式

1.通过HttpServeletRequest获取参数

    @RequestMapping("/parameter")
    @ResponseBody
    public String parameter(HttpServletRequest request){
        String info = request.getParameter("info");
        return "我是参数" + info;
    }

2.在处理请求方法的参数列表位置直接声明获取

1.新建html表单

2.新建reg方法,添加注解

    @RequestMapping("/reg")
    @ResponseBody
    public String reg(String username,String password,String nick,int age){
        System.out.println("username = " + username + ", password = " +
                password + ", nick = " + nick + ", age = " + age);
        return "提交成功";
    }

通过创建实体类,封装数据

创建一个封装参数的对象User,在处理请求的方法参数列表中直接声明该类型的对象,SpringMVC框架会自动实例化该对象并通过调用set方法的方式,把接收到的参数封装到对象中,

切记:属性名和form表单中的参数名必须一致

创建vo包,创建User类

    @RequestMapping("/reg")
    @ResponseBody
    public String reg(User user){
        System.out.println("user = " + user);
        return "提交成功";
    }
day02 引入数据库_实现简单的注册登录功能

1.新建Spring initializr模块,添加SpringWeb依赖

2.pom文件导入JDBC驱动,数据库连接池驱动

        
            mysql
            mysql-connector-java
            8.0.15
        

        
            com.alibaba
            druid
            1.1.21
        

3.新建controller包-UserController类;vo包-User类;Utils包-DBUtils类;

4.新建reg.html,login.html页面

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidPooledConnection;

import java.sql.Connection;
import java.sql.SQLException;

public class DBUtils {
    private static DruidDataSource dds;
    static {
        //创建连接池对象
         dds = new DruidDataSource();
        //设置数据库链接信息
        dds.setUrl("jdbc:mysql://localhost:3306/empdb?" +
                "characterEncoding=utf8&serverTimezone=Asia/Shanghai");
        dds.setUsername("root");
        dds.setPassword("root");
        //设置初始连接数量
        dds.setInitialSize(3);
        //设置最大连接数量
        dds.setMaxActive(5);
    }
    //1.封装一个方法获取链接
    public static Connection getConn() throws SQLException {
        //从连接池对象中获取链接
        DruidPooledConnection conn = dds.getConnection();
        System.out.println(conn);
    //得到的链接对象return
        return conn;
    }


}
@Controller
public class UserController {
    @RequestMapping("/reg")
    @ResponseBody
    public String reg(User user){
        System.out.println("user = " + user);
        if (user.getUsername() == null){
            return "返回首页";
        }
        //1.判断用户名是否已存在
        try (Connection conn = DBUtils.getConn()){
            String sql = "select * from user where username = ?";
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1,user.getUsername());
            ResultSet rs = ps.executeQuery();
            if (rs.next()){
                return "用户名已存在!";
            }
            String insertSql = "insert into user values (null,?,?,?)";
            PreparedStatement insertPs = conn.prepareStatement(insertSql);
            insertPs.setString(1,user.getUsername());
            insertPs.setString(2,user.getPassword());
            insertPs.setString(3,user.getNick());
            insertPs.executeUpdate();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return "恭喜你,注册成功";

    }

}

注:JDBC驱动的依赖版本要与DBUtils中dds.setUrl相匹配,否则数据库可能会出现连接失败的情况。

登录功能代码:

    @RequestMapping("/login")
    @ResponseBody
    public String login(User user){
        System.out.println(user);
        try(Connection conn = DBUtils.getConn()) {
            String sql = "select password from user where username = ?";
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1,user.getUsername());
            ResultSet rs = ps.executeQuery();
            if (rs.next()){
                String password = rs.getString(1);
                if (password.equals(user.getPassword())){
                    return "登录成功";
                }else {
                    return "密码错误";
                }
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return "用户不存在";
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1003390.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号