博文

jsp生成静态的html文件(2006-03-02 20:06:00)

摘要:为了减轻服务器压力,将原来的文章管理系统由JSP文件的从数据库中取数据显示改为由jsp生成静态html文件后直接访问html文件。下面是一个简单的示例 1.buildhtml.jsp <%@ page contentType="text/html; charset=gb2312" import="java.util.*,java.io.*"%>
<%
try{
String title="jsp生成静态html文件";
String content="小样,还搞不定你?";
String editer="hpsoft";
String filePath = "";
filePath = request.getRealPath("/")+"template.htm";
out.print(filePath);
String templateContent="";
FileInputStream fileinputstream = new FileInputStream(filePath);//读取模块文件
int lenght = fileinputstream.available();
byte bytes[] = new byte[lenght];
fileinputstream.read(bytes);
fileinputstream.close();
templateContent = new String(bytes);
out.print(templateContent);
templateContent=templateContent.replaceAll("###title###",title);
templateContent=templateContent.replaceAll("###content###",content);
templateContent=templateContent.replaceAll("###author###",editer);//替换掉模块中相应的地方
out.print(templateContent);
// 根据时间得文件名
Calendar calend......

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

用JDOM操作XML文件(2006-02-26 21:31:00)

摘要:Java + XML = JDOM ! 
这就是JDOM设计者的目标。如果你曾经使用过烦人的SAX或是DOM来处理XML,你就会知道为什么要有JDOM或者是JAXB。在今年(2002)的JavaOne会议上JDOM的主要创始人Jason Hunter有一篇精彩的演讲介绍了JDOM技术,题目就是JDOM Makes XML Easy。 
获得并安装JDOM 
在http://jdom.org可以下载JDOM的最新版本。以JDOM beta8的2进制版本为例。下载后解压缩,JDOM的jar文件就是build目录下的文件jdom.jar,将之加入类路径。另外JDOM还需要lib目录下那些jar文件如xerces.jar,jaxp.jar的支持。如果在使用中出现以下错误: 
java.lang.NoSuchMethodError 
或 
java.lang.NoClassDefFoundError: org/xml/sax/SAXNotRecognizedException 
你需要保证xerces.jar文件在CLASSPATH中位于其他XML类,如JAXP或Crimson之前,这些类文件,包括以前老版本的xerces,可能不支持SAX2.0或DOM Level 2。于是导致了上面的错误。 

一个简单的例子 
JDOM的处理方式有些类似于DOM,但它主要是用SAX实现的,你不必担心处理速度和内存的问题。另外,JDOM中几乎没有接口,的类全部是实实在在的类,没有类工厂类的。

下面是实例用的XML文件:

<?xml version="1.0" encoding="GBK"?>
<书库>
<书>
<书名>Java编程入门</书名>
<作者>张三</作者>
<出版社>电子出版社</出版社>
<价格>35......

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

JDOM处理XML快速上手(2006-02-23 22:58:00)

摘要:     最近的工作常常要和XML格式的文档或字符串打交道,发现用JDOM来做真是方便。可以实现XML应用程序的快速开发。     在 JDOM 中,XML 元素就是 Element 的实例,XML 属性就是 Attribute 的实例,XML 文档本身就是 Document 的实例。
    因为 JDOM 对象就是像 Document、Element 和 Attribute 这些类的直接实例,因此创建一个新 JDOM 对象就如在 Java 语言中使用 new 操作符一样容易。JDOM 的使用是直截了当的。
    JDOM 使用标准的 Java 编码模式。只要有可能,它使用 Java new 操作符而不故弄玄虚使用复杂的工厂化模式,使对象操作即便对于初学用户也很方便。
   
    本文分两步对JDOM的应用加以介绍:XML创建 和 XML解析
一、XML文档创建
    我们由零开始利用JDOM生成一个XML文档。最后的结果(样本文档)看起来象这样:
    <?xml version="1.0" encoding="UTF-8"?>
    <MyInfo comment="introduce myself">
        <name>kingwong</name>
        <sex value="male"/>
        <contact>
            <telephone>876543......

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

JDOM使用详解及实例&nbsp;(2006-02-23 22:42:00)

摘要:一、JDOM 简介 JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和DOM的功能有效地结合起来。 在使用设计上尽可能地隐藏原来使用XML过程中的复杂性。利用JDOM处理XML文档将是一件轻松、简单的事。 JDOM 在2000年的春天被Brett McLaughlin和Jason Hunter开发出来,以弥补DOM及SAX在实际应用当中的不足之处。 这些不足之处主要在于SAX没有文档修改、随机访问以及输出的功能,而对于DOM来说,JAVA程序员在使用时来用起来总觉得不太方便。 DOM的缺点主要是来自于由于Dom是一个接口定义语言(IDL),它的任务是在不同语言实现中的一个最低的通用标准,并不是为JAVA特别设计的。JDOM的最新版本为JDOM Beta 9。最近JDOM被收录到JSR-102内,这标志着JDOM成为了JAVA平台组成的一部分。 二、JDOM 包概览 JDOM是由以下几个包组成的
org.jdom                包含了所有的xml文档要素的java类 org.jdom.adapters         包含了与dom适配的java类 org.jdom.filter            包含了xml文档的过滤器类 org.jdom.input            包含了读取xml文档的类 org.jdom.output           包含了写入xml文档的类 org.jdom......

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

用JDOM处理XML文档(2006-02-22 22:50:00)

摘要:
用JDOM处理XML文档(转载)
关键词:Java、JDOM、XML、JAXB (一)JDOM的介绍以及与JAXB的比较 Java + XML = JDOM !
这就是JDOM设计者的目标。如果你曾经使用过烦人的SAX或是DOM来处理XML,你就会知道为什么要有JDOM或者是JAXB。在今年(2002)的JavaOne会议上JDOM的主要创始人Jason Hunter有一篇精彩的演讲介绍了JDOM技术,题目就是JDOM Makes XML Easy。
在那篇文档里,JDOM被拿来与DOM比较,而我更愿意拿它同JAXB比较。因为JAXB和JDOM都是为了在Java中提供比DOM和SAX更为方便的XML处理接口而开发的,并且通过完全不同的途径来解决这个问题。JDOM的处理方式是与DOM类似的树操作。而JAXB通过DTD和绑定模式来生成访问XML文档的Java代码,将XML映射成了Java对象来操作。你可以根据项目的需要和个人喜好来决定采用哪一个。
JDOM与JAXB的比较,从本身的特点来看:
1) JDOM比JAXB更容易上手。使用JAXB首先要会编写DTD,然后还要会编写绑定模式。JDOM没有这样的要求,如果你会Java和XML,甚至可以说光是看JDOM的javadoc文档就能够使用JDOM。
2) JAXB编写好DTD和绑定模式以后,XML文档被映射成了Java对象,其数据就是Java对象的属性,连数据类型都做好了转换,因此,访问XML文档比JDOM要简便,可以说是一劳永逸。
3) JAXB由某个DTD和绑定模式生成的代码只能访问该DTD所约束的文档。如果想要访问其他XML文档,需要再编写DTD和绑定模式。JDOM可以处理任何XML文档,包括受约束的和不受约束的。 目前JDOM和JAXB都没有正式版本。JDOM的最新版本是beta8,JAXB是1.0 early access,其规范版本是0.21。相对而言,JDOM更成熟一些。例如JAXB不支持名字空间、不能向XML文档写入处理指令,有时我们需要保留的换行符和首尾空格在JAXB中自动过滤掉了,就连放在里面也不能幸免。JDOM就没有这些限制。如果说以上的3点比较是JDOM和JAXB本身的特点所决定的,几乎不可能改变,那么这里表明,JAXB还......

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

