博文

【小技巧】一个判断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,原因我想大家应该是显然的。
......

阅读全文(2712) | 评论:0

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 );......

阅读全文(4167) | 评论:0

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提供......

阅读全文(5086) | 评论:1

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的内容为:......

阅读全文(3594) | 评论:0

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或其它用户正常登录;(有......

阅读全文(4518) | 评论:0

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

阅读全文(4011) | 评论:0