??xml version="1.0" encoding="utf-8" standalone="yes"?> 今天想了一下,W一个要解决的问题就是上传一个Excel文gQ上传文件的lg到挺多的Q网上一搜,有一大堆教程Q但是现在ƈ不是要上传一个文件到服务器以作存储之用,而是要上传一个文件到内存里,以Java的数据结构存储v来,q检查,把合乎要求的数据写到数据库里。所以在|上的一大堆上传文g的组件ƈ不合用。于是又惌己写Q思\是从客L那里获取一个InputStreamQ然后就对这个InputStream做一pd的检查。代码如下: l果的出d是如下(输出东西写到面Q: Ҏ(gu)有用Q这个也正是我的文g里面的内容,其它的都是关于这些form的其它信息。对我这个程序是没有用的。如果这里写下去的话Q还要我d析那些是数据Q哪些是form的参数。好Q到现在为止Q我已经打消了自己写的念头了。我惻I那些lg都可以把上传文g装得那么好Q能不能利用那些库,抽出文g的IO,让我操作? buffalo.switchPart('body',url,false);如果url中包含汉字,是采用GBK~码的。在不改变tomcat的配|文件的情况下,在目标页面里获得url参数的正方法是 注意Q如果这里用utf-8作ؓ~码的{换的话,会出Cؕ码?/p> 如果是post的话Q可以通过讄filter的方法来解决?/p> 如果是get或者是链接的话,以前是通过讄tomcat的配|文件server.xml来解决的Q但q样不好Qƈ不是所有的目Q我们都可以修改到服务器的tomcat的配|文件。具体代码如下: q是觉得老方法管用,只是有点ȝ:
恩,Betty写的需求真有意思,考虑的问题很周全Q是一个很厉害的项目经理。如果从输入q里解决了字W是否是半角的,那么Q以后的情况容易解军_多了。恩Q网上搜了一下资料,查了一下书Q得Z以下代码Q?br />
String s1 = "123";
String s2 = "ab?/span>";
String s3 = "123ab?/span>";
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
for (int i = 0; i < s1.length(); i++) {
int j = s1.charAt(i);
if (j > 256) {
int temp = j - 65248;
if (temp >= 0) {
System.out.print((char)j+"-->:" + (char) temp);
} else {
System.out.print((char) j);
}
} else {
System.out.print((char) j);
}
}
System.out.println();
for (int i = 0; i < s2.length(); i++) {
int j = s2.charAt(i);
if (j > 256) {
int temp = j - 65248;
if (temp >= 0) {
System.out.print((char)j+"-->:" + (char) temp);
} else {
System.out.print((char) j);
}
} else {
System.out.print ((char) j);
}
}
System.out.println();
for (int i = 0; i < s3.length(); i++) {
int j = s3.charAt(i);
if (j > 256) {
int temp = j - 65248;
if (temp >= 0) {
System.out.print((char)j+"-->:" + (char) temp);
} else {
System.out.print((char) j);
}
} else {
System.out.print((char) j);
}
}
System.out.println();
}
?/span>-->a?/span>-->b?/span>--c
123?/span>-->a?/span>-->b?/span>--c
]]>ServletInputStream sis = request.getInputStream();
InputStreamReader isr = new InputStreamReader(sis);
int ch;
while((ch = isr.read()) != -1 ) {
out.println((char)ch);
}
System.out.flush();
-----------------------------7d7ea23120550
Content-Disposition: form-data; name="file1";
filename="C:\Documents and Settings\Administrator\桌面\test.txt"
Content-Type: text/plain
my name is Rokey.QԌkey。我的名字叫Rokey.
-----------------------------7d7ea23120550 Content-Disposition: form-data;
name="Submit" 上传 -----------------------------7d7ea23120550--
my name is Rokey.QԌkey。我的名字叫Rokey.
]]> 1: String name = new String(request.getParameter("name").getBytes(
2: "ISO8859-1"), "GBK");
1: Connector port="8080" maxHttpHeaderSize="8192"
2: maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
3: enableLookups="false" redirectPort="8443" acceptCount="100"
4: connectionTimeout="20000" disableUploadTimeout="true" uRIEncoding="gbk"/>
1: String id=new String(request.getParameter("id").getBytes("ISO8859-1"),"UTF-8");
2: String name = new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");
]]>
]]>
1QSpring支持包:spring.jar , commons-logging.jar
2: JUnit支持包: JUnit.jar
建立Beanc,
1: package refBeanDemo;
2:
3: import java.util.Date;
4:
5: public class HelloBean {
6: private String helloWorld;
7: private Date date;
8: public Date getDate() {
9: return date;
10: }
11: public void setDate(Date date) {
12: this.date = date;
13: }
14: public String getHelloWorld() {
15: return helloWorld;
16: }
17: public void setHelloWorld(String helloWorld) {
18: this.helloWorld = helloWorld;
19: }
20:
21: }
建立配置文gQ和在里面进行注?/p>
1: <?xml version="1.0" encoding="UTF-8"?>
2: <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "../resources/spring-beans-2.0.dtd" >
3: <beans>
4: <bean id="dateBean" class="java.util.Date"></bean>
5:
6: <bean id="helloBean" class="refBeanDemo.HelloBean">
7: <property name="helloWorld">
8: <value>你好Q世?span style="color: #0000ff"></value>
9: </property>
10: <property name="date" ref="dateBean"></property>
11: </bean>
12: </beans>
写JUnitq行试Q方便管理,把JUnit的东东放到test包里?/p>
1: package refBeanDemo;
2:
3: import org.springframework.context.ApplicationContext;
4: import org.springframework.context.support.ClassPathXmlApplicationContext;
5:
6: import junit.framework.TestCase;
7:
8: public class TestRefBeanDemo extends TestCase {
9: private ApplicationContext context;
10:
11: public void setUp() {
12: context = new ClassPathXmlApplicationContext("refBeanDemo/NewFile.xml");
13: }
14:
15: public void testSpring() {
16: HelloBean helloBean = (HelloBean)context.getBean("helloBean");
17: System.out.println(helloBean.getDate());
18: assertEquals("你好Q世?, helloBean.getHelloWorld());
19:
20: }
21: }
q行JUnit试
试成功。类的分布如下:
自渎文g
Exceclsior JET for windows
v4.5
请先阅读?
* 大致览
-JET 优化
-JET q行
-安装工具?br>*pȝ需?
*快速开?
*界面工具
-Excelsior JET Launcher
-JET 控制面板
-jetPackII
-JET 安装
-开发者资?
*大概
Excelsior JET 是一套完全ؓ了优化运行的工具?是用java~程语言写的可配|和可运行的E序.
Excelsior JET 产品包括?JET优化E序,是一个完全的 java SE 5.0 的运行和安装E序工具?
JET 优化E序能够你?class格式或者jar格式的文件{化成 开发者的x86(IA-32)的机器码.q样,
(zhn)就能够得到windows或者Linux的运行效果极好的原生代码.
另外,产生的原生代码具有高度的反编译和反修改能?
JETq行E序包括了sun公司的java2 API的许可ƈ同时提供了所有java的特?例如垃圾回收机制(garbage colletion).
JET 优化E序和运行程序保证在java标准版本5.0(j2sdk 5.0)下正常运?
如果你想要把你的应用E序分发l一定数量的用户,你可以用安装工具包来准备一个包括已l优化过的程序和一个JET Excelsior的运行引?(zhn)的客户可以简单地安装q个包就可以开始用?zhn)的程?一些多余的软g的安?例如JRE,不是最l客Lpȝ的必?
JET 优化E序
------------
JET优化E序会在E序开始运行之前把java?class文g?jar文g转换成开发者系l的高效的本C?直接q行在硬件上.
优化E序使用了很多很普遍使用在传lC/C++和FORTRAN~译器里的优化技?Z解决java的执行效率问?JET优化E序是注入用了内嵌虚拟Ҏ(gu),安全可移除普遍存在的同步和栈里分配对象的优雅?state-of-the art)优化来做出来?
你可以在JET的控刉板上来用优化E序,一个图形界面的向导?Z你更快地建立(zhn)的目文g和{换你的程序ؓ高效的可执行E序(请参考下?囑Ş界面工具"的环?
JETq行旉(runtime不知道是不是q样译)
--------------------------------------
JETq行环境是一个彻底的java虚拟?但有一点特?它包括了一个即时编译器(JIT)来装载和q行标准的java字节码文?和其他虚拟机的关键的分别是JETq行环境可以同时工作在java的字节码文g和JET优化E序产生的原生文?例如,一个JET~译的程?.exe)可以装蝲?jar形式的文件ؓjava插gE序.
如果你用的E序是用插件的,装蝲它们回耗费一些时?Z减少q些旉,你可以在JETq行旉里打开你的JIT~存.q样一?用JIT~译器生的原生代码׃保留在JIT的缓存力q会在后来的E序启动旉C?Ʋ知详情,请参考JET用户指南?混合~译模块"("mixed compilation model").
包装E序?br>---------
Z提供快速的包装E序,Excelsior JET包括了包装程?JetPackII),也是一个图形向?通过?你可以准备一个包括你的优化的javaE序和一个JET的运行时?
基本的部|程序都是尽量简单的.q个产生的包,例如,一个本w包括了目录,能复制到目标pȝ.一个在没有解压环境都能点击p行的pȝ.你可以简单的整合q些包ؓM一个安装程?NSIS和InstallShield或其?.
包装E序能直接生一个自解压的安装程?也就是说,用它产生的安装程?既可以是无h值的安装,也可以是GUI界面的安?
在GUI模式?安装E序会通过安装q程处理允许用户来指定诸如目文g?快捷?开始菜单等{的安装讄.你也可以把安装界面设|成一个飞出的H口,用户协议和把安装E序昄?徯,法语,俄罗斯语或者日本语,看你的喜好和pȝ的当地设|?Ʋ知详情,请参考JET用户指南?开发自动设|?("Deployment automation" ).
h你的回执提交到java@excelsior-usa.com.
pȝ要求
操作pȝ:
windows版本的Excelsior JET 4.5已经在以下系l通过了JCK(Java SE compliance)的测?
Windows 2000 Professional,
Windows 2000 Server,
Windows 2003 Server,
Windows XP Professional
CPU: Intel Pentium III?00MHZ同等U或更高
内存: 384或以?
盘I间: 420MB以上
------------------------------------------------------------------------------------------
详细清单在以下网址:
http://www.excelsior-usa.com/jetsysreq.html
Getting start with Derby
version 10.2
来自http://db.apache.org/derby
译by wonderer http://www.aygfsteel.com/wonderer
内容
版权收有
Derby的介l?br>部v选项
pȝ要求
Derby的库
安装q且用Derby来工?br>安装Derby
讄你的环境变量
使用Derby工具和启动系列工?br>使用工具 sysinfo
q行 ij
讄c\?classpath)
有经验的JDBC用户的快速指?br>Derby能运行的环境
嵌入式的环境
客户/服务端的环境
能用的驱动器
数据库连接URL
文档协定
术语
SQL语法
技术协?
Derby的库和脚?全部参考目?br>Derby提供的库
不是由Derby提供的库
Derby已有的脚?
商标
版权所?br>我翻译技术文?q个׃译? ^<>^
Derby的介l?br>Ƣ迎来到Derby的世?Derby是一个基于Java(TM)和SQL的关pL据库理pȝ(RDBMS),q一部分是介l?Derby?
部v选项
你可以用很多不同的方法来部vDerby
你部|的选项包括:
-单用户嵌入式的java应用E序.因ؓ不需要管理ƈ同时可以工作跟应用程序工作在同一个虚拟机 ?Derby对于最l用户可以说是几乎透明?
-多用L嵌入式程?例如|络服务?一个应用程序服务器,或一个共享的开攄?
-服务器框架的嵌入?你可以用|络客户端驱动器或者服务端驱动?以用网l服?
pȝ要求
Derby是一个完全用java开发的数据库引?它可以运行在L一个Java虚拟机里(JVM).
Derby的库
Derby的库包括了Derby指南和API参?br>Derby开发者指?br>描述了DerbyҎ(gu)有部|的共同的功能和特征,例如Derby的JDBC和SQL的细?部vDerby应用E序,安全, 和其他高U特?
Derby参考指?br>指明了Derby是集成了SQL语言?同时也提供了Derby的JDBC和JTA执行,关键?pȝ?属?和SQL异常 的参考信?
调较Derby
介绍了怎样通过属性来配置和调较Derby,q提供了属性的参考信?同时也提供了性能提示,一个性能?深入讨论,一个Derby最优化的信?
Derby工具指南
一个用derby工具(例如ij,和其他一些如import/export更高U的工具,和数据库c装载器)来工作的?
Derby服务器和理指南
q个指南的第一部分讨论了配|服务器,怎样来编客户端程?和数据库的管?
另外,一些系l可能需要例如备份数据库q样的管?q些d依赖于一些服务器框架,但也是单独的?用户的大型系l?
指南的第二部分讨Z如备份和调试死锁的管理问?
Derby API 文档
有所有Derby公开cL件自动?(没有提供JDBC的API). 如果要更详细的信?请参考Derby参考指?
安装q且用Derby来工?br>如果你是一个Derby和JDBC的新?q一部分会帮助你使用q个产品.如果你是一个有l验的JDBCE序? L有经验的JDBC用户的快速指?
安装Derby
要安装Derby,你必d从Derby的网站下载Derby的zip或者tar?
用你的浏览器输入以下|址http://db.apache.org/derby/derby_downloads.html q个下蝲面提供了若q个Derby的发行版?包括了版本快照和E_版本二进制发行版?你也可以扑ֈ教你用subversion来获得最新源码的信息.
发行版本?
--二进制发行版包括了代?CZE序和文?已经优化了的jar文档在lib目录?br>--lib发行版本包括了优化程?部vDerby的最jar的集?
--lib-debug发行版本包括了调试Derby和报告问题的有用的最大集?
--src发行版本包括了要来生上面三个发行版的源文g.
q个指南假定你会下蝲二进制发行版?
解压下蝲的包,之后有以下几个子目录:
--demo包括了示例程?br>--bin包括了运行和讄环境的代?br>--javadoc包括了有源代码生产的aip文档
--doc包括了Derby文档
--lib包括了Derby的jar文g
讄你的环境变量