编程语言
首页 > 编程语言> > java-使用会话将值从JSP存储和检索到servlet

java-使用会话将值从JSP存储和检索到servlet

作者:互联网

我有login.jsp页面,我尝试通过会话将文本框中的用户名和密码传递给servlet.下面给出了login.jsp的代码:

<form name="frm" action="DisplayData" method="post" onsubmit="return Validate()" >
    <table align="center">
        <tr>
            <td align="left">UserName:</td>
            <td><input type="text"  name="username" value=""></input></td>
        </tr>
        <tr>
            <td align="left">Password:</td>
            <td><input type="password"  name="password" value=""></input> </td>
        </tr>
    </table>
    <%
       String name = request.getParameter("username");
       String password = request.getParameter("password");
       session.setAttribute("name",name);
       session.setAttribute("pass", password);
    %>
    <table align="center">
        <tr>
            <input type="hidden" name="hiddenname" value="login">
            <td><input align="middle" type="submit" name="Sign_in" value="Sign_in"  onclick="return Validate()"></input></td>
            <td><input type="button" value="Signup" onClick="javascript:window.location='Signup.jsp';"></input></td>
        </tr>
    </table>
</form>

我想检索在login.jsp中设置为servlet的用户名和密码.我尝试使用以下代码,但它为我提供了空值.我在servlet中使用的Java代码如下:

 HttpSession session = request.getSession(true);
    String name=(String)session.getAttribute("name");
    System.out.println("Welcome"+name);

谁能告诉我我在哪里犯错.我需要将用户名存储在会话中,以便可以将该名称用于该Servlet中的多个请求

解决方法:

从session.getAttribute(“ name”)返回的结果是null,因为在呈现jsp时在会话中设置了name属性.目前,未输入用户名.您需要做的是在Servlet中使用getParameter()获取用户名,然后根据需要将其保存在会话中.

标签:java,session,jsp,session-variables
来源: https://codeday.me/bug/20191012/1902785.html