用绿色版TOMCAT和绿色版JDK安装一个WEB服务器
(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服务器的更多相关文章
- Tomcat源码分析 (一)----- 手写一个web服务器
作为后端开发人员,在实际的工作中我们会非常高频地使用到web服务器.而tomcat作为web服务器领域中举足轻重的一个web框架,又是不能不学习和了解的. tomcat其实是一个web框架,那么其内部 ...
- 一文读懂tomcat组件--一个web服务器的架构演化史
1. tomcat是谁? 2. tomcat可以做什么? tomcat是一个web容器,可以将web应用部署到tomcat,由它提供web服务,一个web容器中可以部署多个web应用,这些we ...
- 同一台电脑上配置多个解压版tomcat方法(本例安装两个)
一.在环境变量中设置变量() CATALINA_HOME = tomcat路径一 CATALINA_BASE = tomcat路径一 CATALINA_HOME2 = tomcat路径二 CATALI ...
- 手写一个Web服务器,极简版Tomcat
网络传输是通过遵守HTTP协议的数据格式来传输的. HTTP协议是由标准化组织W3C(World Wide Web Consortium,万维网联盟)和IETF(Internet Engineerin ...
- C++实现一个web服务器, 弱智版服务器
监听本地的8888端口, 当在浏览器中访问这个地址的时候, 返回一堆HTML数据, 这种方式返回的数据不稳定,不同浏览器解析不同, 因为我们没有定义返回文件类型: #include <stdli ...
- 打通版微社区(3):在Web服务器上部署memcache For DZ3.2
写在前面:首先这个数据库加速程序的原理,是将数据库内容缓存到Web服务器的内存上,也就是内存换速度.我本次微社区的应用其实应该用不了这个,只是看到好多DZ论坛部署的都安装了这个,我就练手一下以便不时之 ...
- [Linux基础环境/软件]Linux下安装resin web服务器(涉及gcc、jdk环境部署)
由于Ubuntu自带是没有jdk和gcc编译器的,而安装resin需要C编译器和jdk的支持,而且resin本身是java写的.另外我本身的网站是zip打包的,所以linux也要安装了gcc.jdk. ...
- 攻城狮在路上(肆)How tomcat works(一) 简单的web服务器
该节总共三个类:Request\Response\HttpServer---user.dir 该节的目的是实现简单web服务器对静态文件的访问.需要对请求头.请求体的格式有所了解,不然就没有 ...
- (转)Linux整合apache和tomcat构建Web服务器
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://wenzhongxiang.blog.51cto.com/6370734/1285 ...
随机推荐
- dp-捡金币
来源:牛客网 题目描述 最近,奶牛们热衷于把金币包在面粉里,然后把它们烤成馅饼.第i块馅饼中含有Ni(1<=Ni<=25)块金币,并且,这个数字被醒目地标记在馅饼表面. 奶牛们把所有烤 ...
- mysql服务删除成功,依然存在
重启电脑, 这可能是缓存, mysqld remove 删除后,偶尔,mysql服务依然存在,重启电脑,解决,
- jmeter 并发控制
1.吞吐控制器以线程组的请求sampler为控制对象, 2.事务控制器: 3.同步定时器syn timer:对某线程组下任意的sampler任意位置作用为,有序控制单个sampler的并发先sampl ...
- 【网寻】IE F12 后报错,无法查看 DOM 等信息
错误图片: 解决办法 : 安装Windows7补丁:KB3008923: 补丁下载地址: http://www.microsoft.com/en-us/download/details.aspx?id ...
- k短路算法
k短路算法 求解k短路用到了A* 算法,A* ( A star )算法,又称启发式搜索算法,与之相对的,dfs与bfs都成为盲目型搜索:即为带有估价函数的优先队列BFS称为A*算法. 该算法的核心思想 ...
- android悬浮按钮(Floating action button)的两种实现方法
原文: http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1028/1857.html 最近android中有很多新的设计规范被引入 ...
- 使用 TestFight 构建 Beta 测试版本
---恢复内容开始--- Beta测试属于软件开发周期中的一环,测试的重点就是让一些活生生的人去使用你的App,不断测试然后反馈.你需要让你的测试成员发现尽可能多的bug,以便你在公开发布之前将其修复 ...
- 关于eclipse项目右键没有project facets的解决方法遇到的问题
[ 关于eclipse项目右键没有project facets的解决方法] [创建maven项目生成WebRoot目录,web.xml文件,以及修改编译路径classess的解决办法,以及解决找不到或 ...
- 什么是Device ID?
Android ID用于唯一识别一部设备的一次刷机行为,虽然不能完全确定该设备的唯一性(真的唯一性是用IMEI号的),但是可以很大程度上过滤重复设备.这是移动互联网广告行业的基础,尤其是CPI广告,设 ...
- error C2664: “FILE *fopen(const char *,const char *)”: 无法将参数 1 从“LPCTSTR”转换为“const char *”
遇到这个问题,请打开本项目的Properties(属性)-------> Configuration Properties(配置属性)-------->General(常规)------- ...