代码如下,是别人写的,我原本要改SQL语句,但是改过之后就无法取到session了。后来我又把备份拷回去,发现可以用,然后加了一些打印语句,就又取不到session了。
package servlet;import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
import java.util.*;
import java.sql.*;import com.conpools.voteSys.*;  //why we can't import a class;public class DataSave extends HttpServlet{
  private static final String CONTENT_TYPE="text/html;charset=GB2312";
  
  public void init() throws ServletException{   
  }
  
  public void doPost(HttpServletRequest request,HttpServletResponse response)
           throws ServletException,IOException{
   response.setContentType(CONTENT_TYPE);
     PrintWriter out=response.getWriter();
      
   //we should store the data into two table,that is sturesult and student_lesson(voted field);
    try{ 
      ConPool vtcon=new ConPool();    //invoke the default constructor;     
     Connection jcon=vtcon.getConnection();
     ResultSet rs=null;
     String sql="";
     
     HttpSession session=request.getSession(); 
     String user_id=(String)session.getAttribute("user_id");
     System.out.println("user_id:"+user_id);
     String status_id=(String)session.getAttribute("status_id");
     String lesson_id=request.getParameter("lesson_id");
     String type_id=(String)request.getParameter("type_id");
     System.out.println("type_id in datasave is:"+type_id);
     System.out.println("lesson_id in datasave is:"+lesson_id);      int ques1=Integer.parseInt(request.getParameter("0"));     
     int ques2=Integer.parseInt(request.getParameter("1"));
     int ques3=Integer.parseInt(request.getParameter("2"));
     int ques4=Integer.parseInt(request.getParameter("3"));
     int ques5=Integer.parseInt(request.getParameter("4"));
     int ques6=Integer.parseInt(request.getParameter("5"));
     int ques7=Integer.parseInt(request.getParameter("6"));
     int ques8=Integer.parseInt(request.getParameter("7"));
     int ques9=Integer.parseInt(request.getParameter("8"));
     int ques10=Integer.parseInt(request.getParameter("9"));
     int all=ques1+ques2+ques3+ques4+ques5+ques6+ques7+ques8+ques9+ques10;     
     String beizhu=vtcon.convertEn_ch(request.getParameter("beizhu"));
     String teacher_id;
    // System.out.println(status_id);
     
     if(status_id.equals("S")){
      teacher_id=request.getParameter("teacher_id");
           //System.out.println("Steacher_id="+teacher_id);
   sql="select * from sturesult where student_id='"+user_id+"' and lesson_id='"+lesson_id+"'";
}
else if(status_id.equals("T")){
teacher_id=user_id;
    // System.out.println("Tteacher_id="+teacher_id);
sql="select * from tearesult where teacher_id='"+user_id+"' and lesson_id='"+lesson_id+"'";
}else throw new Exception("you are neither teacher nor student");
     rs=vtcon.query(jcon,sql);
     if(status_id.equals("S")){
   if(rs.next()){
   throw new Exception("you can't vote a lesson more than one time!");
   }else{
   sql="insert into sturesult(student_id,teacher_id,lesson_id,item1,item2,item3,item4,item5,item6,item7,item8,item9,item10,all,advise)"; 
        sql=sql+" values('"+user_id+"','"+teacher_id+"','"+lesson_id+"','"+ques1+"','"+ques2+"','"+ques3+"','"+ques4+"','"+ques5+"','"+ques6+"','"+ques7+"','"+ques8+"','"+ques9+"','"+ques10+"','"+all+"','"+beizhu+"')";
}//System.out.println(sql+" in DataSave servlet");//not execute!
        vtcon.update(jcon,sql);   
        //set the voted field in the student_lesson table;
        sql="update student_lesson set voted='y' where user_id='"+user_id+"' and lesson_id='"+lesson_id+"'";
        vtcon.update(jcon,sql);
       // out.println("<input type='hidden' name='type_id' value='"+type_id+"'>");
        response.sendRedirect("../../../../voteSys/StudentView/Vote_Finish.jsp");       
     }else if(status_id.equals("T")){
      String sign;
      if(rs.next()){
      sign="Y";
      sql="update tearesult set item1='"+ques1+"',item2='"+ques2+"',item3='"+ques3+"',item4='"+ques4+"',item5='"+ques5+"',item6='"+ques6+"',item7='"+ques7+"',item8='"+ques8+"',item9='"+ques9+"',item10='"+ques10+"',all='"+all+"',advise='"+beizhu+"'"; 
      sql=sql+" where teacher_id='"+teacher_id+"' and lesson_id='"+lesson_id+"'";
      }
      else {
      sign="N";
      sql="insert into tearesult(teacher_id,lesson_id,item1,item2,item3,item4,item5,item6,item7,item8,item9,item10,all,advise)";
      sql=sql+" values('"+teacher_id+"','"+lesson_id+"','"+ques1+"','"+ques2+"','"+ques3+"','"+ques4+"','"+ques5+"','"+ques6+"','"+ques7+"','"+ques8+"','"+ques9+"','"+ques10+"','"+all+"','"+beizhu+"')";
      }
      vtcon.update(jcon,sql);
      sql="update teacher_lesson set voted='y' where user_id='"+user_id+"' and lesson_id='"+lesson_id+"'"; 
      vtcon.update(jcon,sql);
      response.sendRedirect("../../../../voteSys/TeacherView/Tea_Vote/tea_voted.jsp?sign="+sign+"");
     }else throw new Exception("you are neither teacher nor student too");  
    }
    catch(Exception ex){
     ex.printStackTrace();
     System.out.println("there is some wrong in the DataSave servlet!");
   }finally{
    
   }  
  }
  
  public void destroy(){  
  }}