首页 > 其他分享 >案例-用户注册

案例-用户注册

时间:2023-06-28 20:56:01浏览次数:40  
标签:username 用户名 用户注册 案例 User import password user

 

 

package com.itheima.web;

import com.itheima.mapper.UserMapper;
import com.itheima.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;

@WebServlet("/registerServlet")
public class RegisterServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.接受用户数据
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        //封装用户对象
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);

        //2.调用mapper 根据用户名调查用户对象
        //2.1 获取SqlSessionFactory对象
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        //2.2 获取SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession();

        //2.3 获取Mapper
        UserMapper UserMapper = sqlSession.getMapper(UserMapper.class);

        //2.4 调用方法
        User u = UserMapper.selectByUsername(username);

        //3.判断用户对象是否为null
        if (u == null){
            //用户名不存在,可以添加用户
            UserMapper.add(user);
            //设置 防止乱码
            response.setContentType("text/html;charset=utf-8");
            //调用Writer输出
            response.getWriter().write("注册成功");
            //提交事务
            sqlSession.commit();
            //释放资源
            sqlSession.close();
        }else {
            //用户名存在,给出提示信息
            //设置 防止乱码
            response.setContentType("text/html;charset=utf-8");
            //调用Writer输出
            response.getWriter().write("用户名已存在");
        }

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>欢迎注册</title>
    <link href="css/register.css" rel="stylesheet">
</head>
<body>

<div class="form-div">
    <div class="reg-content">
        <h1>欢迎注册</h1>
        <span>已有帐号?</span> <a href="login.html">登录</a>
    </div>
    <form id="reg-form" action="/RootDemo1/registerServlet" method="post">

        <table>

            <tr>
                <td>用户名</td>
                <td class="inputs">
                    <input name="username" type="text" id="username">
                    <br>
                    <span id="username_err" class="err_msg" style="display: none">用户名不太受欢迎</span>
                </td>

            </tr>

            <tr>
                <td>密码</td>
                <td class="inputs">
                    <input name="password" type="password" id="password">
                    <br>
                    <span id="password_err" class="err_msg" style="display: none">密码格式有误</span>
                </td>
            </tr>


        </table>

        <div class="buttons">
            <input value="注 册" type="submit" id="reg_btn">
        </div>
        <br class="clear">
    </form>

</div>
</body>
</html>
package com.itheima.mapper;

import com.itheima.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

public interface UserMapper {
    /*
    * 根据用户名和密码查询用户对象
    * */
    @Select("select * from tb_user where username = #{username} and password =#{password}")
    User select(@Param("username") String username,@Param("password") String password);

    /*
    * 根据用户名查询用户对象
    * */
    @Select("select * from tb_user where username=#{username}")
    User selectByUsername(String username);

    /*
    * 添加用户
    * */
    @Insert("insert into tb_user values (null,#{username},#{password})")
    void add(User user);
}

 

标签:username,用户名,用户注册,案例,User,import,password,user
From: https://www.cnblogs.com/Karl-hut/p/17512549.html

相关文章

  • 案例-用户登录-代码实现
       代码实现packagecom.itheima.mapper;importcom.itheima.pojo.User;importorg.apache.ibatis.annotations.Param;importorg.apache.ibatis.annotations.Select;publicinterfaceUserMapper{@Select("select*fromtb_userwhereusername=#{use......
  • 案例-用户登录-准备环境
     准备登录界面<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>login</title><linkhref="css/login.css"rel="stylesheet"></head><bod......
  • 2. SpringMVC入门案例
    1.入门案例之创建步骤‍SpringMVC的制作过程和上述流程几乎是一致的,具体的实现流程是什么?1.创建web工程(Maven结构)2.设置tomcat服务器,加载web工程(tomcat插件)3.导入坐标(SpringMVC+Servlet)4.定义处理请求的功能类(UserController)5.设置请求映射(配置映射关......
  • api接口接入淘宝/天猫平台采集添加到购物车数据调用演示案例
    ​淘宝添加到购物车API接口的作用是向淘宝购物车中添加指定的商品,实现用户将商品加入购物车的功能。通过该API接口,用户可以将商品加入购物车,方便后续进行结算和购买。使用淘宝添加到购物车API接口,可以帮助开发者和商家进行以下操作:购物车管理:允许用户将商品添加到购物车并进行......
  • api接口接入淘宝/天猫平台获取商品销量详情调用演示案例
    ​淘宝商品销量详情接口的作用是获取淘宝平台上某一商品的销售情况信息,包括商品的总销量、近期销量、销售趋势等。通过该接口,可以获取到商品销量的原始数据,用于分析商品的受欢迎程度和市场需求。使用淘宝商品销量详情接口,可以帮助商家和开发者进行以下操作:市场分析:通过获取商......
  • 【服务器数据恢复】ext3文件系统下raid5热备盘同步失败导致阵列崩溃的数据恢复案例
    服务器数据恢复环境:两组分别由4块SAS硬盘组建的raid5磁盘阵列,ext3文件系统,通过LVM管理磁盘存储。服务器故障:一组raid5磁盘阵列中的1块硬盘故障离线,热备盘成功启用并开始同步数据,在同步还没有完成的情况下该组raid5阵列中的另外一块硬盘故障掉线,该组Raid5阵列崩溃,LVM结构损坏,文件......
  • STEAM逆向分析案例
    ​ 案例url:https://store.steampowered.com/login/?redir=&redir_ssl=1​逆向分析思路:​ 1)输入用户名和密码后,点击登录按钮,通过抓包工具捕获点击登录按钮后发起请求对应的相关数据包。​ 2)打开全局搜索框:点击右上角的三个点,打开search表示的全局搜索框即可,在其内部搜索pa......
  • 完美世界逆向分析案例
    ​ 案例url:https://passport.wanmei.com/login?location=L3NhZmUv逆向分析思路:1)寻找加密参数​ 输入用户名和密码后,点击登录按钮,通过抓包工具捕获点击登录按钮后发起请求对应的相关数据包。2)全局搜索加密参数​ 打开全局搜索框:点击右上角的三个点,打开search表示的全局搜......
  • 微信公众平台逆向分析案例
    ​ 请忽视具体网站,重点专注逆向的分析思路!重点是分析思路!案例url:https://mp.weixin.qq.com分析思路:1)随便输入账号密码进行登录(admin,123456),打开F12进行抓包2)通过抓包工具发现,密码是经过加密,并且发现密码的加密后的数据是32位,(猜测)大概率是md5加密的!3)发现加密后的数据是被pwd这......
  • 强化学习从基础到进阶--案例与实践[7.1]:深度确定性策略梯度DDPG算法、双延迟深度确定
    强化学习从基础到进阶--案例与实践[7.1]:深度确定性策略梯度DDPG算法、双延迟深度确定性策略梯度TD3算法详解项目实战1、定义算法1.1定义模型!pipuninstall-yparl!pipinstallparlimportparlimportpaddleimportpaddle.nnasnnimportpaddle.nn.functionalasFcl......