JAVA软件工程师1、 精通JAVA基础,喜欢研究JAVA中的深层次问题,经常为了攻克一个问题茶不思饭不想。掌握JAVA的常用命令。理解JAVA中的继承,封装,多态(最基本要求。最好是可以在实际应用中使用)。熟练使用JAVA的IO,多线程,了解socket编程(这个只需要基本的应用就可以了,不必非得大师级的)。
2、 精通JSP,servlet, filter的使用及配置(必须精通,工作中不能在这上浪费时间)。
3、 熟悉struts应用。深入了解MVC模式。
4、 熟练Hibernate的使用。(熟练并不是指应用HibernateSynchronizer这样的工具,而是要会手工写的哦)。
5、 熟练SQL,可以熟练的运用SQL操作DB(这个没什么可说的,注意看SQL,不是HQL)。
6、 熟练使用tomcat配置、部署(这个你一定会吧)。
7、 熟悉spring者优先。
qq 283765999
msn [email protected]
地点: 北京中关村太平洋附近
2、 精通JSP,servlet, filter的使用及配置(必须精通,工作中不能在这上浪费时间)。
3、 熟悉struts应用。深入了解MVC模式。
4、 熟练Hibernate的使用。(熟练并不是指应用HibernateSynchronizer这样的工具,而是要会手工写的哦)。
5、 熟练SQL,可以熟练的运用SQL操作DB(这个没什么可说的,注意看SQL,不是HQL)。
6、 熟练使用tomcat配置、部署(这个你一定会吧)。
7、 熟悉spring者优先。
qq 283765999
msn [email protected]
地点: 北京中关村太平洋附近
解决方案 »
- Struts2整合EasyUI datagrid读取数据问题
- 请求共享SOA方面的书籍或者资料
- struts2、spring2、hibernate3整合问题
- Weblogic信任域的问题
- 用javascript修改JSP表单里的数据提交无反应!
- 小弟想学Hibernate,Spring高手给推荐本书 (给分)
- 这样的待遇怎么样?
- JBuilder9新问题??????????????
- Stateful session EJB 的多用户
- 在JSP服务器与其他的服务器验证问题。(内详)
- 100分请教几个概念问题:什么是集群?怎么理解分布式和分布式对象?
- 对clob字段分页,急!!!(有实际作用的给50分)
可能并不是很符合你的要求
可以参考一下:<?xml version="1.0" encoding="UTF-8"?>
<java version="1.5.0_06" class="java.beans.XMLDecoder">
<object class="com.demo.Foo">
<void property="childs">
<object class="java.util.ArrayList">
<void method="add">
<string>first</string>
</void>
<void method="add">
<string>second</string>
</void>
</object>
</void>
<void property="foo">
<string>bar</string>
</void>
</object>
</java> 集合对象也可以生成:<?xml version="1.0" encoding="UTF-8"?>
<java version="1.5.0_06" class="java.beans.XMLDecoder">
<object class="java.util.ArrayList">
<void method="add">
<string>first</string>
</void>
<void method="add">
<string>second</string>
</void>
</object>
</java>
使用也非常简单:
XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(
new FileOutputStream(filename)));
encoder.writeObject(f);
encoder.close();
串行化一个JButton的例子:
import java.beans.XMLEncoder;
import java.beans.XMLDecoder;
import javax.swing.*;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class SerializeJButton{ public static void main(String args[])
{
new SerializeJButton();
}
public SerializeJButton(){
try {
System.out.println("Running");
FileOutputStream fos = new FileOutputStream("button.xml");
XMLEncoder xEnc = new XMLEncoder(fos);
xEnc.writeObject(new JButton("Click Me"));
fos.close();
}catch (Exception ex){
System.out.println(ex);
}
System.out.println("Ending");
System.exit(0);
}
}串行化后的结果:
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.3.0" class="java.beans.XMLDecoder">
<object class="javax.swing.JPanel">
<void method="add">
<object class="javax.swing.JButton">
<void property="bounds">
<object class="java.awt.Rectangle">
<int>82</int>
<int>47</int>
<int>111</int>
<int>34</int>
</object>
</void>
<void property="label">
<string>Click Me</string>
</void>
</object>
</void>
<void property="preferredSize">
<object class="java.awt.Dimension">
<int>200</int>
<int>200</int>
</object>
</void>
<void property="layout">
<null/>
</void>
</object>
</java>
但不知道楼主意思是不是:
比如有
Map map=new HashMap();
map.put("username","test");
map.put("sex","1");
List list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
map.put("collection",list);
转换成xml
<User>
<username>test</username>
<sex>1</sex>
<collection>
1 2 3
</collection>
</User>
里边的1 2 3 要用什么样的格式?
list.add("b");
<list>
<a>a</a>
<b>b</b>
<list>list.add(userMap);
list.add(otherObject);
<list>
<user>
<name>test</name>
...
<user>
<otherObject>
....
</otherObject>
</list>不过我想可能没有现成的工具可用,只能自己定个规则约束,可能不具备通用性~~
import java.io.FileOutputStream;
import java.util.*;
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
public class XMLTest {
private static Document doc;
private static Element root;
XMLTest(){
root = new Element("OK");
doc= new Document(root);
}
void fromMap(Object o){
fromMap(o,root);
}
void fromMap(Object o,Element ele){
Element newEle = null;
if( o instanceof List ){
for(int i=0;i<((List)o).size();i++){
newEle = new Element("List");
ele.addContent(newEle);
fromMap(((List)o).get(i),newEle);
}
}else if( o instanceof Map ){
Map map = (Map)o;
Object[] obj = map.keySet().toArray();
newEle = new Element("User");
ele.addContent(newEle);
for(int i = 0;i<obj.length;i++){
Element sEle = new Element(obj[i].toString());
newEle.addContent(sEle);
fromMap(map.get(obj[i]),sEle) ;
}
}else{
ele.addContent(o.toString());
}
}
void createXML() throws Exception{
Format format = Format.getPrettyFormat();
format.setIndent(" ");
format.setEncoding("utf-8");
XMLOutputter outp = new XMLOutputter(format);
FileOutputStream fo = new FileOutputStream("text.xml");
outp.output(doc, fo);
fo.close();
}
public static void main(String[] args) throws Exception{
Map map = new HashMap();
map.put("age",new Integer(5));
map.put("userName","007");
List list = new ArrayList();
list.add("ssd");
list.add("kkk");
map.put("sss",list);
XMLTest xt = new XMLTest();
xt.fromMap(map);
xt.createXML();
}
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
public class Test {
public static void main(String[] args) {
try {
DocumentBuilder builder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
Document document = builder.newDocument();
Element root = document.createElement("Object");
root.setNodeValue("");
Map map = new HashMap();
map.put("name", "JiangWf");
map.put("age", "26");
List books = new ArrayList(4);
books.add("english_book");
books.add("computer_book");
books.add("chinese_book");
List books2 = new ArrayList(2);
books2.add("java_books");
books2.add("VB_books");
books.add(books2);
map.put("books", books);
Map m = new HashMap();
m.put("map1",books2);
m.put("map2","hello");
map.put("map",m);
document = new Test().mapDataToXml(map, root, document);
} catch (Exception e) {
e.printStackTrace();
}
}
public Document mapDataToXml(Map datas, Element root, Document doc)
throws Exception {
if (datas == null || datas.isEmpty() || root == null) {
return null;
}
Set keyset = datas.keySet();
Iterator iterator = keyset.iterator();
Object key = null;
Object value = null;
while (iterator.hasNext()) {
key = iterator.next();
value = datas.get(key);
Element element = doc.createElement((String) key);
root.appendChild(element);
if (value instanceof List) {
doc = listDatasToXml((List) value, element, doc);
} else if (value instanceof Map) {
doc = mapDataToXml((Map) value, element, doc);
} else if (value instanceof String) {
element.appendChild(doc.createTextNode((String) value));
} else {
System.out.println("Error: error type");
continue;
}
}
return doc;
}
private Document listDatasToXml(List datas, Node parent, Document doc)
throws Exception {
if (datas == null || datas.isEmpty() || parent == null) {
return null;
}
Object item = null;
for (int i = 0; i < datas.size(); i++) {
item = datas.get(i);
if (item instanceof String) {
Element element = doc.createElement((String) item);
element.appendChild(doc.createTextNode((String) item));
parent.appendChild(element);
} else if (item instanceof List) {
Element element = doc.createElement("list");
element.setNodeValue("");
parent.appendChild(element);
doc = listDatasToXml((List) item, element, doc);
} else if (item instanceof Map) {
Element element = doc.createElement("map");
element.setNodeValue("");
parent.appendChild(element);
doc = mapDataToXml((Map) item, element, doc);
} else {
System.out.println("Error: unlegal type.");
continue;
}
}
return doc;
}
}
//下面是程序测试结果
<Object>
<age>26</age>
<books>
<english_book>english_book</english_book>
<computer_book>computer_book</computer_book>
<chinese_book>chinese_book</chinese_book>
<list>
<java_books>java_books</java_books>
<VB_books>VB_books</VB_books>
</list>
</books>
<map>
<map1>
<java_books>java_books</java_books>
<VB_books>VB_books</VB_books>
</map1>
<map2>hello</map2>
</map>
<name>JiangWf</name>
</Object>
对于JavaBean其实很多工具都可以实现,这不是问题:
XMLHelper.Java
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/**
*
* <pre>
* project:
* Title:XMLHelper
* Description:将对象(Map,Collection)转换为Ajax XML输出帮助工具类
* </pre>
* @author wzrlover
* @since 2006-4-1
*/
public class XMLHelper {
private static XMLHelper helper=new XMLHelper();
private XMLHelper(){
}
public static XMLHelper getInstance(){
return helper;
}
public String toXML(Object _obj){
StringBuffer xml = new StringBuffer().append("<?xml version=\"1.0\"");
xml.append(" encoding=\"");
xml.append("utf-8");
xml.append("\"");
xml.append(" ?>\n");
xml.append("<ajax-response>\n");
xml.append("<response>\n");
xml.append(this.toXML(_obj,0));
xml.append("</response>\n");
xml.append("</ajax-response>");
return xml.toString();
}
private String toXML(Object _obj, int i) {
String str=null;
if (_obj instanceof Map) {
str = toXMLMap((Map)_obj, i);
} else if (_obj instanceof Collection) {
str = toXMLCollection((Collection)_obj, i);
}else{
str = toXMLOtherObject( _obj, i);
}
return str;
}
private String toXMLCollection(Collection _list, int i) {
StringBuffer sb = new StringBuffer();
if(_list!=null) {
sb.append(getSpace(i)).append("<item>").append("\n");
for (Iterator it = _list.iterator(); it.hasNext(); ) {
i++;
sb.append(toXML(it.next(), i));
i--;
}
sb.append(this.getSpace(i)).append("</item>").append("\n");
}
return sb.toString();
} private String toXMLMap(Map _map, int i) {
StringBuffer sb = new StringBuffer();
if(_map!=null) {
Set keySet = _map.keySet();
for (Iterator it = keySet.iterator(); it.hasNext(); ) {
Object key = it.next();
Object value=_map.get(key);
i++;
sb.append(getSpace(i)).append("<item id='").append(key+"'>").append("\n");
//如果Map里的value对象是Collection或Map,则不添加<name/>
if(!(value instanceof Map) &&!( value instanceof Collection)){
sb.append(getSpace(i) + "<name>" + key).append("</name>").append("\n");
}
sb.append(toXML(_map.get(key), i));
sb.append(getSpace(i)).append("</item>").append("\n");
i--;
}
}
return sb.toString();
} private String toXMLOtherObject(Object _obj, int i) {
StringBuffer sb = new StringBuffer();
sb.append(this.getSpace(i));
if(_obj!=null) {
sb.append("<value>").append(_obj.toString()).append("</value>").append("\n");
}
return sb.toString();
}
private String getSpace(int _i) {
StringBuffer sb = new StringBuffer();
for (int j = 0; j < _i; j++) {
sb.append(" ");
}
return sb.toString();
}}
<item>
<name></name>
<value></value>
</item>
这种格式,实现Map包含了Collection或Collection包含了Map等结构的XML输出