与Java相关的四十个名字(2006-02-22 22:40:00)

摘要:与Java相关的四十个名字--十大产品 Sun JDK :Java的基石
文/莫映 众所周知,流传于市的JDK不单Sun一家,比如IBM的JDK、BEA的JRocket、GNU的GCJ,以及如Kaffe这样的开源实现,不一而足。但是,根正苗红的Sun官方JDK一直以来都是备受瞩目的主流,它对Java社区的影响也是举足轻重。
1996年1月,Sun在成立了JavaSoft部门之后,推出了JDK 1.0,这是Sun JDK(Java Development Kit)的首个正式版本;当年12月,JDK1.1出炉。该版除了对前序版本部分特性做了改进以外,重写了AWT,采用了新的事件模型。1998年12月,JDK 1.2正式发布。此时的类库日臻完善,API已从当初的200个类发展到了1600个类。在1.2版本中引入了用100%纯Java代码写就的Swing,同时,Sun将Java更名为Java 2。
1999年,Java 技术形成了J2SE、J2EE和J2ME三大格局。Sun向世人公布了Java HotSpot性能引擎技术的研究成果。HotSpot旨在进一步改善JVM性能,提高Java ByteCode的产生品质,加快Java应用程序的执行速度。J2SE 1.3发布于2000年;2002年2月间,J2SE 1.4问世,这是有JCP参与以来首个J2SE的发行版本。2004年9月30日,代号为“Tiger”的J2SE 5.0终于出笼了,这次发布被誉为Java平台历来发布中特性变动最大的一次。包括泛型在内的若干重大语法改进、元数据支持,包括多线程、JDBC在内的多项类库改进,都令广大Java程序员激动不已。自此,Sun的官方JDK(J2SE Development Kit)已经步入了一个新的高度。 与Java相关的四十个名字--十大事件 1990-1994:Java缘起
文/孟岩 Larry Wall说,优秀程序员应有的三个特点:懒惰、急躁和傲慢。Java就是诞生在一群懒惰、急躁而傲慢的程序天才之中。
1990年12月,Sun的工程师Patrick Naughton被当时糟糕的Sun C++工具折磨的快疯了。他大声抱怨,并威胁要离开Sun转投当时在Steve Jobs领导之下的NeXT公司。领导层为了留住他,给他一个机会,......

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

