1)最近做上传文件时遇到了讨厌的乱码问题!
现象是上传纯文本文件,显示没有问题,但是word文档中有图表就会出现乱码!
原因,是由于我用了clob字段来保存文档!
2)在下载时遇到中文文件名乱码.解决方法是把文件名重新编码!
response.setHeader("Content-disposition", "attachment;filename=\"" +new String(bszn.getFileFileName().getBytes("gb2312"),"iso8859-1")+"\"");
mysql 的blob字段只有64k,要有大点的文件要用longBlob
posted @
2007-01-30 23:12 sunny 阅读(203) |
评论 (0) |
编辑 收藏
#include<iostream>//快速排序不新建临时数组
using namespace std;
void swap(int &a,int &b){
if(&a==&b)
return;
a=a^b;
b=a^b;
a=a^b;
}
void quick(int *a,int n)
{
if(n<=1)
return ;
swap(*a,a[n>>1]);
int*lp=a+1;
int*rp=a+n-1;
while(rp-lp>=0)
{
if(*lp>*a)
{
if(*rp<*a){
swap(*lp++,*rp--);
}
else
--rp;
}
else
++lp;
}
swap(*a,*rp);
int left=rp-a;
quick(a,left);
quick(a+left+1,n-left-1) ;
}
int main(){
int a[5]={0 ,5, 9, 8, 7 };
int b[10]={2,5,9,6,3,1,4,7,1 ,5 };
quick(b,10);
for(int i=0;i<10;i++)
cout<<b[i]<<' ';
cout<<endl;
char ch;
cin>>ch;
return 0;
}
posted @
2007-01-25 22:51 sunny 阅读(233) |
评论 (0) |
编辑 收藏
#include<iostream>//一个快速排序的例子
using namespace std;
void swap(int &a,int &b){
a=a^b;
b=a^b;
a=a^b;
}
void quick(int *a,int n){
if(n<=1)
return;
swap(*a,a[n>1]);//把中间的数作为分组的标准,并把它换到数组首
int *p=new int[n];
int*lp=p;
int*rp=p+n-1;
int*pt=a+1;
int pivot=*a;
for(int i=1;i<n;i++)//把数据 考到临时数组
{
if(*pt>pivot)
*rp--=*pt++;
else
*lp++=*pt++;
}
*lp=pivot;
pt=a;
lp=p;
for(int i=0;i<n;i++)//把数据考回来
*pt++=*lp++;
delete[] p;
int left=rp-p;//计算左边部分的元素个数
quick(a,left);
quick(a+left+1,n-left-1);
}
int main(){
int a[11]={5,456,3219,416,4,64,31,987,1987,98731,9841};
quick(a,11);
for(int i=0;i<11;i++)
cout<<a[i]<<' ';
cout<<endl;
char t;
cin>>t;
return 0;
}
posted @
2007-01-24 22:16 sunny 阅读(874) |
评论 (0) |
编辑 收藏
#include<iostream>
using namespace std;
typedef int T;
class Node{
T data;
Node *next;
public:
Node(T t):data(t),next(NULL){}
friend class List;
};
class List{
Node * head;
int len;
public:
List(int len=0):len(len),head(NULL){}
~List(){clear();}
Node* & getp( int pos );
void insert( T d, int pos=0 );//插入
int size();
bool empty();
void travel();//遍历
void clear();
int find( T d );//查找
bool update( T d1, T d2 );//更新
bool erase( T d );//删除
T getHead();
T getTail();
void reverse();
};
void List::insert(T d,int pos){
Node *p=new Node(d);
Node *&pn=getp(pos);
p->next=pn;
pn=p;
++len;
}
Node*& List::getp(int pos){//返回一个引用而不是一个复制的数据
if(pos<0||pos>len)
pos=len;
if(pos==0)
return head;
Node*p=head;
for(int i=0;i<pos-1;i++)
p=p->next;
return p->next;
}
int List::size(){
return len;
}
bool List::empty(){
return head==NULL;
}
void List::clear(){
while(head!=NULL){
Node *p =head->next;
delete head;
head=p;
}
len=0 ;
}
void List::travel(){
Node*p=head;
while(p!=NULL){
cout<<p->data<<' ';
p=p->next;
}
cout<<endl;
}
int List::find( T d ){
Node*p=head;
int pos=0;
while(p!=NULL){
if(d==p->data)
return pos;
p=p->next;
++pos;
}
return -1;
}
bool List::update( T d1, T d2 ){
int t=find(d1);
if(t==-1)
return false;
Node*&p=getp(t);
p->data=d2;
return true;
}
bool List:: erase(T d){
int t=find(d);
if(t==-1)
return false;
Node*&pn=getp(t);
Node*p=pn;
pn=pn->next;
delete p;
--len;
return true;
}
void List:: reverse(){
Node *ph=head;
Node *p=NULL;
head=NULL;
while(ph!=NULL){
p=ph;
ph=ph->next;
p->next=head;
head=p;
}
}
T List::getHead(){
if(empty())
return T();
return head->data;
}
T List::getTail(){
if(empty())
return T();
return getp(len-1)->data;
}
int main(){
List obj;
obj.reverse();
obj.travel();
obj.insert(1,-1);
obj.insert(2,-1);
obj.insert(3,-1);
obj.insert(4,-1);
obj.insert(5);
obj.insert(6);
obj.insert(7);
obj.insert(8);
obj.insert(60,6);
obj.insert(40,4);
obj.insert(20,2);
obj.travel();
obj.reverse();
obj.travel();
cout<<obj.find(60)<<endl;
obj.update(20,600);
obj.travel();
obj.erase(600);
obj.travel();
cout<<obj.getHead()<<' '<<obj.getTail()<<endl;
int t;
cin>>t;
return 0;
}
posted @
2007-01-23 21:59 sunny 阅读(177) |
评论 (0) |
编辑 收藏
import jxl.Workbook;
import jxl.Sheet;
import java.io.*;
import java.nio.Buffer;
/**
* Created by IntelliJ IDEA.
* User: sunny
* Date: 2006-9-27
* Time: 15:25:39
* To change this template use File | Settings | File Templates.
*/
public class a {
public static void main(String args[]) {
StringBuffer buffer = new StringBuffer();
try {
FileWriter out = new FileWriter("C:\\Documents and Settings\\sunny\\桌面\\kd.txt");
Workbook workbook = Workbook.getWorkbook(new File("C:\\Documents and Settings\\sunny\\桌面\\kd.xls"));
Sheet sheet = workbook.getSheet("kd");
int r = sheet.getRows();
int c = sheet.getColumns();
buffer.append("numleng=").append(r).append("&");
for (int i = 0; i < r; i++) {
for (int j = 0; j < c; j++) {
buffer = buffer.append("n").append(i).append("=").append(sheet.getCell(j, i).getContents()).append("&");
// System.out.print(sheet.getCell(j, i).getContents());
}
}
out.write(buffer.toString());
workbook.close();
} catch (Exception e) {
System.out.println(e);
}
{
}
}
}
posted @
2006-09-27 17:51 sunny 阅读(137) |
评论 (0) |
编辑 收藏
终于搞出来了把它写下来备份一下!我用的是apache_2.0.59-win32-x86-no_ssl(1).msi 和 resin3.0.18
先把resin3.0.18 下的mod_caucho.dll考到apache的modules下再把下面一段考到httpd.conf的后面就ok了
LoadModule caucho_module modules/mod_caucho.dll
ResinConfigServer localhost 6802
CauchoStatus yes
<LocationMatch "/WEB-INF/">
AllowOverride None
deny from all
</LocationMatch>
<LocationMatch "/META-INF/">
AllowOverride None
deny from all
</LocationMatch>
<IfModule mod_caucho.c>
ResinConfigServer localhost 6802
<Location /caucho-status>
SetHandler caucho-status
</Location>
</IfModule>
AddHandler caucho-request .action .jsp
<Location /servlet/*>
SetHandler caucho-request
</Location>
这跟apache 的版本有关如果在2.2apache就会报错!
posted @
2006-09-06 17:23 sunny 阅读(191) |
评论 (0) |
编辑 收藏
前几天在写代码的时又遇到一个页面不能显示一个list的错误!
现象:后台可以打出log(list.size())。但是页面上用c 标签显示时,提示类型错误。用ww标签可以输出 循 环,但是具体的property显示不出来!
原因:原来是在用Hibernate 的createMysqlQuery()时没有加上addEntity().也就是hibernate 返回的是一个object 的list。而我在页面上是把这个list ,当作具体的对象的list操作的!所以才出现了这样的错误!
启发:在与数据库打交道时要注意把object转换成具体的class!要尽量用hibernate的hql,这样可以减少类型转换问题。要尽量用面向对象的思想来考虑问题!
posted @
2006-07-19 17:37 sunny 阅读(113) |
评论 (0) |
编辑 收藏
div.compadmin2 {
top: 172px;
left: 316px;
position: absolute;
border-bottom: #939395 solid 0px;
border-left: #939395 solid 0px;
border-right: #939395 solid 0px;
border-top: #939395 solid 0px;
width: 541px;
height: 466px;
padding: 5px;
overflow: auto;
}
posted @
2006-07-14 11:07 sunny 阅读(136) |
评论 (0) |
编辑 收藏