posts - 41, comments - 15, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

手工建库后出现ORA-06553:PLS-213:Standard包不可访问 问题,在网上查下了资料解决了!

ORACLE数据库,在一次意外操作中,使得ORACLE数据库出现故障,提示:ORA-06553:PLS-213:Standard包不可访问。一般都是由于操作不当引起的,如:删除某一用户权限、删除某一数据等等。下面把我总结出来的处理经验公布如下:

另外说几点:网上很多人的博客虽然也有说明此问题的解决方法,但都比较专业,没有一些操作经验的根本看不懂,也不知道如何操作,往往使读者更糊涂。

首先,本文测试平台:windows 2003,oracle 9i

我们的目标:执行catalog.sql和catproc.sql重建数据字典。

1.点击左下角的“开始”--运行 输入 sqlplus /nolog

2.使用“超级管理员”(sys)的账户和密码 进入你的系统,命令如下:

sql > connect sys/你的密码@你的数据库 as sysdba

如果提示正确登录,则已经成功一半了。如果没有成功登录,则参考是否忘记密码,忘记密码的补救不在本文的范围,涉及到的请自行参考资料。

3. SQL>@D:\oracle\ora90\rdbms\admin\catalog.sql

4. SQL>@D:\oracle\ora90\rdbms\admin\CATPROC.SQL

5. SQL>@D:\oracle\ora90\rdbms\admin\DBMSSUTIL.SQL

6. SQL>ALTER PACKAGE STANDARD COMPILE;

7. SQL>ALTER PACKAGE DBMS_STANDARD COMPILE;

8. SQL>SHUTDOWN ABOUT;

9. SQL>STARTUP;

参考:(一般不用,如果恢复成功。)

@ORACLE_BASE\ORACLE_HOME\rdbms\admin\utlrp.sql

posted @ 2013-09-09 18:29 yuhaibo736 阅读(974) | 评论 (0)编辑 收藏

webservice的原理及概念

1 webservice

所谓webservice就是定义了一套标准的调用过程:

a 服务器首先用一套标准的方法向外界描述它所提供的服务的内容,就属于WSDL

b 客户端需要以一种标准的协议来调用此服务,这属于SOAP.

c 服务提供者将服务内容放在一个公共的网址让大家查询,就属于UDDI.

2 命名空间

命名空间其主要目的通过加一个命名属性,使名称保持唯一性。WSDL有大量的使用命名空间的地方。本质上WSDL是一个XML文件,作为一个XML文件,为了区别同名的元素,就需要采用命名空间的概念。

3 WSDL的本质:服务内容的标准化描述

WSDL的全称是web service Description Language,是一种基于XML格式的关于web服务的描述语言。其主要目的在于web service的提供者将自己的web服务的所有相关内容,如所提供的服务的传输方式,服务方法接口,接口参数,服务路径等,生成相应的完全文档,发布给使用者。使用者可以通过这个WSDL文档,创建相应的SOAP请求消息,通过HTTP传递给webservice提供者;web服务在完成服务请求后,将SOAP返回消息传回请求者,服务请求者再根据WSDL文档将SOAP返回消息解析成自己能够理解的内容。

4 SOAP的本质:标准的传输协议

SOAP是web service的标准通信协议,SOAP为simple object access protocoll的缩写,简单对象访问协议. 它是一种标准化的传输消息的XML消息格式。

5 UDDI的本质:服务的公共网址

将web service进行UDDI注册发布,UDDI是一种创建注册表服务的规范,以便大家将自己的web service进行注册发布供使用者查找.然而当服务提供者想将自己的web service向全世界公布,以便外部找到其服务时,那么服务提供者可以将自己的web service注册到相应的UDDI商用注册网站,目前全球有IBM等4家UDDI商用注册网站。因为WSDL文件中已经给定了web service的地址URI,外部可以直接通过WSDL提供的URI进行相应的web service调用。所以UDDI并不是一个必需的web service组件,服务方完全可以不进行UDDI的注册。

