当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 武汉理工大学毕业实习Day02和03

武汉理工大学毕业实习Day02和03

2020年07月24日  | 移动技术网IT编程  | 我要评论
今天是实习第三天但是我今天才写昨天的笔记/_ \其实也是第三天和第二天的综合内容

任务是认识ssm与搭建ssm,别的不多说了,我直接就上过程好了

建立SSM项目

1.点击idea左上角 File->new->project
如下图所示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择finish,进入项目后等待一会,会在输出台输出Build Success的字样提示项目构建成功

  1. 项目文件夹如下图所示
    在这里插入图片描述
    在这里插入图片描述
    第二天只需要有index.jsp list.jsp web.xml 和login.jsp即可,因为我做笔记时已经把第三天的任务也完成了,所以就这么多,有一些jsp暂时还没用
以下代码是第三天完成登录和注册的代码

User类

package com.zhongruan.bean;

import com.mysql.cj.x.protobuf.MysqlxDatatypes;

public class User {
    private int id;
    private String username;
    private String password;

    public User() {
    }

    public User(int id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    public User(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public int getId() {
        return id;
    }

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

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

UserHandler类

package com.zhongruan.controller;

import com.zhongruan.bean.User;
import com.zhongruan.dao.UserDao;
import com.zhongruan.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;

@Controller
@RequestMapping("/user")
public class UserHandler {
    // @Controller  表示UserHandler类 是一个控制器类(处理请求)
    @Autowired
    UserDao userDao;

    @Autowired
    UserService userService;

    @RequestMapping("/findAll")
    public ModelAndView index() {
        System.out.println("index方法执行 ");
        ModelAndView mv = new ModelAndView();
        mv.addObject("list", userService.findAll());
        mv.setViewName("list");
        return mv;
        // ModelAndView   数据视图
        // return "index";
    }

    @RequestMapping("/findAll01")
    public ModelAndView index01() {
        ModelAndView mv = new ModelAndView();
        mv.addObject("list", userService.findAll());
        mv.setViewName("list");
        return mv;
    }

    @RequestMapping("/login")
    public String login(String username, String password) {
        System.out.println(username + "====" + password);
        // 对 用户名和密码 进行 校验
        User user = userService.login(new User(username, password));
        System.out.println(user);
        if (user == null) {
            System.out.println("登录失败");
            return "false";
        } else {
            System.out.println("登录成功");
            return "success";
        }
    }


    @RequestMapping("/register")
    public String register(String username, String password, String check_password) {
        if (password.equals(check_password)) {
            System.out.println(username + "====" + password);
            userService.register(new User(username, password));
            System.out.println("注册成功");
            return "success";
        }else {
            System.out.println("两次密码输入不一致");
            return "false";
        }
    }

}

UserDao类

package com.zhongruan.dao;

import com.zhongruan.bean.User;

import java.util.List;

public interface UserDao {
    // 查询全部用户 的方法
    List<User> findAll();

    // List集合的接口  <User>  泛型就是 将运行期间的错误 转换到 编译期间    User.login()   Student.login()

    //检查
    User checkUser(User user);
    // 新增用户
    int addUser(User user);
}

UserDao.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhongruan.dao.UserDao">
    <select id="findAll" resultType="User">
        select * from t_user
    </select>

    <insert id="addUser" parameterType="User">
        insert into t_user (username, password) values (#{username}, #{password})
    </insert>
    <select id="checkUser" parameterType="User" resultType="User">
        select * from t_user where username=#{username} and password = #{password};
    </select>

注意啊这里有个坑,insert语句返回的都是int类型,所以UserDao类里面的addUser方法会出错,所以addUser方法要是int类型,我会详细解释,在下一篇笔记里面

UserServiceImpl

package com.zhongruan.service.impl;

import com.zhongruan.bean.User;
import com.zhongruan.dao.UserDao;
import com.zhongruan.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    UserDao userDao;

    @Override
    public List<User> findAll() {
        return userDao.findAll();
    }

    @Override
    public User login(User user) {
        return userDao.checkUser(user);
    }

    //修改之后的register 因为insert语句返回值是int类型,所以如果写成User register()会返回错误
    @Override
    public boolean register(User user) {
        User queryUser = userDao.checkUser(user);
        if (queryUser != null){
            return false;
        }else{
            int rows=userDao.addUser(user);
            return rows ==1;
        }
    }
}

UserService

package com.zhongruan.service;

import com.zhongruan.bean.User;

import java.util.List;

public interface UserService {
    List<User> findAll();
    User login(User user);
//    User register(User user);
    boolean register(User user);


}

login.jsp

<%--
  Created by IntelliJ IDEA.
  User: time ocean
  Date: 2020/7/22
  Time: 16:17
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">


    <title>用户登陆</title>


    <!-- Tell the browser to be responsive to screen width -->
    <meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport">
    <!-- Bootstrap 3.3.6 -->
    <!-- Font Awesome -->
    <!-- Ionicons -->
    <!-- Theme style -->
    <!-- iCheck -->
    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->

    <link rel="stylesheet" href="../plugins/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="../plugins/font-awesome/css/font-awesome.min.css">
    <link rel="stylesheet" href="../plugins/ionicons/css/ionicons.min.css">
    <link rel="stylesheet" href="../plugins/adminLTE/css/AdminLTE.css">
    <link rel="stylesheet" href="../plugins/iCheck/square/blue.css">
</head>

<%-- 需求分析
        login.jsp 需要讲用户名以及密码传递到后台

        from表单用来提交数据
            表单域     <form></form>
                action属性 表示 提交数据地址
                method 提交方式
                    get方式    <a></a>用的就是get请求   优点 速度快    缺点 不安全
                    post方式   优点 安全  传递数据量大  数据类型不限
            表单元素    <input>
                type   类型
                placeholder 占位符
                name   必须要加的属性

            提交按钮    <button type="submit" >
 --%>


<body class="hold-transition login-page">
<div class="login-box">
    <div class="login-logo">


        <a href="   "><b>武汉理工</b>后台管理系统</a>


    </div>
    <!-- /.login-logo -->
    <div class="login-box-body">
        <p class="login-box-msg">登录系统</p>

        <form action="/user/login" method="post">
            <div class="form-group has-feedback">
                <input type="text" class="form-control" placeholder="用户名" name="username" >
                <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
            </div>
            <div class="form-group has-feedback">
                <input type="password" class="form-control" placeholder="密码" name="password">
                <span class="glyphicon glyphicon-lock form-control-feedback"></span>

                <img src="" />
            </div>
            <div class="row">
                <div class="col-xs-8">
                    <div class="checkbox icheck">
                        <label><input type="checkbox"> 记住 下次自动登录</label>
                    </div>
                </div>
                <!-- /.col -->
                <div class="col-xs-4">
                    <button type="submit" class="btn btn-primary btn-block btn-flat">登录</button>
                </div>
                <!-- /.col -->
            </div>
        </form>

        <div class="social-auth-links text-center">
            <p>- 或者 -</p>
            <a href="#" class="btn btn-block btn-social btn-facebook btn-flat"><i class="fa fa-qq"></i> 腾讯QQ用户登录</a>
            <a href="#" class="btn btn-block btn-social btn-google btn-flat"><i class="fa fa-weixin"></i> 微信用户登录</a>
        </div>
        <!-- /.social-auth-links -->

        <a href="#">忘记密码</a><br>
        <a href="/pages/register.jsp" class="text-center">新用户注册</a>

    </div>
    <!-- /.login-box-body -->
</div>
<!-- /.login-box -->

<!-- jQuery 2.2.3 -->
<!-- Bootstrap 3.3.6 -->
<!-- iCheck -->
<script src="${pageContext.request.contextPath}/plugins/jQuery/jquery-2.2.3.min.js"></script>
<script src="${pageContext.request.contextPath}/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="${pageContext.request.contextPath}/plugins/iCheck/icheck.min.js"></script>
<script>
    $(function() {
        $('input').iCheck({
            checkboxClass: 'icheckbox_square-blue',
            radioClass: 'iradio_square-blue',
            increaseArea: '20%' // optional
        });
    });
</script>
</body>

</html>

register.jsp

<%--
  Created by IntelliJ IDEA.
  User: ASUS
  Date: 2020/7/22
  Time: 13:26
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">


    <title>注册</title>


    <!-- Tell the browser to be responsive to screen width -->
    <meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport">
    <!-- Bootstrap 3.3.6 -->
    <!-- Font Awesome -->
    <!-- Ionicons -->
    <!-- Theme style -->
    <!-- iCheck -->
    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->

    <link rel="stylesheet" href="${pageContext.request.contextPath}/plugins/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="${pageContext.request.contextPath}/plugins/font-awesome/css/font-awesome.min.css">
    <link rel="stylesheet" href="${pageContext.request.contextPath}/plugins/ionicons/css/ionicons.min.css">
    <link rel="stylesheet" href="${pageContext.request.contextPath}/plugins/adminLTE/css/AdminLTE.css">
    <link rel="stylesheet" href="${pageContext.request.contextPath}/plugins/iCheck/square/blue.css">
</head>

<body class="hold-transition register-page">
<div class="register-box">
    <div class="register-logo">


        <a href="all-admin-"><b>数据</b>后台管理系统</a>


    </div>

    <div class="register-box-body">
        <p class="login-box-msg">新用户注册</p>

        <form action="/user/register" method="post">
            <div class="form-group has-feedback">
                <input type="text" class="form-control" placeholder="用户名" name="username">
                <span class="glyphicon glyphicon-user form-control-feedback"></span>
            </div>
<%--
            <div class="form-group has-feedback">
                <input type="email" class="form-control" placeholder="Email" name="username">
                <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
            </div>
     --%>
            <div class="form-group has-feedback">
                <input type="password" class="form-control" placeholder="密码" name="password">
                <span class="glyphicon glyphicon-lock form-control-feedback"></span>
            </div>
            <div class="form-group has-feedback">
                <input type="password" class="form-control" placeholder="确认密码" name="check_password">
                <span class="glyphicon glyphicon-log-in form-control-feedback"></span>
            </div>
            <div class="row">
                <div class="col-xs-8">
                    <div class="checkbox icheck">
                        <label>
                            <input type="checkbox"> 我同意 <a href="#">协议</a>
                        </label>
                    </div>
                </div>
                <!-- /.col -->
                <div class="col-xs-4">
                    <button type="submit" class="btn btn-primary btn-block btn-flat">注册</button>
                </div>
                <!-- /.col -->
            </div>
        </form>

        <div class="social-auth-links text-center">
            <p>- 或者 -</p>
            <a href="#" class="btn btn-block btn-social btn-facebook btn-flat"><i class="fa fa-qq"></i> 腾讯QQ用户登录</a>
            <a href="#" class="btn btn-block btn-social btn-google btn-flat"><i class="fa fa-weixin"></i> 微信用户登录</a>
        </div>

        <a href="/pages/login.jsp" class="text-center">我有账号,现在就去登录</a>
    </div>
    <!-- /.form-box -->
</div>
<!-- /.register-box -->

<!-- jQuery 2.2.3 -->
<!-- Bootstrap 3.3.6 -->
<!-- iCheck -->
<script src="${pageContext.request.contextPath}/plugins/jQuery/jquery-2.2.3.min.js"></script>
<script src="${pageContext.request.contextPath}/plugins/bootstrap/js/bootstrap.min.js"></script>
<script src="${pageContext.request.contextPath}/plugins/iCheck/icheck.min.js"></script>
<script>
    $(function() {
        $('input').iCheck({
            checkboxClass: 'icheckbox_square-blue',
            radioClass: 'iradio_square-blue',
            increaseArea: '20%' // optional
        });
    });
</script>
</body>

</html>

spring.xml springmvc.xml config.xml 就不写了,记得修改数据库密码

本文地址:https://blog.csdn.net/weixin_43889700/article/details/107525736

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网