首页 > 其他分享 >每日记录

每日记录

时间:2023-05-09 20:44:22浏览次数:50  
标签:username String 记录 每日 request user password response

今天进行了登陆界面的实现,包括登陆注册,记住密码,验证码注册。

 

@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {

    private UserService service = new UserService();
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //1接受用户名和密码
        String username=request.getParameter("username");
        String password = request.getParameter("password");
        String remember = request.getParameter("remember");
        User user = service.login(username, password);

        if (user !=null){

            //登陆成功
            //获取复选框数据

            if ("1".equals(remember)){
                //勾选,发送cookie
                //创建cookie,
                Cookie c_username=new Cookie("username",username);
                Cookie c_password=new Cookie("password",password);
                //设置存活时间
                c_username.setMaxAge(60*60*24*7);
                c_password.setMaxAge(60*60*24*7);
                //2.发送
                response.addCookie(c_username);
                response.addCookie(c_password);
            }
            //将user对象存储到session
            HttpSession session = request.getSession();
            session.setAttribute("user",user);
            String contextPath = request.getContextPath();

            response.sendRedirect(contextPath+"/selectAllServlet");
        }else {

            //失败,跳转回
            //存储错误信息到request
            request.setAttribute("login_mag","用户名或密码错误");
            //跳转到login.jsp
            request.getRequestDispatcher("/login.jsp").forward(request,response);
        }

    }

 

@WebServlet("/registerServlet")
public class RegisterServlet extends HttpServlet {

    private UserService service = new UserService();
    @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);
        //获取用户输入的验证码
        String checkCode = request.getParameter("checkCode");

        //程序生成的验证码,从session
        HttpSession session = request.getSession();
       String checkCodeGen = (String) session.getAttribute("checkCodeGen");

       //比对
        if(!checkCodeGen.equalsIgnoreCase(checkCode)){
            request.setAttribute("register_mag","验证码错误");
            request.getRequestDispatcher("/register.jsp").forward(request,response);

            //不允许注册
            return;
        }
//调用service注册
        boolean register = service.register(user);
        //判断成功与否
        if(register){
            //成功,到登录页面
            request.setAttribute("register_mag","注册成功,请登录");
            request.getRequestDispatcher("/login.jsp").forward(request,response);
        }else {
            //失败,到注册页面
            request.setAttribute("register_mag","用户名已存在");
            request.getRequestDispatcher("/register.jsp").forward(request,response);
        }

    }

 

标签:username,String,记录,每日,request,user,password,response
From: https://www.cnblogs.com/xiao-hong111/p/17386222.html

相关文章

  • yolov5训练栏杆检测模型日志记录
    yolov5训练栏杆检测模型日志记录 (wind_2021)H:\PytorchProject\yolov5_train_xinru_2023050901>(wind_2021)H:\PytorchProject\yolov5_train_xinru_2023050901>(wind_2021)H:\PytorchProject\yolov5_train_xinru_2023050901>(wind_2021)H:\PytorchProject\yol......
  • 每日编程一小时(第二十三天)
    一.问题描述以点类Point及平面图形类Plane为基类公有派生圆类Circle,再以圆类Circle及立体图形类Solid为基类公有派生圆锥类Cone,main(void)函数完成对圆锥类Cone的测试。Point类结构说明:Point类的数据成员包括:①私有数据成员:X坐标x(double型),Y坐标y(double型)。Point类成员函......
  • git 基本命令记录
    gitinit //初始化本地仓库gitadd*** //添加指定***文件到暂存区gitadd. //添加该目录下所有文件到暂存区gitcommit-m'**注释**' //将文件提交仓库(注释为自己可以添加的信息gitstatus //查看暂存区的状态(例如是......
  • 每日总结2023-05-09
    今天完成了广告界面的设计,通过上网查询,了解到互联网广告投放一般按照天数计费,费用高低不一,通常有几种模式:季度收费,按年收费,天数计费等。通过钟表计算广告运行的天数,来进行广告收益的计算,再将广告信息传输到数据库进行存储。 advertBean.javapackagecom.example.math.bean;......
  • 记录--前端实现点击选词功能
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助今天有一个需求,点击选中某个英文单词,然后对这个单词做一些处理,例如高亮背景、查看一些详细信息等等,今天简单实现了一下,效果如下:(支持移动端,chrome和sarafi浏览器均能正常使用。语言......
  • mysql 去重分组后取每组时间最新的一条记录
    mysql去重分组后取每组时间最新的一条记录第一步:先分组后取到分组的那个id以及每个组最新的数据--先根据课程分组,然后在取这组统计数据中最先的日期selectCourseID,MAX(CountDate)asCountDate fromRep_school_class_course_count_data_cod......
  • CentOS安装Git记录
    一.二进制方式 yum-yinstallgit 简单粗暴,一句话搞定,弊端就是版本太低,看看版本:git--version一般是1.8.x版本,据最新的2.40.x版本还是差挺多的 二.源代码方式 CentOS7环境建议选择v2.35以下版本,否则在编译的时候会出现错误。yuminstall-ycurl-develexp......
  • 关于若依AsyncFactory的一些思考,记录一下
    类比观星台项目业务:字段数据量都比较大,但需要都保存,但计算只需要其中三列数据,因此需要纵向分表第一步:导入大批量数据,利用loaddata先导入数据第二部:导入成功后,通过单独线程将导入数据纵向分表,添加线程通过后台直接将数据二次入库若依操作日志入库如下:/***操作日志记......
  • 【工具类】线程安全的滑动时间窗口记录工具类
    闲来无事,分享一个工具类,写的不好,轻喷,欢迎指出问题目标是线程安全无锁高性能的记录滑动时间窗口值importlombok.Getter;importjava.util.concurrent.ExecutorService;importjava.util.concurrent.Executors;importjava.util.concurrent.TimeUnit;importjava.util.conc......
  • CF1198 Div1做题记录
    ACF题面排序,前缀和统计\(\left[1,i\right]\)内有多少不同数字,枚举\(l\),二分\(r\),显然的是\(l,r\)等于某一个数字最好,所以可以得到对于每个\(l\),最多有多少数字不被修改。点击查看代码#include<bits/stdc++.h>#defineullunsignedlonglong#definelllonglong#d......