JAVA网页设计Use Java to implement the UBB future...
通过视频学习比传统的大课堂学习更适合成人化的学习规律。有人说大课堂气氛好,学习氛围浓,热闹,可以认识很多人。ubbUBB&JAVA----UseJavatoimplementtheUBBfuture.
pizer.chen--iceant--陈鹏
iceant@21cn.com
77777369
Thesedays,Iwritesomepublishsystem,justlikeBBS/newsetc.
Theclientaskedme,whethertheycaninserttheimageandhrefurltotheplaintextwhentheypublishedthem.
soiwritethis.
IusexmlfilefordynamicUBBextends.
UcanmaketheUBBruleofyourself.
TheonlythingthatuneedtodoismodifytheUBB.xmlconfigfile.
BestRegards
===============
pizer.chen/2001-9-4
===========================
ResourceLink
===========================
Itisbasedonxml&RegularExpressionstech.
aboutxml®ularExpressionucanfindthemhere:
http://www.w3.org/XML/
http://xml.apache.org
http://www.meurrens.org/ip-Links/java/regex/navi.html
http://www.savarese.org/oro/
http://jakarta.apache.org/oro
aboutubbucanfindthemhere:
http://www.ubbdesign.com
========================
itused:
jakarta-regexp-1.2(downloadformhttp://jakarta.apache.org)
dom4j-0.6(over0.6version)(downloadformhttp://sourceforge.net)
jdk(over1.2version)(downloadformhttp://java.sun.com)
==========================
UBB.XML
itmustbestoredinCLASSPATH
==========================
theregularExpression&replacestringmapfile.
<!--============================-->
<?xmlversion="1.0"encoding="UTF-8"?>
<UBB-map>
<mapubb-code="(.+?)"map-to="<b>$1</b>"/><!--<b>$1</b>-->
<mapubb-code="(.+?)"map-to="<i>$1</i>"/><!--<i>$1</i>-->
<mapubb-code="(.+?)"map-to="<h1>$1</h1>"/><!--<h1>$1</h1>-->
<mapubb-code="(.+?)"map-to="<ahref="$1"target="_blank">$2</a>"/><!--<ahref="$1"target="_blank">$2</a>-->
<!--...-->
</UBB-map>
=========================
UBB.java
=========================
/*
*UBB.java
*
*Createdon2001年9月3日,下战书4:01
*/
packagecom.wacos.util.ubb;
importorg.dom4j.*;
importorg.dom4j.io.*;
importjava.io.*;
importjava.util.*;
importorg.apache.regexp.*;
/**
*
*@authorPizer.chen--iceant--陈鹏
*@version0.1
*/
publicclassUBB{
privatestaticfinalStringXML_CONFIG_FILE="UBB.xml";
privatestaticorg.dom4j.Documentdoc=null;
/**CreatesnewUBB*/
publicUBB(){
}
publicstaticStringparse(StringinStr){
try{
Listlist=getUBBCodeList();
StringubbCode="";
StringmapStr="";
Attributeattribute=null;
for(Iteratoriter=list.iterator();iter.hasNext();){
attribute=(Attribute)iter.next();
ubbCode=attribute.getValue();
mapStr=getMapValue(ubbCode);
inStr=REReplace.replace(ubbCode,mapStr,inStr);
}
returninStr;
}catch(Exceptionerr){
System.out.println(err);
returnerr.toString();
}
}
/**
*parsethexmlfiletoDocumentobject
**/
privatestaticDocumentxml2Document(){
try{
InputStreamis=Thread.currentThread().getContextClassLoader()
.getResourceAsStream(XML_CONFIG_FILE);
SAXReaderreader=newSAXReader();
Documentdocument=reader.read(is);
returndocument;
}catch(Exceptionerr){
System.out.println(err);
returnnull;
}
}
/**
*usexpathtogetthemap-tovalueoftheubb-code.
**/
privatestaticStringgetMapValue(StringubbCode){
try{
if(doc==null){
doc=xml2Document();
}
Nodenode=doc.selectSingleNode("//map[@ubb-code="+ubbCode+"]");
returnnode.valueOf("@map-to");
}catch(Exceptionerr){
System.out.println(err);
returnerr.toString();
}
}
/**
*getthe<mapubb-code="..."map-to="..">ubb-codeList
**/
privatestaticListgetUBBCodeList(){
try{
if(doc==null){
doc=xml2Document();
}
returndoc.selectNodes("//map/@ubb-code");
}catch(Exceptionerr){
System.out.println(err);
returnnull;
}
}
/**
*getthe<mapubb-code="..."map-to="..">map-toList
**/
privatestaticListgetUBBMapList(){
try{
if(doc==null){
doc=xml2Document();
}
returndoc.selectNodes("//map//@map-to");
}
catch(Exceptione){
System.out.println(e);
returnnull;
}
}
}
========================
REReplace.java
========================
packagecom.wacos.util.ubb;
importjava.io.*;
importjava.util.*;
importorg.apache.regexp.*;
publicclassREReplace
{
/**
*replacetheinStrwithpattern1&pattern2
**/
publicstaticStringreplace(Stringpattern1,Stringpattern2,StringinStr){
try{
REre=newRE(pattern1);
intpoint=0;
while(re.match(inStr)){
REre2=newRE("$()");
while(re2.match(pattern2)){
point=Integer.parseInt(re2.getParen(1));
pattern2=re2.subst(pattern2,re.getParen(point),RE.REPLACE_FIRSTONLY);
}
inStr=re.subst(inStr,pattern2);
}
returninStr;
}
catch(Exceptione){
System.out.println(e);
returne.toString();
}
}
}
=============================
UBBTest
=============================
packagecom.wacos.util.ubb;
publicclassUBBTest
{
publicstaticvoidmain(String[]args)
{
try{
Stringtest="atestH1Font
测试hehe..";
System.out.println(UBB.parse(test));
}catch(Exceptionerr){
System.out.println(err);
}
}
}
唉!都是钱闹的1.Swing和.net开发比较------从市场份额看.net开发主要占据大部分的中小型和中型的的桌面开发,原因是它封装了很多工具 是一种为 Internet发展的计算机语言 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 是一种为 Internet发展的计算机语言 Java 编程语言的风格十分接近C、C++语言。 是一种将安全性(Security)列为第一优先考虑的语言 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 是一种突破用户端机器环境和CPU 是一种使用者不需花费很多时间学习的语言 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
页:
[1]