下面是两个程序,问题:(都在同一个包中,语法没错误)
在Login.jsp登录的时候用session将获取到的UserName值存入UserID中
String UserID=request.getParameter("UserName");//UserName是输入用户名的框
session.setAttribute("UserID",UserID);然后在view.jsp中用String UserID=(String)request.getParameter("UserID");就不能获取到先前放置在UserID中的UserID的值了。
Login.jsp
<body>
  <center>
        <form name="form" action="Business">
        <table border="1">
     <caption><h1><font color="red">用户登录</font></h1></caption>
     <tr>
     <td>用&nbsp;户&nbsp;名:</td>
     <td><input type="text" name="UserName"></td>
     <%! String UserID; %>
         <%  UserID=request.getParameter("UserName");
    session.setAttribute("UserID",UserID); 
     %>
         </tr>
     <tr>
     <td>密&nbsp;&nbsp;&nbsp;&nbsp;码:</td>
     <td><input type="password" name="UserPassword"></td>
     </tr>
      <tr>
     <td colspan="2" align="center"><input type="button" value="登录" onclick="validate()"/><input type="reset" value="重填" /></td>
     </tr>
     <input type="hidden" name="query" value="Login" />
     <input type="hidden" name="view" value="00" />
     </table>
     </form>
  </center>  
 </body>view.jsp
<body>
    <center>
    <font size="5" color="blue"><b>您的留言</b></font><p>
    <table border="1">
     <%! ResultSet rs; %>
     <%
     Connection conn=ConnecteDB.getConn();
     String UserID=(String)request.getAttribute("UserID");
     String sql="select * from MessageContent where UserName="+"'"+UserID+"'";
     try{
     Statement stmt=conn.createStatement();
     rs=stmt.executeQuery(sql);
     }catch(Exception e){
     System.out.println(e.getMessage());
     }
    
     while(rs.next())
     {
       %>
     <tr>
     <td bgcolor="#ddffee"">主&nbsp;&nbsp;题</td>
     <td><%=rs.getString(2)%></td>
     </tr>
     <tr>
     <td  bgcolor="ddffee">留言内容:</td>
     <td><%=rs.getString(3)%></td>
     </tr>
     <tr>
     <td  bgcolor="ddffee">留言时间:</td>
     <td><%=rs.getString(4)%></td>
     </tr>
     <%
     }
     %>
    </table>
    <p><a href="MessageBoard.jsp">返回留言板</a>
    </center>
    
  </body>

解决方案 »

  1.   

    String UserID=(String)request.getSession().getAttribute("UserID");   存在session中的这样获取
      

  2.   

    然后在view.jsp中用String UserID=(String)request.getParameter("UserID");就不能获取到先前放置在UserID中的UserID的值了 
    应该修改为:String UserID=(String)session.getAttribute("UserID"); 
      

  3.   

    然后在view.jsp中用String UserID=(String)request.getParameter("UserID");就不能获取到先前放置在UserID中的UserID的值了 
    应该修改为:String UserID=(String)session.getAttribute("UserID"); 
    楼上朋友说的request.getSession()也可以不加,jsp的隐含对象里有session,默认jsp中已经存在session对象