学java半年了,也能用SSH整合着做点小项目,但是现在遇到了瓶颈,不知道如何提高了。 看到好多人说多看看源码,我在想看源码是为了什么呢?要看的话应该如何下手? 刚刚看了会Spring的源码,类多的要切来切去,看没看懂多少,头倒大了不少,现在很迷茫啊,到底如何提高啊?周围也没有学java的朋友,不能做大项目,小项目实在不想再多做了,已经做了很多小项目了,什么BBS,论坛,学生管理系统等等 希望过来人给点建议,先谢谢了
解决方案 »
- 谁能用简短的例子分别解释jta和jndi
- 相邀您的鼠标..
- SSH搭的环境,SessionFactory sf = getSessionFactory();但是sf为null
- JAVA TOMCAT 连MYSQL 出现了问题(急)
- 解决java版本不匹配问题
- struts+spring+hibernate 框架 出现 No bean named 'baseTransactionProxy' is defined错误。寻求帮助
- 欢迎讨论,关于验证,假如用户绕过了客户的JS验证,如何保证设计服务器端的验证呢?
- Red linux上装J2EE环境
- Struts+Hibernate+Oracle的中文问题!
- 新手请教:<html:text>中如何调用一个js文件的函数
- 请教:jstl循环的问题
- 添加struts2时url patten的三项*.action *.do /*有什么区别
2、代码如下:MyXMLReader.java
import java.io.File;
import java.util.Iterator;
import java.util.List;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;import org.dom4j.io.SAXReader;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;public class MyXMLReader extends DefaultHandler { java.util.Stack tags = new java.util.Stack();
String path = "xmltest.xml";
//windows 系统获取路径
String rpath = MyXMLReader.class.getResource("").getPath().substring(1)
+ path;
public MyXMLReader() {
super();
System.out.println("rpath:"+rpath);
}
/**
* DOM方式
* @since V2.0
* @author David.Wei
* @date 2008-4-11
* @return void
*/
public void DOM() {
long lasting = System.currentTimeMillis();
try {
File f = new File(rpath);
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(f);
NodeList nl = doc.getElementsByTagName("node");
for (int i = 0; i < nl.getLength(); i++) {
System.out.println("|| Name: |"
+ doc.getElementsByTagName("name").item(i)
.getFirstChild().getNodeValue());
System.out.println("||Space: |"
+ doc.getElementsByTagName("space").item(i)
.getFirstChild().getNodeValue());
System.out.println("-------------------------------------------------"); }
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("DOM RUNTIME:"
+ (System.currentTimeMillis() - lasting) + " MS");
} /**
* SAX方式
* @since V2.0
* @author David.Wei
* @date 2008-4-11
* @return void
*/
public void SAX() { long lasting = System.currentTimeMillis();
try {
SAXParserFactory sf = SAXParserFactory.newInstance();
SAXParser sp = sf.newSAXParser();
MyXMLReader reader = new MyXMLReader();
sp.parse(new InputSource(rpath), reader);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("SAX RUNTIME:"
+ (System.currentTimeMillis() - lasting) + " MS");
} public void startElement(String uri, String localName, String qName,
Attributes attrs) {
tags.push(qName);
} public void characters(char ch[], int start, int length)
throws SAXException {
String tag = (String) tags.peek();
if (tag.equals("name")) {
System.out.println("|| Name: |" + new String(ch, start, length));
}
if (tag.equals("space")) {
System.out.println("||Space: |" + new String(ch, start, length));
}
System.out.println("-------------------------------------------------");
} /**
* JDOM方式
* @since V2.0
* @author David.Wei
* @date 2008-4-11
* @return void
*/
public void JDOM() {
long lasting = System.currentTimeMillis();
try {
SAXBuilder builder = new SAXBuilder();
org.jdom.Document doc = builder.build(new File(rpath));
Element foo = doc.getRootElement();
List allChildren = foo.getChildren();
for (int i = 0; i < allChildren.size(); i++) {
System.out.println("|| Name: |"
+ ((Element) allChildren.get(i)).getChild("name")
.getText());
System.out.println("||Space: |"
+ ((Element) allChildren.get(i)).getChild("space")
.getText());
System.out.println("-------------------------------------------------"); }
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("JDOM RUNTIME:"
+ (System.currentTimeMillis() - lasting) + " MS");
} /**
* DOM4J方式
* @since V2.0
* @author David.Wei
* @date 2008-4-11
* @return void
*/
public void DOM4J() {
long lasting = System.currentTimeMillis();
try {
File f = new File(rpath);
SAXReader reader = new SAXReader();
org.dom4j.Document doc = reader.read(f);
org.dom4j.Element root = doc.getRootElement();
org.dom4j.Element foo;
for (Iterator i = root.elementIterator("node"); i.hasNext();) {
foo = (org.dom4j.Element) i.next();
System.out.println("|| Name: |" + foo.elementText("name"));
System.out.println("||Space: |" + foo.elementText("space"));
System.out.println("-------------------------------------------------");
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("DOM4J RUNTIME:"
+ (System.currentTimeMillis() - lasting) + " MS");
} public static void main(String arge[]) {
MyXMLReader myXML = new MyXMLReader();
System.out.println("=====================DOM=========================");
myXML.DOM();
System.out.println("=====================SAX=========================");
myXML.SAX();
System.out.println("=====================JDOM========================");
myXML.JDOM();
System.out.println("=====================DOM4J=======================");
myXML.DOM4J();
System.out.println("=================================================");
}
}3、xmltest.xml
<?xml version="1.0" encoding="gbk"?>
<list>
<node>
<name>weidewei</name>
<space>http://wishlife.javaeye.com</space>
</node>
<node>
<name>flying</name>
<space>http://user.qzone.qq.com/94611981</space>
</node>
</list>备注:xmltest.xml在src目录下
以上代码应该能满足你需求
2。增加自己的项目的经验,认真做一个项目,严格按照ssmi的流程,即需求调研 --- 简要设计 ---详细设计 --- 编码阶段 ----测试 ----分布
3。可以掌握一些常用的设计模式:如单利模式,简单工厂,抽象工厂,mvc模式,代理模式,们名模式的
这只是个人的意见,呵呵。