posted @ 2013-04-23 11:17 yuhaibo736 阅读(248) | 评论 (0)编辑 收藏

java处理word已经存在很多种方法了,但是用起来都不是那么方便,而且不太灵活,而使用xml的方法可以做到非常灵活,你可以先建好模板,然后往里面填数,模板怎么建,填出来的效果就是怎么样的。首先说说word和xml的关系,每个word它都对应着一个xml文件,也就是说你修改了xml,对应的word文件也就跟着修改了。通过word的保存功能可以将一个word文件保存为xml文件,该文件虽然是.xml格式的,但是直接双击打开的话还是使用word打开,所以你只能用txt将它打开,用txt打开之后将里面的一句话:<?mso-application progid="Word.Document"?>去掉,然后保存,接着就可以双击直接打开了,这样使用的就是IE打开的,你这样就可以查看里面的节点具体的构造。

最上面的主节点是<w:wordDocument>(如果不是的话,相信你将word文件保存成xml的时候使用的是07word,选择的是:word xml文档(*.xml),你可以选择word 2003 xml文档(*.xml)试试);该主节点下面有大致8个节点,其中我们要操作的就是<w:body>节点,该节点是word的正文节点,其他的节点没有去研究;<w:body>下面包含的节点可能会有:<w:p>段落节点、<w:tbl>表格节点。

接着要做的就是在java程序中,使用dom来解析编辑xml文件,这里贴出一些代码来供大家参考:

 

public Document loadXML(String filename){//////////加载xml文件

Document document = null; 

   try{

   DocumentBuilderFactory   factory = DocumentBuilderFactory.newInstance();    

       DocumentBuilder builder=factory.newDocumentBuilder();    

       document=builder.parse(new File(filename));    

       document.normalize(); 

   }catch (Exception ex){

       ex.printStackTrace(); 

   }   

   return document; 

}

 

public boolean doc2XmlFile(Document document,File targetFile){ ///////回写xml文件

boolean flag = true; 

   try{

   TransformerFactory tFactory = TransformerFactory.newInstance();    

       Transformer transformer = tFactory.newTransformer();  

       DOMSource source = new DOMSource(document);  

       StreamResult result = new StreamResult(targetFile.toURI().getPath());

       transformer.transform(source, result);  

   }catch(Exception ex){ 

       flag = false; 

       ex.printStackTrace(); 

   } 

   return flag;       

}

String void function(){///////////程序入口

 

String rootPath=ServletActionContext.getServletContext().getRealPath("/excelTemplate")+"\\";

try{

Document document=loadXML(rootPath+"projectModel.xml");

Element root = document.getDocumentElement();

NodeList rootList=root.getChildNodes();

Node bodyNode=null;///////w:body

for(int i=0;i<rootList.getLength();i++){////////找到<w:body>节点

bodyNode=rootList.item(i);

if("w:body".equals(bodyNode.getNodeName())){

break;

}

}

NodeList nodeList=bodyNode.getChildNodes();

for(int i=0;i<nodeList.getLength();i++){

Node node=nodeList.item(i);

if("w:tbl".equals(node.getNodeName())){

dealWithTableNode(document,node);

}else if("w:p".equals(node.getNodeName())){

dealWithWPNode(document,node);

}

 

}

File destFile = File.createTempFile("project", ".xml");

doc2XmlFile(document,destFile);///////回写

inputStream = new FileInputStream(destFile);/////////生成流,用于下载

fileName=URLEncoder.encode(project.getProjectName(),"utf-8")+".doc";

}catch(Exception e){

e.printStackTrace();

}

 

}

注意:

1、在解析编辑xml文件的时候一定好看好节点的位置,比如一般的文本内容的话可能是在<w:p>节点下的<w:r>节点下的<w:t>里设置,使用的是getTextContent()方法来获取它的内容,setTextContent()来设置它的参数

