隐式对象'request'仅在JSP页面中可用。对于您定义的类,该对象不存在。您必须明确定义它。
一种解决方案是在JSP页面中获取Session并将其作为参数(可能是构造函数)传递给您的类。
例如,您可以在类中定义构造函数,如下所示: -
public class Username {
private HttpSession session;
Username(HttpSession session){
this.session = session;
}
public String getUserName(Long userId) {
/* remove the following line */
//HttpSession session1 = request.getSession(false);// error is coming here for request
String userid = (String)session.getAttribute("userid");
// i want to fetch user name from database by the userid above
String userName = "";
//all my sql code here
return userName;
}
}然后修改JSP页面中的代码,如: -
Username uName = new Username(request.getSession());
uName.getUserName(userId);