(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>

用绿色版TOMCAT和绿色版JDK安装一个WEB服务器的更多相关文章

  1. Tomcat源码分析 (一)----- 手写一个web服务器

    作为后端开发人员,在实际的工作中我们会非常高频地使用到web服务器.而tomcat作为web服务器领域中举足轻重的一个web框架,又是不能不学习和了解的. tomcat其实是一个web框架,那么其内部 ...

  2. 一文读懂tomcat组件--一个web服务器的架构演化史

    1. tomcat是谁?     2. tomcat可以做什么? tomcat是一个web容器,可以将web应用部署到tomcat,由它提供web服务,一个web容器中可以部署多个web应用,这些we ...

  3. 同一台电脑上配置多个解压版tomcat方法(本例安装两个)

    一.在环境变量中设置变量() CATALINA_HOME = tomcat路径一 CATALINA_BASE = tomcat路径一 CATALINA_HOME2 = tomcat路径二 CATALI ...

  4. 手写一个Web服务器,极简版Tomcat

    网络传输是通过遵守HTTP协议的数据格式来传输的. HTTP协议是由标准化组织W3C(World Wide Web Consortium,万维网联盟)和IETF(Internet Engineerin ...

  5. C++实现一个web服务器, 弱智版服务器

    监听本地的8888端口, 当在浏览器中访问这个地址的时候, 返回一堆HTML数据, 这种方式返回的数据不稳定,不同浏览器解析不同, 因为我们没有定义返回文件类型: #include <stdli ...

  6. 打通版微社区(3):在Web服务器上部署memcache For DZ3.2

    写在前面:首先这个数据库加速程序的原理,是将数据库内容缓存到Web服务器的内存上,也就是内存换速度.我本次微社区的应用其实应该用不了这个,只是看到好多DZ论坛部署的都安装了这个,我就练手一下以便不时之 ...

  7. [Linux基础环境/软件]Linux下安装resin web服务器(涉及gcc、jdk环境部署)

    由于Ubuntu自带是没有jdk和gcc编译器的,而安装resin需要C编译器和jdk的支持,而且resin本身是java写的.另外我本身的网站是zip打包的,所以linux也要安装了gcc.jdk. ...

  8. 攻城狮在路上(肆)How tomcat works(一) 简单的web服务器

     该节总共三个类:Request\Response\HttpServer---user.dir     该节的目的是实现简单web服务器对静态文件的访问.需要对请求头.请求体的格式有所了解,不然就没有 ...

  9. (转)Linux整合apache和tomcat构建Web服务器

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wenzhongxiang.blog.51cto.com/6370734/1285 ...

随机推荐

  1. MySQL数据库备份还原

    本文以CentOS 7 yum安装的MariaDB-server5.5为例,说明MySQL的几种 备份还原方式 将服务器A(192.168.1.100)上的数据库备份,还原到B(192.168.1.2 ...

  2. SpringBoot 集成JUnit

    项目太大,不好直接测整个项目,一般都是切割成多个单元,单独测试,即单元测试. 直接在原项目上测试,会把项目改得乱七八糟的,一般是单独写测试代码. 进行单元测试,这就需要集成JUnit. (1)在pom ...

  3. python - 关于json和pickle两个序列化模块的区别

    传送门 https://stackoverflow.com/a/20980488/5955399 区别 json:用于字符串(unicode text)和python基本数据类型间进行转换.优点:跨语 ...

  4. 误删Django的model中的表解决办法

    误删Django的model中的表解决办法 1.model里面的表格实际的操作都在migrations文件夹中,里面记录了操作过程,当在database和model中删除表格时要注意初始化数据库时会报 ...

  5. SSH框架整合,启动Tomcat报错:Unable to load configuration

    报错信息: 严重: Dispatcher initialization failed Unable to load configuration. - bean - file:/E:/MIKEY/mik ...

  6. JavaScript高级特征之面向对象笔记二

    Prototype 1.  当声明一个函数的时候,浏览器会自动为该函数添加一个属性prototype, 2.  该属性的默认值为{} 3.  可以动态的给prototype增加key和value值 4 ...

  7. day1-2基本数据类型

    /*5种基本数据类型 1,Undefined var a; a = undefined Undefined派生自Null 2,Null(本质属于object,单独细分出来的) var a = null ...

  8. Mybatis的三种批量操作数据的方法

    方法1: 使用for循环在java代码中insert (不推荐) 方法2: 使用 在Mapper.xml当中使用 foreach循环的方式进行insert PersonDao.java文件 publi ...

  9. 模拟服务容器Ioc

    服务容器是一个用于管理类依赖和执行依赖注入的强大工具. 一个类要被容器所能够提取,必须要先注册至这个容器.既然称这个容器叫做服务容器,那么我们需要某个服务,就得先注册.绑定这个服务到容器,那么提供服务 ...

  10. 3_01_MSSQL课程_Ado.Net_连接数据库

    1. Ado.Net 是一组微软的c#操作数据库的类库. 2.开发人员将界面上的数据(用户的操作和输入的数据)存储到数据库当中.. 3.数据库访问的驱动.即:应用程序和数据库的桥梁. 4.驱动层. S ...