简析Java开发中的XML编程(2006-02-22 22:04:00)

摘要:  XML作为全球通用的结构化语言,越来越受人们青睐,各种开发平台(比如Microsoft Studio系列、Oracle系列、Inprise Borland系列等)也都把支持XML开发作为宣传口号之一 。由于笔者所从事的电子政务开发较早的引入了XML,所以尝到了许多甜头,在许多项目中利用XML数据交换信息,省去了许多麻烦事,不用制定繁锁的数据格式,利用XML数据易于表达,也利于一线开发者跟踪调试。 
  在XML应用中,最常用也最实用的莫过于XML文件的读写,所以笔者通过一个简单的XML文件读写来作简要分析。可以在任何文本编辑器中先建立如下结构的XML文件,类似于HTML结构,但XML语义比较严格,起始标记必须配对,比如"〈学生花名册〉"与"〈/学生花名册〉"对应,空格多少可不必在意,但一般都以缩格形式书写,便于阅读。把此文件命名为
Input.xml,可以在任何支持XML的浏览器中打开测试一下,如果输入正确,在浏览中可以看到此文件的树形表示结构。

<?xml version="1.0" encoding="GB2312"?> 
<学生花名册> 
 <学生 性别 = "男"> 
  <姓名>李华</姓名>  
  <年龄>14</年龄> 
  <电话>6287555</电话> 
 </学生> 
 <学生 性别 = "男"> 
  <姓名>张三</姓名> 
  <年龄>16</年龄> 
  <电话>8273425</电话> 
 </学生> 
</学生花名册> 
  准备工作做完后,接着就开始写实质性的JAVA代码了。为保存从XML文件读入的信息,需要先建一个简单的Bean来保存学生信息,命名为StudentBean,代码如下所示: 

public class StudentBean { 
 private String sex; //学生性别 
 private String name; //学生姓名 
 private int age; //学生年龄 
 private String phone; //电话号码 

 public void setSex(String s) { <......

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

JSP过滤器----朋友写的!(2006-02-20 22:21:00)

摘要:<%@ page contentType="text/html; charset=gb2312" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%
String temp=request.getParameter("id");
if(temp!=null)
{
byte bytes[]= temp.getBytes("iso-8859-1");
String str=new String(bytes,"gb2312");
pageContext.setAttribute("str",str);
request.setAttribute("str",str);
}
%>
 
<html>
<head>
<title>
jsp1
</title>
</head>
<body bgcolor="#ffffff">
<h1>
JBuilder Generated JSP
</h1>
<form method="post" action="jsp1.jsp">
<c:out value="${pageScope.str}"/>
<c:out value="${requestScope.str}"/>
</form>
</body>
</html>......

阅读全文(2989) | 评论:2

JDBC连接数据库经验技巧集萃(2006-02-14 14:56:00)

摘要:Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。然而各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。

  一、连接各种数据库方式速查表

  下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。

  1、Oracle8/8i/9i数据库(thin模式)

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
  2、DB2数据库

Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
  3、Sql Server7.0/2000数据库

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName......

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

用struts框架尝试国际化程序实现 (2006-01-31 23:25:00)

摘要:   struts是一个MVC框架,据说struts可以轻松实现国际化;于是根据网上的资料,做了一个尝试,因为第一次做多语言程序,还是拐了很多弯路;但所幸,经过不断的尝试,终于成功的实现多语言版本的简单页面;

因为程序非常简单,所以在整个尝试过程中,全部使用手工编码,没有使用任何辅助工具;

1、 建立服务器

我使用Tomcat4作为测试环境,建立过程(略);

2、 下载struts

可以到http://jakarta.apache.org/struts/index.html下载,下载后解压,把其中的.war文件拷贝到Tomcat的webapps目录下,启动Tomcat,如果http://localhost:8080/struts-example/ 运行没有问题,说明环境建立成功;这些.war文件在Tomcat启动后会自动展开成文件,里面有源代码,可以作为源码研究;

3、 建立工程

在webapps目录下建立一个international文件夹,再在international目录下建立WEB-INF文件夹和WEB-INF/classes文件夹,这些都是一个JSP工程必须的;

4、 加了struts的类

在WEB-INF目录下建立一个lib子目录,把struts-example\WEB-INF\lib目录下将所有.jar文件拷贝到该目录下;这些文件是struts的控制类库和标签类库等;

commons-beanutils.jar commons-collections.jar commons-digester.jar commons-fileupload.jar commons-lang.jar commons-logging.jar commons-validator.jar jakarta-oro.jar struts.jar

5、 加入struts标签定义文件

从struts-example\WEB-INF目录下,把.TLD文件拷贝到international的WEB-INF目......

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