会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133683个问题
JAVA 全系列/第六阶段:JavaWeb开发/Servlet技术详解(旧) 1456楼
JAVA 全系列/第六阶段:JavaWeb开发/Servlet技术详解(旧) 1457楼
JAVA 全系列/第六阶段:JavaWeb开发/JSP技术详解(旧) 1458楼
JAVA 全系列/第六阶段:JavaWeb开发/Ajax技术详解(旧) 1459楼

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //得到请求信息
    String username = req.getParameter("username");
    String userpwd = req.getParameter("userpwd");
    //链接用户登录
    try {
        UserLoginService userLoginService = new UserLoginServiceImpl();
        Users user = userLoginService.userlogin(username, userpwd);
        //建立服务端与客户端的会话状态
        HttpSession session = req.getSession();
        session.setAttribute(Constants.USER_SESSION_KEY,user);
        //实现用户在一处登录,使用ServletContest
        ServletContext servletContext = this.getServletContext();
        HttpSession temp = (HttpSession) servletContext.getAttribute(user.getUserid()+"");
        if (temp != null){
            servletContext.removeAttribute(user.getUserid()+"");
            temp.invalidate();
        }
        servletContext.setAttribute(user.getUserid()+"",session);
        //用重定向方法实现页面的跳转
        resp.sendRedirect("main.jsp");
    }catch (RuntimeException e){
        //如果用户名找不到就报当下错误
        req.setAttribute("msg",e.getMessage());
        req.getRequestDispatcher("login.jsp").forward(req,resp);
    }catch (Exception e){
        //中间系统出问题就报当下错误
        resp.sendRedirect("error.jsp");
    }
}

老师我的代码没错吧,为什么实现不了在一处登录?

JAVA 全系列/第六阶段:JavaWeb开发/Web实战案例 1460楼
JAVA 全系列/第六阶段:JavaWeb开发/Web实战案例 1462楼
JAVA 全系列/第六阶段:JavaWeb开发/Servlet技术详解 1463楼
JAVA 全系列/第六阶段:JavaWeb开发/Servlet技术详解 1464楼

webdemo.zip

老师,为什么我的不会显示自定义异常, 以及也不会自动跳转错误页面,不管密码输入对还是错,一直都是在login页面。另外看到教程db.properties没有加useSSL=false不会报错,但我的会报错,必须得加上才行。。

JAVA 全系列/第六阶段:JavaWeb开发/Web实战案例 1466楼
JAVA 全系列/第六阶段:JavaWeb开发/Servlet技术详解(旧) 1467楼

老师,我登陆页面的时候  输什么都是用户名和密码错误 代码看了和文档是一样的

public class UserLoginDaoImpl implements UserLoginDao {
    //用户数据库登陆查询
    public Users selectUsersByUsernameAndUserpwd(String username, String userpwd) {
        Users users = null ;
        Connection conn=null;
        try {
            conn = JdbcUtils.getConnection();
            PreparedStatement ps = conn.prepareStatement("select * from users where username=? and userpwd=?");
            ps.setString(1,username);   //绑定参数
            ps.setString(2,userpwd);
            ResultSet resultSet = ps.executeQuery();
            while (resultSet.next()){
                users = new Users();
                users.setUsersex(resultSet.getString("usersex"));
                users.setUserpwd(resultSet.getString("userpwd"));
                users.setUsername(resultSet.getString("username"));
                users.setUesrid(resultSet.getInt("userid"));
                users.setPhonenumber(resultSet.getString("phonenumber"));
                users.setQqnumber(resultSet.getNString("qqnumber"));
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {

        }

        return users;
    }
}
public class UserLoginServiceimpl implements UserLoginService {
    //用户登陆业务
    public Users userLogin(String username, String userpwd) {
        //实例化持久业务层
        UserLoginDao userLoginDao = new UserLoginDaoImpl();
        Users users = userLoginDao.selectUsersByUsernameAndUserpwd(username,userpwd);
        if(users == null){
            throw new UserNotFoundException("用户名或密码有误");   //自定义异常
        }
        return users;
    }
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String username = req.getParameter("username");
    String userpwd = req.getParameter("userpwd");

    try {
        UserLoginService userLoginService = new UserLoginServiceimpl();
        Users users = userLoginService.userLogin(username,userpwd); //登陆成功返回一个user对象
        //建立客户端与服务端的会话状态
        HttpSession session = req.getSession();
        session.setAttribute(Constans.USR_SESSION_KEY,users);
        //跳转首页 ( 重定向方式 )
        resp.sendRedirect("main.jsp");
    }catch (UserNotFoundException e){
        req.setAttribute("msg",e.getMessage());
        req.getRequestDispatcher("login.jsp").forward(req,resp);
    }catch (Exception e){
        resp.sendRedirect("error.jsp");
    }
}


JAVA 全系列/第六阶段:JavaWeb开发/Web实战案例 1468楼
JAVA 全系列/第六阶段:JavaWeb开发/Ajax技术详解(旧) 1470楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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