博文
在Servlet与JSP中取得当前文件所在的相对路径与绝对路径(2006-02-25 16:06:00)
摘要:<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.io.*" %>
<%
//在Servlet与JSP中取得当前文件所在的相对路径与绝对路径
//JSP中
out.println("根目录所对应的绝对路径:" + request.getRequestURI() + "<br/>");
String strPathFile = application.getRealPath(request.getRequestURI());
out.println("文件的绝对路径:" + strPathFile+ "<br/>");
out.println(application.getRealPath(request.getRequestURI()));
String strDirPath = new File(application.getRealPath(request.getRequestURI())).getParent();
out.println("目录的绝对路径:" + strDirPath + "<br/>");
%>
//Servlet中
//JSP中的application对象就是Servlet中的ServerContext,所以在Servlet中是如此获得
......
【小技巧】一个判断session是否过期的小技巧(2006-02-25 16:04:00)
摘要:前一段时间有好几个问题,提到怎么判断session是否过期。
接触jspo已经很久了,但是还真没有想过这个问题,当时也就没有找到一个满意的答案给人家。
当时,我提到一个方法,就是实现HttpSessionListener接口,然后在sessionDestroyed()方法中执行一些操作,表示session要过期了,因为这个方法是session.invalidate()之前监听器调用的方法。这个判断的方法显然不能让人满意。
我当时问了些人,但是也没有得到一个准确的答案。
正好偶然间看到,request.getSeesion(boolean)方法,一下子让我恍然大悟。这个方法里面传了一个boolean值,这个值如果是true,那么如果当前的request的session不可用,那么就创建新的会话,如果存在就返回当前的会话。如果参数是false,那么在request的当前会话不存在的时候就返回null。
这样我们就可以很容易的联想到这个所谓的request的当前会话是否存在和session过期的联系,所以我们就可以“近似地”认为session不存在就是session过期了,那么我们就可以很容易地判断session是否过期了。方法如下:
if(request.getSession(false)==null)
System.out.println("Session has been invalidated!");
else
System.out.println("Session is active!");
可能大家注意到我上面有一个“近似地”字眼,也就是说存在特别情况。
这个特殊情况就是第一次请求还没有创建会话的时候,那么用这个方法返回的仍然是null,原因我想大家应该是显然的。
......
JSP中如何比较时间(2006-02-25 15:56:00)
摘要:提问:
我有两个字符型变量
String a="09:10:00"
String b="08:05:40"
我想将其转化成时间型,进行比较大小
如何办?
回答:
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
Date date1 = sdf.parse("09:10:00");
Date date2 = sdf.parse("08:05:40");
System.out.println(date1);
System.out.println(date2);
boolean isAfter = date1.after(date2);
System.out.println( isAfter );......
把ASP编写成DLL组件(2006-02-25 15:44:00)
摘要:服务器端组件
首先,服务器端的组件要有别于客户端的组件.客户端的组件是通过网络传输,依靠HTML来起作用.而且只能在IE上有用.但是服务器端的组件是运行在服务器端,它在服务器上执行各种操作.因此,所有的浏览器都能享用,它依靠的是服务器而不是浏览器.
当IIS被请求执行一个ASP程序,它首先会在ASP文件中找到 <% %>标签之间的代码,并且执行它(也可以是<script runat=server></script>之间的代码).如果这个ASP程序在先前被调用过,那么它就会用内存中的编译过的程序来向用户返回HTML代码,如果没有,那么它就重新编译.这里ASP就比CGI多一点速度优势,因为CGI是每一个请求都使用一个线程.这样就大大消耗了服务器的资源.
想不想你写的程序自己就能在IIS运行!?!现在你就行了!使用VB5(当然现在是VB6了),你就能建立Dynamic Linked Libraries (DLL 文件),它能在IIS上直接运行(如果有asp文件来请求的话).
系统和软件的要求
你需要一个32位的操作系统来运行ASP.当然你也得安装IIS或PWS.我们下面的程序是在windows95+PWS+VB5的环境下开发的.
我们开始吧
启动你的VB,选择ActiveX图标.这个图标可以在新建工程找到!VB会提供一个默认的工程名(project1)和类名(class1).我们会将这两个名字都改掉.在改名之前,请首先确认我们拥有Microsoft Active Server Pages Object Library,它在我们的程序非常有用.从菜单中选择"工程",然后在其中选择"引用",就会出现"引用"窗口
从中选择Microsoft Active Server Pages Object Library.
给工程和类命名
现在我们来根据自己的爱好来为project1和class1来命名吧!给它们命名也是很重要的,我们以后会用这个工程名和类名来创建这个组件的实例!后面详细介绍.
如何改名,我就不想多说了!
我们的工程名改为Exmaple,类名为Helloword
怎样使用工程和类
现在我们......
Java中的打印服务(2006-02-25 15:42:00)
摘要:1 .前言
在我们的实际工作中,经常需要实现打印功能。但由于历史原因,Java提供的打印功能一直都比较弱。实际上最初的jdk根本不支持打印,直到jdk1.1才引入了很轻量的打印支持。所以,在以前用Java/Applet/JSP/Servlet设计的程序中,较复杂的打印都是通过调用ActiveX/OCX控件或者VB/VC程序来实现的,非常麻烦。实际上,SUN公司也一直致力于Java打印功能的完善,而Java2平台则终于有了一个健壮的打印模式的开端,该打印模式与Java2D图形包充分结合成一体。更令人鼓舞的是,新发布的jdk1.4则提供了一套完整的"Java 打印服务 API" (Java Print Service API),它对已有的打印功能是积极的补充。利用它,我们可以实现大部分实际应用需求,包括打印文字、图形、文件及打印预览等等。本文将通过一个具体的程序实例来说明如何设计Java打印程序以实现这些功能,并对不同版本的实现方法进行分析比较。希望大家能从中获取一些有益的提示。
2 .Java中的打印
2.1 Java的打印API
Java的打印API主要存在于java.awt.print包中。而jdk1.4新增的类则主要存在于javax.print包及其相应的子包javax.print.event和javax.print.attribute中。其中javax.print包中主要包含打印服务的相关类,而javax.print.event则包含打印事件的相关定义,javax.print.attribute则包括打印服务的可用属性列表等。
2.2 如何实现打印
要产生一个打印,至少需要考虑两条:
需要一个打印服务对象。这可通过三种方式实现:在jdk1.4之前的版本,必须要实现java.awt.print.Printable接口或通过Toolkit.getDefaultToolkit().getPrintJob来获取打印服务对象;在jdk1.4中则还可以通过javax.print.PrintSerivceLookup来查找定位一个打印服务对象。
需要开始一个打印工作。这也有几种实现方法:在jdk1.4之前可以通过java.awt.print.PrintJob(jdk1.1提供......
在B/S开发中经常用到的javaScript技术(2006-02-25 15:35:00)
摘要:在B/S开发中经常用到的javaScript技术
一、验证类
1、数字验证内
1.1 整数
/^(-|+)?d+$/ 不可以为空
/^[-+]?d*$/ 可以为空
1.2 大于0的整数 (用于传来的ID的验证)
/^d+$/
1.3 负整数的验证
/^-d+$/
1.4 整数不能大于iMax
根据上面的正则可以写出。
1.5 整数不能小于iMin
根据上面的正则可以写出。
2、时间类
2.1 短时间,形如 (13:04:06)
代码内容
function isTime(str)
{
var a = str.match(/^(d{1,2})(:)?(d{1,2})(d{1,2})$/);
if (a == null) {alert(’输入的参数不是时间格式’); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert("时间格式不对");
return false
}
return true;
}
2.2 短日期,形如 (2003-12-05)
代码内容
function strDateTime(str)
{
var r = str.match(/^(d{1,4})(-|/)(d{1,2})(d{1,2})$/);
if(r==null)return false;
var d= new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
2.3 长时间,形如 (2003-12-05 13:04:06)
代码内容
function strDateTime(str)
{
var reg = /^(d{1,4})(-|/)(d{1,2})(d{1,2}) (d{1,2}):(......
javascript40种网页常用小技巧(2006-02-25 15:33:00)
摘要:1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="return false;" oncut="return false;" 防止复制
5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址栏前换成自己的图标
6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夹中显示出你的图标
7. <input style="ime-mode:disabled"> 关闭输入法
8. 永远都会带着框架
代码内容
<script language="JavaScript"><!--
if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页
// --></script>
9. 防止被人frame
代码内容
<SCRIPT LANGUAGE=JAVASCRIPT><!--
if (top.location != self.location)top.location=self.location;
//......
win2000下jsp平台搭建的简单过程(2006-02-25 15:28:00)
摘要:现在我将jsp平台搭建的过程。
我采用的是windows2000 professional+JDK+TOMCAT
JSP平台的搭建:
1、JDK下载和安装:
第一步:进入SUN公司JAVA的JDK 1.4版本免费安装程序,下载主页地址:
http://java.sun.com/j2se/1.4/download.html
单击download,进入下载协议,选择接受协议。
第二步:JDK安装程序:我安装的是:
j2sdk-1_3_1_07-windows-i586.exe
第三步:安装jdk的目录,我设为d:\jdk
2、TOMCAT下载和安装:
第一步:登陆 http://jakarta-sun.com
第二步:下载tomcat程序。
我安装的是:jakarta-tomcat-4.1.18.exe
第三步:在安装tomcat时,要选择custom形式
第四步:安装tomcat时,目录设为d:\tomcat
3、在安装完jdk和tomcat后,要设置“控制面板”中的系统特性中的环境变量:
增加变量CLASSPATH,它里面的内容为:
c:\jdk\lib\tools.jar;c:\tomcat\common\lib\servlet.jar
增加变量JAVA_HOME,内容为:(这个参数只有操作系统是windows 2000时设置,如果是windows 98时,则不用)
c:\jdk
增加PATH的内容为:......
SQL Server 2000 JDBC驱动的完整安装及测试说明(2006-02-25 15:27:00)
摘要:一、下载SQLSERVER2000的jdbc驱动程序。
在微软站点就有这个驱动程序:
Window操作系统
http://www.uncj.com/upload/files/ms_jdbc_setup.exe
http://download.microsoft.com/download/
3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/setup.exe
Unix操作系统 Mssqlserver.tar
http://download.microsoft.com/download/
3/0/f/30ff65d3-a84b-4b8a-a570-27366b2271d8/mssqlserver.tar
二、安装JDBC
执行ms_jdbc_setup.exe可执行文件,一切只需要点击下一步,至到出现finish按钮,完成安装。
注:
(1) ms_JDBC_setup默认安装路径为:
c:\Program Files\Microsoft SQL Server 2000 Driver for JDBC
(2)此版(Version 2.2.0022)本仅支持Microsoft SQL Server 2000 Driver for JDBC
(3)安装目录\lib\下的三个jar文件即是我们要的JDBC驱动核心
msbase.jar
mssqlserver.jar
msutil.jar
三、将以上(3)中指的三个jar文件加入到环境变量中去
classpath:
d:\webserver\lib\msbase.jar;
d:\webserver\lib\mssqlserver.jar;d:\webserver\lib\msutil.jar
注:也可以省事的将以上三个文件拷贝至你的jvm机所在的JAVA_HOME\jre\lib\ext目录下,不过不建议这么做。
四、测试
jsp文件:
您的第一个字段内容为:
您的第二个字段内容为:
五、注意事项
1. 要保证你的Sql服务是启动状态
2. 在Sql 的管理器中能够使用sa或其它用户正常登录;(有......
JSP连接SQL Server 2000系统配置(2006-02-25 15:21:00)
摘要:第一步:----安装J2SDK:
到SUN官方站点(http://java.sun.com)下载J2SDK的安装文件:j2sdk-1_4_2_04-windows-i586-p.exe,下载之后安装好J2SDK;安装完之后,设置环境变量:我的电脑---属性---高级---环境变量;
选择---系统变量(S):
设置JAVA_HOME环境变量:
单击---新建,在变量名中输入:JAVA_HOME
在变量值中输入:D:\Java
(假设J2SDK安装在目录D:\Java下,反正就是J2SDK的安装目录。)
然后---确定,到此已经设置好JAVA_HOME环境变量。
设置CLASSPATH环境变量:
单击---新建,在变量名中输入:CLASSPATH
在变量值中输入:D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;D:\Java\lib\tools.jar
(中间的点号“.”和分号“;”必不可少。)
然后---确定,到此已经设置好CLASSPATH环境变量。
设置PATH环境变量:
单击---新建,在变量名中输入:PATH
在变量值中输入:D:\Java;.;D:\Java\bin
(中间的点号“.”和分号“;”必不可少。)
然后---确定,到此已经设置好JAVA_HOME环境变量。
三个环境变量设置好后,写一个简单的java程序来测试J2SDK是否已安装成功:
在D:\下新建一个目录test;然后写如下程序:
public class Test {
public static void main(String args[]) {
System.out.println("This is a test program.");
}
}
将上面的这段程序保存为文件名为Test.java的文件,保存在目录D:\test下。
然后打开命令提示符窗口,cd到你的test目录,然后键入下面的命令
javac Test.java
java Test
此时如果看到打印出来This is a te......