2、对于图片如何插入呢?首先最好在模板中插入一张图片,主要用于定下图片的那些格式,然后图片必须用java转成base64的字符串,这里也提供一个方法:

 

private String toBASE64codeFile(File file){

String codeString="";

try{

FileInputStream fis=new FileInputStream(file);

BASE64Encoder encoder=new BASE64Encoder();

byte[] b=new byte[228];

int count=-1,n=0;

while((count=fis.read(b))!=-1){

codeString+=encoder.encode(b);

}

return codeString;

}catch(Exception e){

e.printStackTrace();

return "";

}

}

然后找到<w:pict>节点:一般如果图片是在table里的话,该节点就是在<w:tbl>-<w:tr>-<w:tc>-<w:p>-<w:r>节点下面,不在table里的话就是:<w:p>-<w:r>,建议仿照用IE打开的xml对照一下。然后将该节点下的<w:binData>的内容置成你所要插入的图片的base64码即可。

posted @ 2013-03-06 13:30 yuhaibo736 阅读(553) | 评论 (0)编辑 收藏

将几个word文件合并到一个word文件,需要下载jacob-1.17-M2.zip,将压缩文件内的jacob-1.17-M2-x64.dll放到windows/system32下,将jacob.jar放到项目中
public static void main(String[] args) {
   List list  = new ArrayList();
   String file1= "D:\\file1.doc";
   String file2= "D:\\file2.doc";
   String file3= "D:\\file3.doc";
   list.add(file1);
   list.add(file2);
   list.add(file3);
   uniteDoc(list,"d:\\file.doc");
 }
 public static void uniteDoc(List fileList, String savepaths) {
  if (fileList.size() == 0 || fileList == null) {
   return;
  }
  //打开word
  ActiveXComponent app = new ActiveXComponent("Word.Application");//启动word
  try {
   // 设置word不可见
   app.setProperty("Visible", new Variant(false));
   //获得documents对象
   Object docs = app.getProperty("Documents").toDispatch();
   //打开第一个文件
   Object doc = Dispatch
                .invoke(
                        (Dispatch) docs,
                        "Open",
                        Dispatch.Method,
                        new Object[] { (String) fileList.get(0),
                                new Variant(false), new Variant(true) },
                        new int[3]).toDispatch();
   //追加文件
   for (int i = 1; i < fileList.size(); i++) {
    Dispatch.invoke(app.getProperty("Selection").toDispatch(),
                    "insertFile", Dispatch.Method, new Object[] {
                            (String) fileList.get(i), "",
                            new Variant(false), new Variant(false),
                            new Variant(false) }, new int[3]);
   }
   //保存新的word文件
   Dispatch.invoke((Dispatch) doc, "SaveAs", Dispatch.Method,
                new Object[] { savepaths, new Variant(1) }, new int[3]);
   Variant f = new Variant(false);
   Dispatch.call((Dispatch) doc, "Close", f);
  } catch (Exception e) {
   throw new RuntimeException("合并word文件出错.原因:" + e);
  } finally {
   app.invoke("Quit", new Variant[] {});
  }
 }


posted @ 2013-03-06 13:20 yuhaibo736 阅读(1233) | 评论 (0)编辑 收藏


package com.cbd.dk.test;

import java.util.ListIterator;
import java.util.Stack;

public class Test {

 private String src;

 public Test(String src) {
  this.src = src;
 }
 public double getResult() {
  String postfix = getPostfix();
  Stack<String> stk = new Stack<String>();
  //System.out.println(postfix);
  String parts[] = postfix.split(" +");
  double result=0;
  for(int i=0; i<parts.length; i++){
   char tmp = parts[i].charAt(0);
   if(!isOperator(tmp)){
    stk.push(parts[i]);
   }else{
    double a = Double.parseDouble(stk.pop());
    double b = Double.parseDouble(stk.pop());
    result = calculate(b,a,tmp);
    stk.push(String.valueOf(result));
   }
  }
  return result;
 }


