java中,用session传值的问题,
我验证一个登录,如果正确则将用户名保存在session中,错误提示为:ThemethodsetAttribute(String,String)isundefinedfor...
我验证一个登录,如果正确则将用户名保存在session中,错误提示为:The method setAttribute(String, String) is undefined for the type Session,代码如下:
import javax.servlet.http.HttpSession;
import javax.mail.Session;
import java.io.*;
public class login {
public static Connection getConn(){
Connection con=null;
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test?user=root&password=zhgy";
con = DriverManager.getConnection(url);
}
catch(Exception e) {
System.out.println("数据库连接失败!!");
}
return con;
}
public static boolean checkuser(String username,String password){
boolean result = false;
try{
ResultSet rs = login.getConn().createStatement().executeQuery("select * from userinfo where username='"+username+"' and password='"+password+"'");
if (rs.next()){
result = true;
Session.setAttribute("username","rs.getString(username)");
}
}
catch(Exception e){
}
return result;
} 展开
import javax.servlet.http.HttpSession;
import javax.mail.Session;
import java.io.*;
public class login {
public static Connection getConn(){
Connection con=null;
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test?user=root&password=zhgy";
con = DriverManager.getConnection(url);
}
catch(Exception e) {
System.out.println("数据库连接失败!!");
}
return con;
}
public static boolean checkuser(String username,String password){
boolean result = false;
try{
ResultSet rs = login.getConn().createStatement().executeQuery("select * from userinfo where username='"+username+"' and password='"+password+"'");
if (rs.next()){
result = true;
Session.setAttribute("username","rs.getString(username)");
}
}
catch(Exception e){
}
return result;
} 展开
7个回答
展开全部
把import javax.mail.Session;这行代码删了
修改
public static boolean checkuser(String username,String password)
方法为
public static boolean checkuser(String username,String password,HttpSession session)
代码
Session.setAttribute("username","rs.getString(username)");
修改为
session.setAttribute("username","rs.getString(username)");
在调用checkuser方法时,在最后记得传入request.getSession()参数
修改
public static boolean checkuser(String username,String password)
方法为
public static boolean checkuser(String username,String password,HttpSession session)
代码
Session.setAttribute("username","rs.getString(username)");
修改为
session.setAttribute("username","rs.getString(username)");
在调用checkuser方法时,在最后记得传入request.getSession()参数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你引用了2个session
Session.setAttribute("username","rs.getString(username)");
这个Session是用的javax.mail.Session
应该用HttpSession
Session.setAttribute("username","rs.getString(username)");
这个Session是用的javax.mail.Session
应该用HttpSession
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Session不是请求的那个session,你可以实现HttpRequestAware接口,重写的它的方法,得到request对象,request.getSession(),或者把此类直接改成一个servlet就可以了,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的session包导入错了
应该是import javax.servlet.http.Session;
应该是import javax.servlet.http.Session;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
request.getSession().setAttribute("username",rs.getString(username)); 没有引号,后面。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询