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

【JAVA】网页版登录注册系统

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

【JAVA】网页版登录注册系统

目录

前言

一、环境的搭建

二、功能实现

1、登录功能

2、注册功能

【注意】

总结 


前言

JAVA实现网页的登录与注册

一、环境的搭建

1、创建Maven Web工程,参考【JAVA】Web服务器—Tomcat_Lx_Hy_的博客-CSDN博客

2、导入所需要的坐标(servlet、IOUtils工具类、MyBatis、MySQL、tomcat插件)


        
            javax.servlet
            javax.servlet-api
            3.1.0
            provided
        
        
            commons-io
            commons-io
            2.6
        
        
            org.mybatis
            mybatis
            3.5.5
        
        
            mysql
            mysql-connector-java
            5.1.32
        
    
    
        
            
            
                org.apache.tomcat.maven
                tomcat7-maven-plugin
                2.2
                
                    8080
                    
                
            
        
    

3、准备静态页面,因为此项目不侧重前端页面设计所以直接给出HTML

 4、在Navicat中创建数据库、tb_user表用于存储用户信息

 

 5、编写mybatis-config.xml核心配置文件





    
        
    

    
        
            
            
                
                
                
                
            
        
    
    
        
        
    

5、创建UserMapper接口

public interface UserMapper {
}

6、定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下(详细可参考【JAVA】MyBatis上篇_Lx_Hy_的博客-CSDN博客)



//命名空间:UserMapper所在位置


7、创建Web文件夹及两个功能的实现类

 

8、创建User实体类

 

public class User {

    private Integer id;
    private String username;
    private String password;

    public Integer getId() {
        return id;
    }

    public void setId(Integer 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 + ''' +
                ", passwords='" + password + ''' +
                '}';
    }
}

二、功能实现

1、登录功能

在UserMapper接口中编写出登录功能所需的查询接口

    //根据用户名和密码查询用户
    User selectByConditionSingle_Log(@Param("username") String username, @Param("password") String password);

再在对应的UserMapper.xml中编写出对应的SQL语句,用于在数据库中查询信息

    
        select id, username, password
        from tb_user
        where username = #{username}
    
    
    
        insert into tb_user
        values (null, #{username}, #{password})
    

最后在RegisterServlet中编写实现方法

(详细可参考【JAVA】MyBatis上篇_Lx_Hy_的博客-CSDN博客 和【JAVA】MyBatis下篇_Lx_Hy_的博客-CSDN博客 【JAVA】MyBatis上篇_Lx_Hy_的博客-CSDN博客、和【JAVA】Servlet_Lx_Hy_的博客-CSDN博客)

@WebServlet("/registerServlet")
public class RegisterServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //接收用户数据
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        //封装用户对象
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        //获取SqlSessionFactory对象
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //获取SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //获取UserMapper
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        //调用方法
        User u = userMapper.selectByUsername(username);
        response.setContentType("text/html;charset=utf-8");
        //判断用户对象信息
        if (u == null) {
            //用户名不存在
            userMapper.add(user);
            sqlSession.commit();
            response.getWriter().write("注册成功");
            sqlSession.close();
        } else {
            //用户名存在给出信息
            response.getWriter().write("用户名已存在");
        }
    }

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

【注意】

SqlSessionFactory只能创建一次,所以需要将LoginServlet和RegisterServlet中创建的工厂类抽取为一个工具类

【方法】

1、创建一个SqlSessionFactoryUtils

2、在编写静态代码块用来存放SqlSessionFactory的创建,再创建一个public方法用于返回创建的工厂

public class SqlSessionFactoryUtils {
    private static SqlSessionFactory sqlSessionFactory;
    //静态代码块,只执行一次
    static {
        try {
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public static SqlSessionFactory getSqlSessionFactory(){
        return sqlSessionFactory;
    }
}

3、在LoginServlet和RegisterServlet中调用方法来替换原代码

【LoginServlet】

【RegisterServlet】

总结 

以上便是JAVA实现网页的登录与注册的全部内容,如有问题,可以私信讨论,感谢阅读!

全部源码放在Java实现网页版登录注册系统-Java文档类资源-CSDN文库

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1039361.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

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