 /**
  * test if the character is an operator,such +,-,*,/
  * @param op  the character to test
  * @return  true if op is an operator otherwise false
  */
 private boolean isOperator(char op){
  return (op=='+'||op=='-'||op=='*'||op=='/');
 }


 /**
  * calculate an expression such (a op b)
  * @param a  number 1
  * @param b  number 2
  * @param op the operator
  * @return  (double)(a op b)
  */
 public double calculate(double a, double b, char op) {
  switch (op) {
   case '+':
    return a + b;
   case '-':
    return a - b;
   case '*':
    return a * b;
   case '/':
    return a / b;
  }
  return -1;
 }


 /**
  * convert the suffix to postfix
  * @return the postfix as a string
  */
 private String getPostfix() {
  Stack<String> stk = new Stack<String>();
  String postfix = new String();
  char op;
  int i = 0;
  while (i < src.length()) {
   if (Character.isDigit(src.charAt(i))||src.charAt(i)=='.') {
    postfix += " ";
    do {
     postfix += src.charAt(i++);
    } while ((i < src.length()) && (Character.isDigit(src.charAt(i))));
    postfix += " ";
   }else {
    switch (op = src.charAt(i++)) {
     case '(':
      stk.push("(");
      break;
     case ')':
      while (stk.peek() != "(") {
       String tmp = stk.pop();
       postfix += tmp;
       if(tmp.length()==1 && isOperator(tmp.charAt(0)))
        postfix += " ";
      }
      stk.pop();
      postfix += " ";
      break;
     case '+':
     case '-':
      while ((!stk.empty()) && (stk.peek() != "(")) {
       postfix += stk.pop()+" ";
      }
      stk.push(new Character(op).toString());
      break;
     case '*':
     case '/':
      while ((!stk.empty()) && ((stk.peek() == "*") || (stk.peek() == "/"))) {
       postfix += stk.pop()+" ";
      }
      stk.push(new Character(op).toString());
      break;
    }
   }
  }
  ListIterator it = stk.listIterator(stk.size());
  while (it.hasPrevious())
   postfix += it.previous() + " ";
  return postfix.trim().replaceAll(" +\\.",".");
 }

 /**
  * main function
  * @param args
  */
 public static void main(String args[]) {
  //System.out.println(new Test("((1.5+6.000)*9+9.36)*(8-8*8+8*7)").getResult());
  System.out.println(new Test("(2+(3*2)/2)").getResult());
 }
}

posted @ 2012-12-11 16:24 yuhaibo736 阅读(1117) | 评论 (0)编辑 收藏

WITH CTE AS
(
SELECT OBJ_VW_ID,NODE_CODE ,P_NODE_CODE,NODE_TYP ,NODE_CAP,OBJ_VW_ENG_NAME,SN,ICON_TYP,rn=cast(NODE_CODE  as varchar(max)),level = 1 FROM DSK_OBJ_VW_DISP  WHERE NODE_CODE in (select NODE_CODE from DSK_OBJ_VW_DISP where P_NODE_CODE='2')
UNION ALL
SELECT T.OBJ_VW_ID,T.NODE_CODE,T.P_NODE_CODE,T.NODE_TYP,T.NODE_CAP,T.OBJ_VW_ENG_NAME,T.SN,T.ICON_TYP,rn=rn+cast(T.NODE_CODE AS VARCHAR(MAX)), level=level+1 FROM DSK_OBJ_VW_DISP T,CTE WHERE CTE.NODE_CODE=T.P_NODE_CODE
)
SELECT OBJ_VW_ID,NODE_CODE ,P_NODE_CODE,NODE_TYP,NODE_CAP,OBJ_VW_ENG_NAME,SN,ICON_TYP,rn,level FROM CTE  ORDER BY rn

