(1) 使用绿色版本JDK,解压到一个目录上D:\jdk1.6。
   (2) 使用绿色版本Tomcat,解压到另一个目录上D:\jdk1.6\tomcat5.5

    只要在bat文件D:\tomcat5.5\bin\catalina.bat,
    配置JAVA_HOME就可运行了。
    增加:set JAVA_HOME="D:\jdk1.6",这样就可以运行了。

测试tomcat,访问:   http://127.0.0.1:8080/ ,能打开访问的页面即可.

用一个简单的投票系统。 http://127.0.0.1:8080/vote/
投票系统 (请不要下载,已经加密)

其中,有一个管理界面的mainform.jsp上有一个按钮,修改数据,所链接的是isvisable.jsp, 点击修改后,又返回mainform.jsp.
问题是: 不能刷新mainform.jsp,它还是显示原来的数据.

故我用了一个简单的解决方案:
         在mainform.jsp上,禁止缓存,
如下:
<%response.setHeader("Cache-Control","no-store");%>
<%response.setHeader("Pragma","no-cache");%>
<%response.setDateHeader("Expires",0);%>

<head>
<META   HTTP-EQUIV="pragma"   CONTENT="no-cache">   
<META   HTTP-EQUIV="Cache-Control"   CONTENT="no-cache,   must-revalidate">   
<META   HTTP-EQUIV="expires"   CONTENT="Mon,   23   Jan   1978   20:52:30   GMT">  
</head>

在isvisable.jsp中,

<%
 int questionid;
 int isvisable;
 questionid = Integer.parseInt(request.getParameter("questionid"));
 out.print(questionid);
 sql = "SELECT IsVisable from Questions where QuestionID ="+questionid;
 rs = smt.executeQuery(sql);
 out.println(rs);

 while(rs.next())
  {
   isvisable = rs.getInt(1);
   out.println(isvisable);
   if(isvisable==1)
   {
     Statement smttmp   =   con.createStatement(); 
     sql = "update Questions set IsVisable = 0 ,IsOpen = 0 ,IsOpenDetial = 0 where QuestionID = "+questionid;
     smttmp.executeUpdate(sql);
     //response.sendRedirect("mainform.jsp"); //去掉,不能直接返回,因更新数据库,需要时间
   }
   else if(isvisable==0)
   {
     Statement smttmp   =   con.createStatement(); 
     sql = "update Questions set IsVisable = 1 ,IsOpen = 0 ,IsOpenDetial = 0 where QuestionID = "+questionid;
     smttmp.executeUpdate(sql);
     //response.sendRedirect("mainform.jsp"); //去掉,不能直接返回,因更新数据库,需要时间.
   }

  }
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312"> 
<meta http-equiv="Refresh" content="1;url= mainform.jsp"> //等待1秒后,自动刷新到主页面.
<title>
isvisable
</title>
</head>

</html>


有没有好的方法呢?

原来只要正常的关闭连接就可以了,感觉是不是这样就提交了,特别是要关闭connection,
问题解决了,看来还是要根据规范编写程序才行,打开的链接,一定要关闭.

<%
 int questionid;
 int isvisable;
 questionid = Integer.parseInt(request.getParameter("questionid"));
 out.print(questionid);
 sql = "SELECT IsVisable from Questions where QuestionID ="+questionid;
 rs = smt.executeQuery(sql);
 out.println(rs);

 while(rs.next())
  {
   isvisable = rs.getInt(1);
   out.println(isvisable);
   if(isvisable==1)
   {
     Statement smttmp   =   con.createStatement(); 
     sql = "update Questions set IsVisable = 0 ,IsOpen = 0 ,IsOpenDetial = 0 where QuestionID = "+questionid;
     smttmp.executeUpdate(sql);
     if(smttmp != null)
     {
     smttmp.close();
     }
     response.sendRedirect("mainform.jsp");
   }
   else if(isvisable==0)
   {
     Statement smttmp   =   con.createStatement(); 
     sql = "update Questions set IsVisable = 1 ,IsOpen = 0 ,IsOpenDetial = 0 where QuestionID = "+questionid;
     smttmp.executeUpdate(sql);
     if(smttmp != null)
     {
     smttmp.close();
     }
     response.sendRedirect("mainform.jsp");;
   }

  }

     if(con != null)
     {
     con.close();
     }
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312"> 
<title>
isvisable
</title>
</head>

</html>