【问题标题】:How to fetch data using a session attribute? help me to fix this如何使用会话属性获取数据?帮我解决这个问题
【发布时间】:2019-03-05 21:40:25
【问题描述】:
String sql = "SELECT * FROM stakehoders WHERE email = ${sessionEmail}"

这里sessionEmail 是会话属性。 在java页面中我分配sessionEmail如下

HttpSession session = request.getSession();
session.setAttribute("sessionEmail",email);

【问题讨论】:

    标签: java html jsp


    【解决方案1】:

    看看Using Prepared Statements 教程。有趣的部分是:

    String sql = "SELECT * FROM stakehoders WHERE email = ?";
    PreparedStatement stmt = connection.prepareStatement(sql);
    stmt.setString(1, request.getSession().getAttribute("sessionEmail");
    

    【讨论】:

    • 谢谢你的兄弟!!
    • @DinuwanKalubowila 如果有帮助,请采纳答案
    【解决方案2】:
    HttpSession session = request.getSession();
    String sessionEmail = session.getAttribute("sessionEmail");
    
    PreparedStatement stmt = con.prepareStatement("SELECT * FROM stakehoders WHERE email = ?");
    stmt.setString(1, sessionEmail);
    

    【讨论】:

    • String sql = "SELECT * FROM stakehoders where email = '"+session.getAttribute("sessionEmail")+"'";
    • 你不应该那样做!
    • @DinuwanKalubowila 您的尝试存在sql injection 安全漏洞。
    • 请解释为什么这是一个答案
    猜你喜欢
    • 2020-10-03
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多