Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从jsp到servlet获取值并进行mysql查询_Java_Mysql_Jsp_Servlets - Fatal编程技术网

Java 如何从jsp到servlet获取值并进行mysql查询

Java 如何从jsp到servlet获取值并进行mysql查询,java,mysql,jsp,servlets,Java,Mysql,Jsp,Servlets,我在index.jsp和loginservlet中有登录表单。如果用户名和密码正确,则取决于权限。jsp页面打开的是admin.jsp、user1.jsp和user2.jsp。在opened.jsp页面中,用户的用户名显示为${user.username}。我还有存储用户数据的bean用户 登录servlet 在admin.jsp中,我有一行: <div id="topMenu>${user.username} | <a href="Logout">Logout</

我在index.jsp和loginservlet中有登录表单。如果用户名和密码正确,则取决于权限。jsp页面打开的是admin.jsp、user1.jsp和user2.jsp。在opened.jsp页面中,用户的用户名显示为${user.username}。我还有存储用户数据的bean用户

登录servlet

在admin.jsp中,我有一行:

<div id="topMenu>${user.username} | <a href="Logout">Logout</a></div>
用户可以根据其权限在数据库中搜索产品。在他点击搜索按钮后,我想检索他的用户名,并用它在新的servlet中进行数据库查询。当我在sql查询语句的servlet代码中手动输入用户的用户名以进行代码检查时,一切正常,并生成结果,但当用户点击搜索按钮时,我无法自动获取值


提前感谢

您只需在HTTP会话中存储用户名,或者更确切地说,它的唯一ID,一旦经过身份验证。这样,对于每个发送到服务器的请求,您就知道是哪个用户在发送它:

if (res.next()) {
    String username = res.getString(2);
    request.getSession().setAttribute("authenticatedUserName", username);
每次需要获取当前经过身份验证的用户时:

String authenticatedUserName = 
    (String) request.getSession().getAttribute("authenticatedUserName");
旁注:学会使用。您的代码容易受到SQL注入攻击,并且一旦用户的名称或密码中有一个引号,代码就会被破坏。另外,当您真正想要的是一个活动的布尔值时,不要使用int,例如,应该是一个布尔值

if (res.next()) {
    String username = res.getString(2);
    request.getSession().setAttribute("authenticatedUserName", username);
String authenticatedUserName = 
    (String) request.getSession().getAttribute("authenticatedUserName");