posted @ 2012-10-23 15:04 yuhaibo736 阅读(713) | 评论 (0)编辑 收藏

package test;

import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;

public class TestStringUtils {
 
 public static void main(String[] args) {
  // 空字符串检查
  String t1_1 = "";
  String t1_2 = "\n\n\t";
  String t1_3 = null;
  String t1_4 = "Test";
  System.out.println("t1_1 blank? " + StringUtils.isBlank(t1_1));
  System.out.println("t1_2 blank? " + StringUtils.isBlank(t1_2));
  System.out.println("t1_3 blank? " + StringUtils.isBlank(t1_3));
  System.out.println("t1_4 blank? " + StringUtils.isBlank(t1_4));
  // 清除空白字符
  String t2_1 = "\t";
  String t2_2 = "  A  Test  ";
  String t2_3 = null;
  System.out.println("t2_1 trimToNull: " + StringUtils.trimToNull(t2_1));
  System.out.println("t2_2 trimToNull: " + StringUtils.trimToNull(t2_2));
  System.out.println("t2_3 trimToNull: " + StringUtils.trimToNull(t2_3));
  System.out.println("t2_1 trim: " + StringUtils.trim(t2_1));
  System.out.println("t2_2 trim: " + StringUtils.trim(t2_2));
  System.out.println("t2_3 trim: " + StringUtils.trim(t2_3));
  // 取得字符串的缩写
  String t3_1 = "This is a test of the abbreviation.";
  String t3_2 = "Test";
  System.out.println(StringUtils.abbreviate(t3_1, 15));
  System.out.println(StringUtils.abbreviate(t3_1, 5, 15));
  System.out.println(StringUtils.abbreviate(t3_2, 10));
  // 劈分字符串
  String t4_1 = "A b,c.d|e";
  String t4_2 = "Pharmacy, basketball funky";
  String[] array1 = StringUtils.split(t4_1, " ,.|");
  String[] array2 = StringUtils.split(t4_2, " ,", 2);
  System.out.println(ArrayUtils.toString(array1));
  System.out.println(ArrayUtils.toString(array2));
  // 查找嵌套字符串
  String t5_1 = "ABC1234ABC4567";
  System.out.println(StringUtils.substringBetween(t5_1, "1234", "4567"));
  System.out.println(StringUtils.substringBetween(t5_1, "12345", "4567"));
  // 去除尾部换行符
  String t6_1 = "Hello\n";
  System.out.println(StringUtils.chomp(t6_1));
  String t6_2 = "Another test\r\n";
  System.out.println(StringUtils.chomp(t6_2));
  // 重复字符串
  System.out.println(StringUtils.repeat("*", 10));
  System.out.println(StringUtils.repeat("China ", 5));
  // 颠倒字符串
  System.out.println(StringUtils.reverse("ABCDE"));
  // 判断字符串内容的类型
  String t7_1 = "Virginia";
  System.out.println("Is state number? " + StringUtils.isNumeric(t7_1));// 全由数字组成
  System.out.println("Is state alpha? " + StringUtils.isAlpha(t7_1));// 全由字母组成
  System.out.println("Is state alphanumeric? " + StringUtils.isAlphanumeric(t7_1));// 全由数字或数字组成
  System.out.println("Is state alphaspace? " + StringUtils.isAlphaSpace(t7_1));// 全由字母或空格组成
  // 取得某字符串在另一字符串中出现的次数
  System.out.println(StringUtils.countMatches("Chinese People", "e"));
  // 部分截取字符串
  String t8_1 = " 25 * (30,40) [50,60] | 30";
  System.out.print("N0: " + StringUtils.substringBeforeLast(t8_1, "*"));
  System.out.print(", N1: " + StringUtils.substringBetween(t8_1, "(", ","));
  System.out.print(", N2: " + StringUtils.substringBetween(t8_1, ",", ")"));
  System.out.print(", N3: " + StringUtils.substringBetween(t8_1, "[", ","));
  System.out.print(", N4: " + StringUtils.substringBetween(t8_1, ",", "]"));
  System.out.print(", N5: " + StringUtils.substringAfterLast(t8_1, "|"));
 }

}

