使用Resin开发Java Web目Ӟ需要徏立自qWebApp。这里不介绍Resin Cmp/Ejb的开发和使用Q只介绍用Resin开发普通的jsp\java servlet目。在q里q要谈到resin.conf的配|。Resin中的应用可以?U方式发布:一是在Resin的目录下发布Q二是打包成War发布?/P>
1、在Resin的目录下发布
在resin.conf中查?lt;web-app>标签Q该标签表示一个web应用?/P>
标签中,id属性表C应用的Web路径。如<web-app id=?test?gt;Q表C应用在Web上访问的时候应该用http://hostname/test/来访问。app-dir属性表C应用的实际\径。如<app-dir>d:\resin\doc\test</app-dir>表示该应用在d:\resin\doc\test目录下面。默认gؓ根下面的和id同名的目录。Resin可以配置3Uerror-pageQ?04错误也就是文件找不到错误;Exceptionq例;不能q接java引擎c他们分别可以这样子讄?/P>
404文g找不到页
<web-app id='/app1'>
<error-page error-code='404' location='/file_not_found.jsp'/>
</web-app>
Exception q例?/I>
<web-app id='/foo'>
<error-page exception-type='java.lang.NullPointerException'
location='/nullpointer.jsp'/>
</web-app>
不能q接到srun Servlet引擎错误?/I>
该页讄和应用无养I属于服务器的讄?/P>
<http-server>
<error-page exception-type='connection'
location='/missing_file.html'/>
</http-server>
classpath的设|?/I>
参见下面的语句:
<classpath id='WEB-INF/classes' source='WEB-INF/src' compile='true'/>
id参数的DCclasspath中编译后的classpath的存放\径;source参数的DCclasspath中java源代码的存放路径Qcompile中的值可能是true或者falseQ表C是否由Resin的srun自动~译java源代码。Classpath的设|一般和javaBean或者Servlet的用有兟뀂id的DCjavaBean的编译好的包存放的根Qsource的DCjavaBean的java源代码存攄栏VServlet相同?/P>
Servlet的设|?/I>
参见下面的语句:
<servlet-mapping url-pattern='*.xtp' servlet-name='xtp'/>
<servlet-mapping url-pattern='*.jsp' servlet-name='jsp'/>
<servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/>
一般就是指定那些需要通过srun的解析。比如在q里Q把*.jspҎ(gu)*.jssQ其他不变,那么只要在访问时遇到*.jss的文件就和原来遇?.jsp一样处理。通过q个可以指定解析的引擎,如以下的配置Q?/P>
<servlet-mapping url-pattern='*.xtp' servlet-name='com.caucho.jsp.XtpServlet'/>
在Servlet中,也可以指定servlet。如
<servlet servlet-name='hello' servlet-class='test.HelloWorld'/>
<servlet-mapping url-pattern='/hello.html' servlet-name='hello'/>
在servlet-mapping中有个重要的参数case-sensitive 如果在windows上,最好配|成falseQ忽略大写Q从而和windows的约定一致?/P>
Session的配|?/I>
参见如下的配|语句:
<session-config>
<session-max>4096</session-max>
<session-timeout>30</session-timeout>
<enable-cookies>true</enable-cookies>
<enable-url-rewriting>true</enable-url-rewriting>
<file-store>WEB-INF/sessions</file-store>
</session-config>
session-max Q最?session数量
session-timeout Qsessionq期旉Q以分钟为单位?/P>
是否允许cookie Q指session是否采用cookies。如果采用cookiesQ浏览器必须支持session才能使用Q发布时Ҏ(gu)false。enable-url-rewriting和enable-cookies一般配合用。如果enable-cookies是falseQenable-url-rewriting应该设成true比较合适?/P>
file-store Q该配置指示服务器是否把session作ؓ文g存放在服务器上。如果把该项注释掉,则在你的web-app目录下的WEB-Inf/sessions目录不保存序列化后的session对象。Sessionq有jdbc-store配置Q对应着把session通过jdbc怹保存在数据库中。其实也是会话变量的序列化后的保存和重新蝲入的物理实现。在q里sessionq支持了多服务器的设|问题,
通过tcp-store参数讄。由于涉及到负蝲q的问题,在这里不详细叙述Q只单写一个例子:
<http-server>
<http id='a' port='80'/>
<srun id='a' host='host-a' port='6802'/>
<http id='b' port='80'/>
<srun id='b' host='host-b' port='6802'/>
<host id=''>
<web-app id=''>
<session-config>
<tcp-store/>
<always-load-session/>
</session-config>
</web-app>
</host>
</http-server>
q个例子表示session是按照tcp ring的方式传递?/P>
temp-dir 的设|?/I>
temp-dir指的是应用的临时目录。也是在javax.servlet.context.tempdir中用到的目录。模认是应用目录下的WEB-INF\tmp目录?/P>
以上的设|都可以?lt;web-app>标签对中讄Q控制某个web应用的设|?/P>
2、打包成War发布
以下是介l对如何在resin下用已l打包成War的java Web应用q行发布?/P>
其实q个是最单也是最清晰的良好方法。在j2ee中,所有的目都打包成ear发布。其中,Web应用打包成warQejb应用打包成jar。在resin中,q些都可以直接部|Ӏ这里我只对打包成war的Web应用的部|做介绍?/P>
在resin.conf中,查找q个Q?lt;war-dir id='webapps'/>。他表示war文g应该被拷贝的路径。这里指的是相对于resin的安装\径,如以上的讄表示d:\resin\webapps。只要重新启动Resin可以了。Resin会把该war自动解包到webapps目录下。你可以在command控制台或者stdout.log中看到类g
[2002-04-27 09:56:21.680] initializing application http://haitaiserver:8080/rwtest 的语句。这个表CWeb应用是自动安装的。只要这个应用是W合j2ee标准的Web应用Q应该不会有问题。通过如上昄的\径就可以讉K到这个应用。如果你到d:\resin\webapps\rwtest中浏览,你会看到Resin已经Z生成了rwtest目录Q下面是META-INF和WEB-INFq有你自qJSP\servlet 文g和目录。是完全W合j2ee的结构的。你可以在rwtest目录下徏立新的jsp\servletQ一样可以被~译和解析ƈq行的。在实际操作中,可以使用Jbuilder 或?WebSphere{Ide工具q行集成调试和打包,非常的方ѝ?/P>
使用Resinq行java Web目的开发和调试
q里幅有限Q不可能讲太多,我只对实际中最有用的部分做介绍?/P>
Resin中如果定义了错误,则出错后最常见的一大串Exception不会被看刎ͼ直接跌{到错误页。所以徏议开发中先不讄错误cjsp错误中最常见的就是Nullpoint ExceptionQ其ơ是名称的拼写错误。错误也可以在Resin安装目录下的log目录下的stderr.log中找到。通过对该log文g的分析可以看到很多有用的错误信息?/P>
在调试jsp的时候,如果定义了compile为trueQjsp先被译成Servlet的java文gQ再被编译成class文g。可以在你自qwork目录中找到该文g。java的名U在Resin中是q样子定义的Q原先的jsp文g名前加下划线Q再加上_jspq个字样。所以在java 应用中的命名不要以_jspl尾Q也不要出现中文名称{字W;其实名称以_jsp为开头也是不合法的?/P>
关于java对多国语a的支持问题,在Resin中得C很好的解冟뀂以jspZQ参考Resin自动生成的java Servlet文g。只要在M的jsp文g的最开始处增加Q?/P>
<%@page contentType="text/html;charset=gb2312" %>
中文问题p决了。察看生成的Servlet源文件片断:
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("GB2312");
以上|字W集
private static byte []_jsp_string26;
private static byte []_jsp_string27;
_jsp_string26 = "\r\n</table>\r\n<table class=\"type\">\r\n<tr>\r\n <td>".getBytes("GB2312");
_jsp_string27 = "\r\n</td><td>\r\n</tr>\r\n<!--\r\n<tr>\r\n<td>\r\".getBytes("GB2312");
以上是对面的显C的~码。其中,getBytes(“gb2312?是静态编码,q是ResinZ解决某些环境下还是不能正常显C设|的。在Resin的配|文?/conf/resin.conf)中,可以通过讄<jsp precompile='true' static-encoding='false' recompile-on-error='true'/>中的static-encoding属性ؓtrue或者falseQ来控制是否静态编码。其实在Resin容器的内部,所有的字符都是按照iso-8859-1来处理的。iso-8859-1是一个大字符集,虽然中文的gb2312?859在字的定义上有不同,但是~码是包容了gb2312的。按照解军_国语a的方法,在纯英文q_上用iso-8859-1处理内部~码Q而把字符的显C推向客L的机器。所以这样只要编码是正确的,
在页面上昄中文׃存在问题。Tomcat3.2不方便的地方是TomcatҎ(gu)据库的操作中文支持不好,需要手动在java Bean或者Servlet中硬~码。通过试Q在Resin中完全没有这个问题。Tomcat4.0解决了这个问题。不q个Z惯来讲还是觉得resin在配|方面方便一些?/P>
在Resin中可以自动解军_入的jar。这个在使用Ҏ(gu)的类或者第三方提供的开发包非常有用。方法非常简单:只要把该jar或者是zip拯到Resin安装目录下的lib目录下面Q重新启动ResinQ就可以了。如db2用到的db2java.zip文gQ只要轻松拷贝到d:\resin\lib中就可以了?/P>
Resin提供了对Jbuilder的集成调试。可以到Q?/P>
http://www.caucho.com/projects/jbuilder/resin-jbuilder.jar免费下蝲到resin的jbuilder的ide扩展包。然后,把该包该名成Qresin-jbuilder.jarQ拷贝到jbuilder6\lib\ext目录下。然后,把Resin2.1解包安装在jbuilder6\resin-2.1目录下,可以了。打开M的War目Q在project上点右键Q选择propertiesQ选择Servers标签。在原来的选择框上Q就可以看到多了一Resin2.1。这样子可以象原来用tomcat一栯试jsp\servlet了,而且比Tomcat更方ѝ见?Q?/P>
?
调试Ҏ(gu)和用Tomcat调试一栗?/P>
其他问题
使用Resin可以和apachel合使用。也是利用apache做http服务器,而Resin做srun服务器。可以参考resin\conf\samples目录下的apache.conf。主要就是把 app-dir 设成 /usr/local/apache/htdocsQ也是apache的rootQ。同时在apache 中的http.conf也做了相应的讄。Resinq提供了对该q程的自动安装程式,q行resin\bin\setupQ你可以在弹处的对话框中选择apacheQ这样子可以了。只要你曄安装qapacheQresin可以自己扑ֈhttpd.conf文g所在的路径?/P>
使用命o行方式启动ResinQ如果改动了Resin.confQResin会自己重新启动适应新的配置。这个很适合初期安装时用?/P>
ResinҎ(gu)据库~冲池的支持很好。在q里Q它提供了DBPool对缓冲池做了装。实际用时Q只要在resin.confq样配置Q?/P>
<dbpool.sql>
<id>ORCL</id>
<driver>oracle.jdbc.driver.OracleDriver</driver>
<url>jdbc:oracle:thin:@localhost:1521:SMTH</url>
<!-- <url>jdbc:oracle:oci8:@SMTH</url> -->
<user>scott</user>
<password>tiger</password>
<max-connections>5</max-connections>
</dbpool.sql>
然后Q在你的jsp或者servlet中就可以q样子用了Q?/P>
先导?com.caucho.sql.*包,然后如下直接得到q接Q?/P>
Connection conn = DBPool.getPool("ORCL").getConnection();
个h不要如上使用q接池,q是按照ejb的方法用从Context中直接找到的DataSource对象中得到连接通用性比较好。代码也很简单:
Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup(“jdbc/EmployeeDB?;
Connection conn = ds.getConnection();
在Resin中如下配|jdbc可以了Q?/P>
<resource-ref>
<res-ref-name> jdbc/EmployeeDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<init-param driver-name="com.caucho.jdbc.mysql.Driver"/>
<init-param url="jdbc:mysql_caucho://localhost:3306/test"/>
<init-param user="name"/>
<init-param password="password"/>
<init-param max-connections="20"/>
<init-param max-idle-time="30"/>
</resource-ref>
用Resin Web Server开发还是比较愉快的。只是没有像Weblogic 或者WebSphere那样子提供现成的理控制台而已。但是从E_性和方便性来ԌResin个h认ؓ比Tomcat要好很多。况且Resinq有提供了resin-cmp ?resin-ejbQ功能更强大?/P>
模式名称 |
启用Q禁?BR> | ~省启用 |
说明 |
UNIX_LINES |
(?d)启用Q??-d)用 |
?BR> | 启用Unix行模式?BR>在此模式下,只有 '\n'被认为是行结束符。它会媄?TT>., ^, ?$ 的行为?BR> |
CASE_INSENSITIVE |
(?i)启用Q??-i)用 |
?BR> | 启用忽略大小写模式?BR>~省Ӟ忽略大小写模式只会媄?ASCII字符的匹配?而Unicode范围的忽略大写匚w需要通过 UNICODE_CASE 标志与本标志联合使用?BR>启用此模式会影响匚w性能?BR> |
COMMENTS |
(?x)启用Q??-x)用 |
?BR> | 允许I格和注释出现在正则表达式中?BR>在此模式下,I格被忽略,?开始的单行注释被忽略? |
MULTILINE |
(?m)启用Q??-m)用 |
?BR> | 启用多行模式?BR>In multiline mode the expressions ^ and $ match just after or just before, respectively, a line terminator or the end of the input sequence. By default these expressions only match at the beginning and the end of the entire input sequence. |
DOTALL |
(?s)启用Q??-s)用 |
?BR> | ?可以匚w行结束符?BR>在此模式下,元字W?TT>.可以匚w行结束符。缺省不允许如此匚w?BR> |
UNICODE_CASE |
(?u)启用Q??-u)用 |
?BR> | Enables Unicode-aware case folding. When this flag is specified then case-insensitive matching, when enabled by the CASE_INSENSITIVE flag, is done in a manner consistent with the Unicode Standard. By default, case-insensitive matching assumes that only characters in the US-ASCII charset are being matched. 启用此模式会影响性能?BR> |
CANON_EQ |
(?c)启用Q??-c)用 |
?BR> | Enables canonical equivalence. When this flag is specified then two characters will be considered to match if, and only if, their full canonical decompositions match. The expression "a\u030A", for example, will match the string "?" when this flag is specified. By default, matching does not take canonical equivalence into account. 启用此模式会影响性能?BR> |
正则表达式字W串 |
匚w的字W串 |
X |
字符XQ包?CJK ExtB 区汉?BR> |
\\ |
反斜杠\ |
\0n | 八进?n代表的字W?0<=n<=7) |
\0nn |
八进?nn代表的字W?0<=n<=7) |
\0mnn |
八进?mnn代表的字W?0<=m<=3,0<=n<=7) |
\xhh |
十六q制 0xhh所代表的字W?BR> |
\uhhhh |
十六q制 0xhhhh所代表的字W?FONT color=#ff0000>注意Q目前尚不支持CJK ExtB区汉字?BR> |
\t |
制表W?'\u0009') |
\n |
换行('\u000A') |
\r |
回R('\u000D') |
\a |
响铃W?'\u0007') |
\e |
取消WEscape('\001B') |
\cx |
x所代表的控制字W?BR> |
正则表达式字W串 |
匚w的字W串 |
XY |
X后面跟随Y |
X|Y |
X或?I>Y |
(X) |
X作ؓ分组表达?BR> |
正则表达式字W串 |
匚w的字W串 |
\n |
W?B>n个匹配的分组 |
边界字符 |
匚w的字W串 |
^ |
行首 |
$ |
行末 |
\b | 字符边界 |
\B |
非字W边?BR> |
\A |
输入的开?BR> |
\G |
上次匚w的结束处 |
\Z |
输入的l束Q或者是最后一个行l束W,参见行结束符?BR> |
\z |
输入的l束 |
正则表达式字W串 |
匚w的字W串 |
X? |
X重复一ơ,或者不重复 |
X* |
X重复0ơ或多次 |
X+ |
X重复1ơ或多次 |
X{n} |
X重复nơ,不多也不?BR> |
X{n,} |
X臛_重复n?BR> |
X{n,m} |
X臛_重复nơ,臛_重复mơ?BR> |
正则表达式字W串子集 |
匚w的字W串 |
l合方式 |
[abc] |
字符a,b或cQ包?CJK ExtB 区汉?BR> | 单子?BR> |
[^abc] |
L非a,b或c的字W?BR> | 排除 |
[a-zA-Z] | 从a到zQ或者A到ZQ包含a,z,A,Z?BR> | 区间 |
[a-d[m-p]] |
从a到dQ或者m到pQ等于[a-dm-p]?BR> | 联合 |
[a-z&&[def]] |
d,e或者f?BR> | 交集 |
[a-z&&[^bc]] |
从a到zQ除了b和cQ等于[ad-z] |
扣除 |
[a-z&&[^m-p]] |
从a到zQƈ且不包括从m到pQ等于[a-lq-z] |
扣除 |
边界字符 |
匚w的字W串 |
. |
L字符Q可能匹配行l束W?BR> |
\d |
数字[0-9] |
\D | 非数字[^0-9] |
\s |
I白W[ \t\n\x0B\f\r] |
\S |
非空白符[^\s] |
\w |
单词W,包含有字母和数字[a-zA-Z_0-9] |
\W |
非单词符Q不包含有字母和数字?BR> |
正则表达式字W串 |
匚w的字W串 |
名称 |
块名Uͼ\p{InXXX}Q?BR> | 化通配W?BR> | 标准Unicode块,或者汉字列?BR> |
L双字节字W(汉字或全角符P |
\p{InQuqnJiao} |
\E |
L由GBK表示的汉字,不包括GB18030扩展部分Q?BR>以及CJK ExtB区的汉字?BR> |
L单字节字W?BR> | \p{InFQuanJiao} |
\~E |
L单字节字W?BR> |
L全角ASCII字符 |
\p{InQJAscii} |
\H |
标准HalfwidthandFullwidthForms?BR> |
L收录在BIG5码集中的双字节字W?BR> | \p{InBig5} |
\I |
Big5可编码双字节字符 |
匚w未收录在BIG5码集中的双字节字W?/TD> | \p{InFBig5} |
\~I |
非Big5可编码双字节字符 |
匚wL汉字(不包括符? |
\p{InHanziOrCJKExtB} |
\X |
L汉字Q包括GB18030扩展部分?BR> |
匚wL汉字(不包括符? |
\p{InHanzi} |
\M |
L汉字Q不包括GB18030扩展部分?BR> |
匚w非汉字的双字节字W?BR> | \p{InFHanzi} |
\~M |
L非汉字的双字节字W, 包括GB18030扩展部分?BR> |
地支字符 |
\p{InDiZhi} |
\U |
子丑寅卯辰埩午未申酉戌亥 |
匚w收录在GB码集中的双字节字W?BR> | \p{InGB} |
\g |
收录在GB码集中的双字节字W, 不包括GB18030扩展部分?BR> |
匚w非收录在GB码集中的双字节字W?BR> | \p{InFGB} |
\~g |
未收录在GB码集中的双字节字W, 不包括GB18030扩展部分?BR> |
匚w收录在GBK码集中的双字节字W?BR> | \p{InGBK} |
\h |
收录在GBK码集中的双字节字W, 不包括GB18030扩展部分?BR> |
匚w非收录在GBK码集中的双字节字W?BR> | \p{InFGBK} |
\~h |
未收录在GBK码集中的双字节字W, 不包括GB18030扩展部分?BR> |
大写希腊字母 |
\p{InDaXila} |
\K |
ΑΒΓΔΕΖΗΘΙΚΛΜΝ ΞΟΠΡΣf`ΦΨΩ |
日文片假?BR> | \p{InPianJia} |
\j |
标准Katakana?BR> |
日文q_?BR> | \p{InPingJia} |
\J |
标准Hiragana?BR> |
写希腊字母 |
\p{InXiaoXila} |
\k |
βδεζηθικλμ^ ξοπρστυφχψω |
数学W号 |
\p{InMathe} |
\m |
u×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒?BR>∫∮≡≌≈∽∝≠≮≯≤≥∞∵?BR> |
中文数字 |
\p{InCnDigit} |
\i |
〇一二三四五六七八九(ji)十百千万亿兆吉京 |
大写中文数字 |
\p{InDaCnDigit} |
\N |
零壹贰叁肆伍陆柒捌玖拾䘪仟萬亿兆吉京 |
全角标点W号 |
\p{InQJBiaoDian} |
\o |
、。·ˉˇ¨〃々—~‖…‘’“”〔?BR>〈〉《》「」『』〖〗【】!Q'Q)Q?BR>Q.Q;Q=Q?Q]{|}`H﹊H﹌H﹎H﹐H﹒H﹕H﹗H﹚ H﹜H﹞|︶|ؓ|﹀|DH﹂H﹄ |Ӈ|P|x|?BR> |
写俄文字母 |
\p{InXiaoEWen} |
\l |
аб{Cеёжзийaxмн о\рстуфхцчшщъыьэюя |
大写俄文字母 |
\p{InDaEWen} |
\R |
АБВГДЕЁЖЗИЙКЛМНО ПРСТУФ[ЦЧШЩЪЫЬfy |
中文序号 |
\p{InCnSN} |
\q |
ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ ⅰⅱ⅜yⅴⅵⅶⅷⅸⅹ 再加上Unicode标准EnclosedAlphanumerics?BR> |
天干字符 |
\p{InTianGan} |
\T |
甲乙丙丁戊己庚辛壬癸 |
竖排标点W号 |
\p{InSPBiaoDian} |
\V |
|︶|ؓ|﹀|DH﹂H﹄|Ӈ|P|x|?BR> |
拼音字符 |
\p{InPinyin} |
\y |
ā֙ǎàēéě؈īTǐìōQǒòūúǔùǖǘǚǜü^ɑńň GBK -> 0xA8A1- 0xA8C0 只是Unicode标准LatinExtended-A块的一部分?BR> |
注音字符 |
\p{InZhuyin} |
\Y |
标准Bopomofo?BR> |
制表字符 |
\p{InZhiBiao} |
\C |
标准BoxDrawing块?BR>l检查发?textpro 的算法含有部分非?BR>准Unicode制表W:“∟∣≒≦≧⊎앐”?BR> |
正则表达式字W串 |
匚w的字W串 |
\p{Lower} |
写字母[a-z] |
\p{Upper} |
大写字母[A-Z] |
\p{ASCII} |
所有的ASCII字符[\x00-\x7F] |
\p{Alpha} |
大小写字母[\p{Lower}\p{Upper}] |
\p{Digit} |
数字[0-9] |
\p{Alnum} |
字母数字W,包含大小写字母和数字[\p{Alpha}\p{Digit}] |
\p{Punct} |
标点W号Q?"#$%&'()*+,-./:;<=>?@[\]^_`{|}~之一?BR> |
\p{Graph} |
可显C字W[\p{Alnum}\p{Punct}] |
\p{Print} |
可打印字W[\p{Graph}] |
\p{Blank} |
I格或者制表符[ \t] |
\p{Cntrl} |
控制字符[\x00-\x1F\x7F |
\p{XDigit} |
十六q制数字[0-9a-fA-F] |
\p{Space} |
I白W[ \t\n\x0B\f\r] |
?BR> | 中文名称Q摘自Word XPQ?BR> | 代码区域 |
BasicLatin |
基本拉丁?BR> | \u0000-\u007F |
Latin-1Supplement |
拉丁?1 |
\u0080-\u00FF |
LatinExtended-A |
拉丁语扩?A |
\u0100-\u017F |
LatinExtended-Bound |
拉丁语扩?B |
\u0180-\u024F |
IPAExtensions |
国际x扩充 |
\u0250-\u02AF |
SpacingModifierLetters |
q格的修饰字W?BR> | \u02B0-\u02FF |
CombiningDiacriticalMarks |
l合用发音符 |
\u0300-\u036F |
Greek |
基本希腊?BR> | \u0370-\u03FF |
Cyrillic |
襉K语 |
\u0400-\u04FF |
Armenian |
\u0530-\u058F | |
Hebrew |
\u0590-\u05FF | |
Arabic |
\u0600-\u06FF | |
Syriac |
\u0700-\u074F | |
Thaana |
\u0780-\u07BF | |
Devanagari |
\u0900-\u097F | |
Bengali |
\u0980-\u09FF | |
Gurmukhi |
\u0A00-\u0A7F | |
Gujarati |
\u0A80-\u0AFF | |
Oriya |
\u0B00-\u0B7F | |
Tamil |
\u0B80-\u0BFF | |
Telugu |
\u0C00-\u0C7F | |
Kannada |
\u0C80-\u0CFF | |
Malayalam |
\u0D00-\u0D7F | |
Sinhala |
\u0D800-\uDFF | |
Thai |
\u0E00-\u0E7F | |
Lao |
\u0E80-\u0EFF | |
Tibetan |
藏语 |
\u0F00-\u0FFF |
Myanmar |
\u1000-\u109F | |
Georgian |
\u10A0-\u10FF | |
HangulJamo |
\u1100-\u11FF | |
Ethiopic |
\u1200-\u137F | |
Cherokee |
\u13A0-\u13FF | |
UnifiedCanadianAboriginalSyllabics |
\u1400-\u167F | |
Ogham |
\u1680-\u169F | |
Runic |
\u16A0-\u16FF | |
Khmer |
\u1780-\u17FF | |
Mongolian |
蒙古?BR> | \u1800-\u18AF |
LatinExtendedAdditional |
\u1E00-\u1EFF | |
GreekExtended |
\u1F00-\u1FFF | |
GeneralPunctuation |
q义标点 |
\u2000-\u206F |
SuperscriptsandSubscripts |
\u2070-\u209F | |
CurrencySymbols |
货币W号 |
\u20A0-\u20CF |
CombiningMarksforSymbols |
\u20D0-\u20FF | |
LetterlikeSymbols |
cM字母的符?BR> | \u2100-\u214F |
NumberForms |
数字形式 |
\u2150-\u218F |
Arrows |
头 |
\u2190-\u21FF |
MathematicalOperators |
数学q算W?BR> | \u2200-\u22FF |
MiscellaneousTechnical |
零杂技术用W号 |
\u2300-\u23FF |
ControlPictures |
\u2400-\u243F | |
OpticalCharacterRecognition |
\u2440-\u245F | |
EnclosedAlphanumerics |
带括L字母数字 |
\u2460-\u24FF |
BoxDrawing |
制表W?BR> | \u2500-\u257F |
BlockElements |
方块囑Ş |
\u2580-\u259F |
GeometricShapes |
几何囑Ş |
\u25A0-\u25FF |
MiscellaneousSymbols |
零杂丁贝W(C意W等Q?BR> | \u2600-\u26FF |
Dingbats |
\u2700-\u27BF | |
BraillePatterns |
\u2800-\u28FF | |
CJKRadicalsSupplement |
\u2E80-\u2EFF | |
KangxiRadicals |
\u2F00-\u2FDF | |
IdeographicDescriptionCharacters |
\u2FF0-\u2FFF | |
CJKSymbolsandPunctuation |
CJKW号和标?BR> | \u3000-\u303F |
Hiragana |
q_?BR> | \u3040-\u309F |
Katakana |
片假?BR> | \u30A0-\u30FF |
Bopomofo |
注音 |
\u3100-\u312F |
HangulCompatibilityJamo |
\u3130-\u318F | |
Kanbun |
\u3190-\u319F | |
BopomofoExtended |
扩展注音 |
\u31A0-\u31BF |
EnclosedCJKLettersandMonths |
带括LCJK字母及月?BR> | \u3200-\u32FF |
CJKCompatibility |
CJK兼容字符 |
\u3300-\u33FF |
CJKUnifiedIdeographsExtensionA |
CJKl一汉字扩展-A |
\u3400-\u4dBF |
CJKUnifiedIdeographs |
CJKl一汉字 |
\u4E00-\u9fAF |
YiSyllables |
\uA000-\uA48F | |
YiRadicals |
\uA490-\uA4CF | |
HangulSyllables |
\uAC00-\uD7A3 | |
HighSurrogates |
\uD800-\uDB7F | |
HighPrivateUseSurrogates |
\uDB80-\uDBFF | |
LowSurrogates |
\uDC00-\uDFFF | |
PrivateUse |
专用?BR> | \uE000-\uF8FF |
CJKCompatibilityIdeographs |
CJK兼容汉字 |
\uF900-\uFAFF |
AlphabeticPresentationForms |
\uFB00-\uFB4F | |
ArabicPresentationForms-A |
\uFB50-\uFDFF | |
CombiningHalfMarks |
\uFE20-\uFE2F | |
CJKCompatibilityForms |
CJK兼容形式 |
\uFE30-\uFE4F |
SmallFormVariants |
写变体 |
\uFE50-\uFE6F |
ArabicPresentationForms-Bound |
\uFE70-\ufeFF | |
Specials |
\uFFF0-\uFFFF | |
HalfwidthandFullwidthForms |
半Ş及全形字W?BR> | \uFF00-\uFFEF |
分类 |
全称 |
说明 |
Cn |
UNASSIGNED | |
Lu |
UPPERCASE_LETTER | |
Ll |
LOWERCASE_LETTER | |
Lt |
TITLECASE_LETTER | |
Lm |
MODIFIER_LETTER | |
Lo |
OTHER_LETTER | |
Mn |
NON_SPACING_MARK | |
Me |
ENCLOSING_MARK | |
Mc |
COMBINING_SPACING_MARK | |
Nd |
DECIMAL_DIGIT_NUMBER | |
Nl |
LETTER_NUMBER | |
No |
OTHER_NUMBER | |
Zs |
SPACE_SEPARATOR | |
Zl |
LINE_SEPARATOR | |
Zp |
PARAGRAPH_SEPARATOR | |
Cc |
CNTRL | |
Cf |
FORMAT | |
Co |
PRIVATE_USE | |
Cs |
SURROGATE | |
Pd |
DASH_PUNCTUATION | |
Ps |
START_PUNCTUATION | |
Pe |
END_PUNCTUATION | |
Pc |
CONNECTOR_PUNCTUATION | |
Po |
OTHER_PUNCTUATION | |
Sm |
MATH_SYMBOL | |
Sc |
CURRENCY_SYMBOL | |
Sk |
MODIFIER_SYMBOL | |
So |
OTHER_SYMBOL | |
L |
LETTER | |
M |
MARK | |
N |
NUMBER | |
Z |
SEPARATOR | |
C |
CONTROL | |
P |
PUNCTUATION | |
S |
SYMBOL | |
LD |
LETTER_OR_DIGIT | |
L1 |
Latin-1 | |
all |
ALL | |
ASCII |
ASCII | |
Alnum |
字母数字(0-9,a-z,A-Z) | |
Alpha |
字母(a-z,A-Z) | |
Blank |
I格和制表符(' '|\t) | |
Cntrl |
控制字符Q不可打?BR> | |
Digit |
数字(0-9) | |
Graph |
可打C可视字母Q例如空? '是可打印的但不是可视字母Q?`a' 两者都是。) | |
Lower |
写字母 | |
Print |
可打印字母(非控制字W) | |
Punct |
标符P字母、数字、控制、空白符以外的字母)Q如Q?@#$%}{<>,./?[]{等?BR> | |
Space |
I白W?' ',\t,0x09,0x0A,0x0B,0x0C,0x0D,0x20) | |
Upper |
大写字母 | |
XDigit |
十六q制数字(0-9Qa-f, A-F) |
Ҏ(gu)字符介绍 |
描述 |
\n |
换行 |
\b |
向前删除一个字W。当q个字符位于替换串之首时Q将删除匚w串之前的一个字W。若匚w串位于行首,匚w串所在行与前一行相合ƈ?BR> |
\d |
向后删除一个字W。当q个字符位于替换串之末时Q将删除匚w串之后的一个字W。若匚w串位于行末,匚w串所在行与下一行相合ƈ?BR> |
\e |
插入一个ESC字符 |
\t |
插入一个TAB字符 |
\n |
n代表查找正则表达式中的子表达式(l)。\1代表W一个子表达式,\2代表W二个子表达式,依次cL。\0代表整个匚w到的字符丌Ӏ?BR> |
\v |
大写下一个字?BR> |
\U |
全部大写以后的字母,直到到其它指示Wؓ止?BR> |
\l |
写下一个字?BR> |
\L |
全部写以后的字母,直到到其它指示Wؓ止?BR> |
\E |
取消所有的字母大小写指C符?BR> |
eclipseME
http://eclipseme.org/updates/
Eclipse加速插件KeepResident
http://suif.stanford.edu/pub/keepresident/
MyEclipse J2EE开发插Ӟ支持SERVLET/JSP/EJB/数据库操U늭
www.myeclipseide.com
Properties Editor ~辑java的属性文Ӟq可以自动存盘ؓUnicode格式
http://propedit.sourceforge.jp/index_en.html
http://propedit.sourceforge.jp/eclipse/updates/
Colorer Take Z癄cd的文件按语法着?BR>http://colorer.sourceforge.net/
XMLBuddy ~辑xml文g
www.xmlbuddy.com
Code Folding 加入多种代码折叠功能Q比eclipse自带的更多)
http://www.coffee-bytes.com/servlet/PlatformSupport
Easy Explorer 从eclipse中访问选定文g、目录所在的文g?BR>http://easystruts.sourceforge.net/
Fat Jar 打包插gQ可以方便的完成各种打包dQ可以包含外部的包等
http://fjep.sourceforge.net/
RegEx Test 试正则表达?BR>http://brosinski.com/stephan/archives/000028.php
JasperAssistant 报表插gQ强Q要qQ?BR>http://www.jasperassistant.com/
Jigloo GUI Builder QAQӞ的GQテ~辑插g
http://cloudgarden.com/jigloo/
Profiler 性能跟踪、测量工P能跟t、测量Q程?BR>http://sourceforge.net/projects/eclipsecolorer/
AdvanQas 提供对if/else{条件语句的提示和快捷帮助(自动更改l构{)
http://eclipsecolorer.sourceforge.net/advanqas/index.html
Log4E Log4j插gQ提供各U和Log4j相关的Q务,如ؓҎ(gu)、类d一个logger{?BR>http://log4e.jayefem.de/index.php/Main_Page
VSSPlugin VSS插g
http://sourceforge.net/projects/vssplugin
Implementors 提供跌{C个方法的实现c,而不是接中的功能Q实?Q?BR>http://eclipse-tools.sourceforge.net/implementors/
Call Hierarchy 昄一个方法的调用层次Q被哪些Ҏ(gu)调,调了哪些Ҏ(gu)Q?BR>http://eclipse-tools.sourceforge.net/call-hierarchy/index.html
EclipseTidy 查和格式化HTML/XML文g
http://eclipsetidy.sourceforge.net/
Checkclipse 查代码的风格、写法是否符合规?BR>http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm
Hibernate Synchronizer Hibernate插gQ自动映等
http://www.binamics.com/hibernatesync/
spring updatesite 插g
http://springide.org/updatesite/
VeloEclipse Velocity插g
http://propsorter.sourceforge.net/
EditorList 方便的列出所有打开的Editor
http://editorlist.sourceforge.net/
MemoryManager 内存占用率的监视
http://cloudgarden.com/memorymanager/
Eclipse的游戏插?BR>http://eclipse-games.sourceforge.net/
JBoss-IDE
http://jboss.sourceforge.net/jbosside/updates/
自动反编译classQ安装后要设定class文g~省兌到jode
http://www.technoetic.com/eclipse/update
jigloo swing/sw设计工具Q里面自带的form/anchor布局很好用!
http://cloudgarden.soft-gems.net/update-site/
jinto的资源文件编辑工P同时~辑多种语言Q而且自动转换成iso8859-1~码。很好用Q?BR>http://www.guh-software.de/eclipse/