代码如下,是别人写的,我原本要改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(){
}}
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(){
}}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货