写了个BEAN文件验证登录信息
在JSP页面里怎么把用户名付给session?SaveBean .java文件如下~~~~~~~~~~~~~~~~~~~~~~~~`
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import beans.*;
public class SaveBean {
private String dname;
private String password;public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname);
}
public String getPassword() {
return password;
}public void setPassword(String password) {
this.password =password;
}
public String getSave(){
ResultSet rs    = null;
String memid="";
String message="";try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;User=sa;");
con.setCatalog("CM");Statement sta=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from dltable where dname='"+dname+"' and password='"+ password+"'";
rs=sta.executeQuery(sql);
      if(rs.next()){
 dname = rs.getString("dname");
   message = "登录成功";
 }
 else{ 
message = "Sorry,您输入的用户名和密码不正确";
 }
rs.close();
con.commit();
sta.close();
con.close();
sta=null;
con=null; return message;
} catch (ClassNotFoundException e) {
e.printStackTrace();
return null;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
}
~~~~~~~~~~~~~~~~~
在xinxi.jsp页面里怎么把用户名dname 付给session???

解决方案 »

  1.   

    session.setAttribute("dnme",request.getParameter(form里文本框的名字));到下一个页面session.getAttribute("dname");
      

  2.   

    我登录页面提交到yanz.jsp进行验证
    验证后就该给session付值,怎么付?只有验证成功才付
    yanz.jsp页面如下
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>Insert title here</title>
    </head>
    <body>
    <jsp:useBean id="opy" class="beans.SaveBean" scope="page">
    <jsp:setProperty name="opy" property="*"/>
    </jsp:useBean>
    <jsp:getProperty  name="opy"  property="save"/>
    <%
    String dname="";
      
       session.setAttribute("dname",dname); 
       %><%=session.getAttribute("dname")%>
    </body>
    </html>
      

  3.   

    你这判断也不对啊!~~你取出来数据了,就认为
    dname = rs.getString("dname");
       message = "登录成功";
      

  4.   

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.sql.SQLException;
    import beans.*;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;public class SaveBean {
    private String dname;
    private String password;public String getDname() {
    return dname;
    }
    public void setDname(String dname) {
    this.dname = dname);
    }
    public String getPassword() {
    return password;
    }public void setPassword(String password) {
    this.password =password;
    }
    public String getSave(){
    ResultSet rs    = null;
    String memid="";
    String message="";try {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;User=sa;");
    con.setCatalog("CM");Statement sta=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
    String sql="select * from dltable where dname='"+dname+"' and password='"+ password+"'";
    rs=sta.executeQuery(sql);
          if(rs.next()){
     dname = rs.getString("dname");
       message = "登录成功";
                         HttpServletRequest r ; 
                         r.getSession().setAttribute("dname",dname);
     }
     else{ 
    message = "Sorry,您输入的用户名和密码不正确";
     }
    rs.close();
    con.commit();
    sta.close();
    con.close();
    sta=null;
    con=null; return message;
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    return null;
    } catch (SQLException e) {
    e.printStackTrace();
    return null;
    }
    }
    }
      

  5.   

    楼上的哥哥
    用你的方法有点小错
    是什么原因呀?D:\tomcat5\webapps\sypl\WEB-INF\classes\beans\SaveBean.java:58: r is already defined in getSave()
                        HttpServletRequest r ;
                                           ^
    1 error
      

  6.   

    要在yanz.jsp页面先接收输入的用户名和密码<%@ page language="java" contentType="text/html;charset=gb2312"%>
    <jsp:useBean id="save" scope="page" class="包.saveBean"/>//bean的路径
    <%
    String name=request.getParameter("dname");
    String password=request.getParameter("password");String message=save.getSave();//注意把 bean里的getSave(String name,String password)改成带参数的if(成功)
      session.setAttribute();
    else
      message="失败";
    %>
    <html>
       <%=message%>
    </html>这是一种
      

  7.   

    你的代码d段内有如下部分
          if(rs.next()){
     dname = rs.getString("dname");
       message = "登录成功";
     }
    改成这样
          if(rs.next()){
     dname = rs.getString("dname");
     session.setAttribute("设定的引用session名称",dname);
       message = "登录成功";
     }然后,你在其他网页内可以使用
    String dname=(String)session.getAttribute("("设定的引用session名称");
      

  8.   

    LZ 在你判断登陆成功后 你就应该把你得到的DNAME放到session中去在 BEAN中只有用HttpServletRequest r ; 
                         r.getSession().setAttribute("dname",dname);
    来保存session,session.setAttribute("设定的引用session名称",dname);这个写法是在JSP中用到的,在BEAN中是不可以的!
      

  9.   

    D:\tomcat5\webapps\sypl\WEB-INF\classes\beans\SaveBean.java:58: r is already defined in getSave()
                        HttpServletRequest r ;
                                           ^
    1 error
    这句话的意思是说,r已经在getSave()方法中定义了和HttpServletRequest r 中的r冲突,你重新定义一下就可以了,顺便说一下LZ的英文不怎么样啊,要好好学english!