会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132454个问题
JAVA 全系列/第三阶段:数据库编程/MySQL数据库的使用 20238楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库的使用 20239楼

package com.bjsxt.web.servlet;

import com.bjsxt.commons.Constants;
import com.bjsxt.exception.UserNotFoundException;
import com.bjsxt.pojo.Users;
import com.bjsxt.service.UserLoginServive;
import com.bjsxt.service.impl.UserLoginServiceImpl;

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 javax.servlet.http.HttpSession;
import java.io.IOException;

/*
    处理用户请求登录
*/
@WebServlet("/login.do") 
public class UserLoginServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String name = req.getParameter("username"); 
        String pwd =req.getParameter("userpwd");
        try{
            UserLoginServive userLoginServive = new UserLoginServiceImpl(); 
            Users users =userLoginServive.userLogin(name,pwd); 
            /*
            建立客户端与服务端的会话状态
            */
            HttpSession session =req.getSession();
            //会话状态建立
            session.setAttribute(Constants.USER_SESSION_KEY,users);//这里的 键 调用了Constants类中的常量, 值 是上面的users
            //跳转到首页,使用重定向的方式实现跳转
            resp.sendRedirect("main.jsp");
        }catch (UserNotFoundException u){
            req.setAttribute("msg",u.getMessage());
            req.getRequestDispatcher("login.jsp").forward(req,resp); //重新跳转到登录页面
        }catch (Exception e){
            resp.sendRedirect("error.jsp"); //如发生其他异常的时候,跳转到一个错误提示页面
        }
    }
}

老师,在写servlet层的时候,上面这段代码中的

            UserLoginServive userLoginServive = new UserLoginServiceImpl(); 
            Users users =userLoginServive.userLogin(name,pwd);

这两行代码的作用是什么?

用来判断用户信息是否存在的嘛?


JAVA 全系列/第五阶段:JavaWeb开发/Web实战案例 20241楼
JAVA 全系列/第十八阶段:亿级高并发电商项目_架构/编码(旧)/电商:基于SpringSession实现登录系统 20242楼
JAVA 全系列/第十八阶段:亿级高并发电商项目_架构/编码(旧)/电商:基于SpringSession实现登录系统 20243楼
JAVA 全系列/第九阶段:Spring Boot实战/Spring Boot 20244楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫基础(旧) 20245楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 20246楼
人工智能/第二阶段:人工智能基础-Python基础/Python基础语法-旧 20247楼
JAVA 全系列/第一阶段:JAVA 快速入门/控制语句、方法、递归算法 20248楼

import pymysql
class MYdb:
    config = {
        "host":"localhost",
        "user":"root",
        "password":"123456",
        "db":"music_project",
        "charset":"utf8"
    }

    def __init__(self):
        self.connection = pymysql.connect(**MYdb.config)
        self.cursor = self.connection.cursor()
    def close(self):
        if self.cursor:
            self.cuesor.close()
        if self.connection:
            self.connection.close()

      #插入  修改  删除调用
    def exeDML(self,sql,*args):
        try:
         #执行sql
            count = self.cursor.execute(sql,args)
            #提交事务
            self.connection.commit()
            return count
        except Exception as e:
            print(e)
            if self.connection:
                self.connection.rollback()
        finally:
           self.close()

    def query_one(self,sql,*args):
        try:
           self.cursor.execute(sql,args)
           return self.cursor.fetchone()
        except Exception as e:
            print(e)
        finally:
            self.close()
    
    def query_all(self,sql,*args):
        try:
           self.cursor.execute(sql,args)
           return self.cursor.fetchall()
        except Exception as e:
            print(e)
        finally:
            self.close()

if __name__ == "__main__":
    dbutil = MYdb()
from dbutil import MYdb
class MyService:
    def login(self,uname,password):
        sql = "select * from t_user where uname = %s and password = %s"
        user = MYdb().query_one(sql,uname,password)
        if user:
            return True
        else:
            return False

blob.png

老师这块总是显示这个错误,跟着视频上的代码敲的,麻烦老师看看有什么问题?上次说不要建在子目录下,现在也改过来了。

Python 全系列/第五阶段:数据库编程/项目-音乐播放器-旧 20249楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637