小弟编写了一段servlet的代码,从session取值,然后与一个字符串比较,用来判断权限的,可是一直返回值为false,请各位大神帮忙解救.下面是servlet的部分代码:package myservlet.control;
import mybean.data.*;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HandleUpload extends HttpServlet{
public void init(ServletConfig config) throws ServletException{
super.init(config);
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}
catch(Exception e){}
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
HttpSession session=request.getSession();
Login login=(Login)session.getAttribute("login");
boolean ok=true;
if(login==null){
ok=false;
response.sendRedirect("login.jsp");
}
if(ok==true){ if("edit".equals(session.getAttribute("ht_p"))) { String logname=login.getLogname();
uploadFileMethod(request,response,logname);
} else {
response.setCharacterEncoding("GB2312");
PrintWriter out = response.getWriter();
out.print(str);
} }
}equalssession
import mybean.data.*;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HandleUpload extends HttpServlet{
public void init(ServletConfig config) throws ServletException{
super.init(config);
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}
catch(Exception e){}
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
HttpSession session=request.getSession();
Login login=(Login)session.getAttribute("login");
boolean ok=true;
if(login==null){
ok=false;
response.sendRedirect("login.jsp");
}
if(ok==true){ if("edit".equals(session.getAttribute("ht_p"))) { String logname=login.getLogname();
uploadFileMethod(request,response,logname);
} else {
response.setCharacterEncoding("GB2312");
PrintWriter out = response.getWriter();
out.print(str);
} }
}equalssession
试试
看看打印了什么
System.out.println("<th>"+session.getAttribute("ht_p")+"</th>");
if("edit".equals(session.getAttribute("ht_p"))) { String logname=login.getLogname();
uploadFileMethod(request,response,logname);
} else { response.setCharacterEncoding("GB2312");
PrintWriter out = response.getWriter();
out.print("<th>这是if里面的"+session.getAttribute("ht_p")+"</th>");}我是这样加的代码,但是他只是显示了这是if里面的edit ,所以是不是说其实他并没有去执行System.out.println(session.getAttribute("ht_p"));?
System.out.println("htp="+htp);
if("edit".equals(session.getAttribute("ht_p")))
如果没打印,说明这个if(ok)的分支没进来,说明ok为false了。
我把那个if(ok)直接改为else都没用
要怎么改呢?
不是equals的问题
我把那个if(ok)直接改为else都没用
要怎么改呢?
直接把if删掉
想问一下这样能得到一个对象么