javaweb中servlet的使用案例,登录、注册

2023-09-03

注册

复制代码
package com.hh.web; 
/**
 * @author hh
 * @version 1.0
 * @DATE 2023-09-03 14:56:28
 */

import com.hh.mapper.UserMapper;
import com.hh.pojo.User;
import com.hh.util.SqlSessionFactoryUtil;
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.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;

@WebServlet("/registerServlet")
public class RegisterServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");
        //获取用户输入的信息
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        //创建一个用户对象,用于添加的操作
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);

        //通过mybatis从数据库中拿到tb_user中的数据并调用相应的对象
        SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtil.getsqlSessionFactory();

        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        User u = userMapper.selectUserByUsername(username);

        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html");
        PrintWriter writer = response.getWriter();

        //判断用户是否存在
        if(u!=null){//表示用户存在
            writer.write("用户已存在,添加失败");

        }else {//用户不存在
            userMapper.add(user);
            //一定要提交事务啊啊啊
            sqlSession.commit();
            writer.write("用户添加成功");
            sqlSession.close();
        }




    }

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

登录

复制代码
package com.hh.web;
/**
 * @author hh
 * @version 1.0
 * @DATE 2023-09-03 14:35:24
 */

import com.hh.mapper.UserMapper;
import com.hh.pojo.User;
import com.hh.util.SqlSessionFactoryUtil;
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.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;

@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");

        //获取用户输入的用户名和密码
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        //通过mybatis从数据库中拿到tb_user中的数据并调用相应的对象
        SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtil.getsqlSessionFactory();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = userMapper.selectUser(username, password);

        //进行校验,输出对应的内容
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html");
        PrintWriter writer = response.getWriter();
        if(user!=null){
            writer.write("登录成功");
        }else {
            writer.write("登录失败");
        }

        //释放资源
        sqlSession.close();
    }

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

 

posted @   努力是一种常态  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示