posted @ 2012-08-30 11:02 yuhaibo736 阅读(557) | 评论 (0)编辑 收藏

依赖包 json-lib-2.2.3-jdk13.jar、dom4j-1.6.1.jar

 

package com.shine.framework.core.util;
import java.io.ByteArrayOutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import net.sf.json.JSON;
import net.sf.json.JSONSerializer;
import net.sf.json.xml.XMLSerializer;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
/**
* common xml conver utility
*
* @author viruscodecn@gmail.com
* @version Framework 2010.10.26
*/
public class XmlConverUtil {
/**
* map to xml xml <node><key label="key1">value1</key><key
* label="key2">value2</key>......</node>
*
* @param map
* @return
*/
public static String maptoXml(Map map) {
Document document = DocumentHelper.createDocument();
Element nodeElement = document.addElement("node");
for (Object obj : map.keySet()) {
Element keyElement = nodeElement.addElement("key");
keyElement.addAttribute("label", String.valueOf(obj));
keyElement.setText(String.valueOf(map.get(obj)));
}
return doc2String(document);
}
/**
* list to xml xml <nodes><node><key label="key1">value1</key><key
* label="key2">value2</key>......</node><node><key
* label="key1">value1</key><key
* label="key2">value2</key>......</node></nodes>
*
* @param list
* @return
*/
public static String listtoXml(List list) {
Document document = DocumentHelper.createDocument();
Element nodesElement = document.addElement("nodes");
for (Object o : list) {
Element nodeElement = nodesElement.addElement("node");
for (Object obj : ((Map) o).keySet()) {
Element keyElement = nodeElement.addElement("key");
keyElement.addAttribute("label", String.valueOf(obj));
keyElement.setText(String.valueOf(((Map) o).get(obj)));
}
}
return doc2String(document);
}
/**
* json to xml {"node":{"key":{"@label":"key1","#text":"value1"}}} conver
* <o><node class="object"><key class="object"
* label="key1">value1</key></node></o>
*
* @param json
* @return
*/
public static String jsontoXml(String json) {
try {
XMLSerializer serializer = new XMLSerializer();
JSON jsonObject = JSONSerializer.toJSON(json);
return serializer.write(jsonObject);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* xml to map xml <node><key label="key1">value1</key><key
* label="key2">value2</key>......</node>
*
* @param xml
* @return
*/
public static Map xmltoMap(String xml) {
try {
Map map = new HashMap();
Document document = DocumentHelper.parseText(xml);
Element nodeElement = document.getRootElement();
List node = nodeElement.elements();
for (Iterator it = node.iterator(); it.hasNext();) {
Element elm = (Element) it.next();
map.put(elm.attributeValue("label"), elm.getText());
elm = null;
}
node = null;
nodeElement = null;
document = null;
return map;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* xml to list xml <nodes><node><key label="key1">value1</key><key
* label="key2">value2</key>......</node><node><key
* label="key1">value1</key><key
* label="key2">value2</key>......</node></nodes>
*
* @param xml
* @return
*/
public static List xmltoList(String xml) {
try {
List<Map> list = new ArrayList<Map>();
Document document = DocumentHelper.parseText(xml);
Element nodesElement = document.getRootElement();
List nodes = nodesElement.elements();
for (Iterator its = nodes.iterator(); its.hasNext();) {
Element nodeElement = (Element) its.next();
Map map = xmltoMap(nodeElement.asXML());
list.add(map);
map = null;
}
nodes = null;
nodesElement = null;
document = null;
return list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* xml to json <node><key label="key1">value1</key></node> 转化为
* {"key":{"@label":"key1","#text":"value1"}}
*
* @param xml
* @return
*/
public static String xmltoJson(String xml) {
XMLSerializer xmlSerializer = new XMLSerializer();
return xmlSerializer.read(xml).toString();
}
/**
*
* @param document
* @return
*/
public static String doc2String(Document document) {
String s = "";
try {
// 使用输出流来进行转化
ByteArrayOutputStream out = new ByteArrayOutputStream();
// 使用UTF-8编码
OutputFormat format = new OutputFormat(" ", true, "UTF-8");
XMLWriter writer = new XMLWriter(out, format);
writer.write(document);
s = out.toString("UTF-8");
} catch (Exception ex) {
ex.printStackTrace();
}
return s;
}
public static void main(String args[]) {
XmlConverUtil util = new XmlConverUtil();
String xml = "{/"node/":{/"key/":{/"@lable/":/"key1/",/"#text/":/"value1/"}}}";
System.out.println(util.jsontoXml(xml));
}
}

posted @ 2012-08-28 15:16 yuhaibo736 阅读(2002) | 评论 (0)编辑 收藏

commons-beanutils-1.8.0.jar不加这个包
java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean
commons-collections.jar 不加这个包
java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap
commons-lang-2.4.jar不加这个包
java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
commons-logging-1.1.1.jar不加这个包
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
ezmorph-1.0.4.jar不加这个包
java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
json-lib-2.3-jdk15.jar不加这个包
java.lang.NoClassDefFoundError: net/sf/json/JSONObject
相应jar包可到网上下载!
实例:
import java.util.ArrayList;
import java.util.List;

import net.sf.json.JSONArray;

public class JsonTest {

/**
* @param args
*/
public static void main(String[] args) throws Exception{
boolean[] boolArray = new boolean[]{true,false,true}; 
JSONArray jsonArray = JSONArray.fromObject( boolArray ); 
System.out.println( jsonArray );

List list = new ArrayList(); 
list.add( "first" ); 
list.add( "second" ); 
JSONArray jsonArray2 = JSONArray.fromObject( list ); 
System.out.println( jsonArray2 );
}
}

posted @ 2012-08-15 14:04 yuhaibo736 阅读(4672) | 评论 (2)编辑 收藏

  1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才能存入数据库中。

  //根据文件名(完全路径)

  public byte[] SetImageToByteArray(string fileName)

  { FileStream fs = new FileStream(fileName, FileMode.Open);

  int streamLength = (int)fs.Length; byte[] image = new byte[streamLength];

  fs.Read(image, 0, streamLength);

  fs.Close();

  return image; }

  //另外,在ASP.NET中通过FileUpload控件得到的图像文件可以通过以下方法

  public byte[]

  SetImageToByteArray(FileUpload FileUpload1)

  { Stream stream = FileUpload1.PostedFile.InputStream;

  byte[] photo = new byte[FileUpload1.PostedFile.ContentLength];

  stream.Read(photo, 0, FileUpload1.PostedFile.ContentLength);

  stream.Close();

  return photo;

  }

  2.从SQL Server数据库读取Image类型的数据,并转换成bytes[]或Image图像文件

  //要使用SqlDataReader要加载using System.Data.SqlClient命名空间

  //将数据库中的Image类型转换成byte[] public byte[] SetImage(SqlDataReader reader)

  { return (byte[])reader["Image"];//Image为数据库中存放Image类型字段 }

  //将byte[]转换成Image图像类型 //加载以下命名空间using System.Drawing;/using System.IO;

  using System.Data.SqlClient;*/ public Image SetByteToImage(byte[] mybyte)

  { Image image; MemoryStream mymemorystream = new MemoryStream(mybyte,0, mybyte.Length);

  image = Image.FromStream(mymemorystream);

  return image;

  }

posted @ 2012-08-14 13:07 yuhaibo736 阅读(308) | 评论 (0)编辑 收藏

仅列出标题
共5页: 上一页 1 2 3 4 5 下一页