星期三:把myssh2和zuoye以前做的这两个项目从新做一遍。 1:三大框架整合的搭建过程。2:css和javascript的写法。3登陆功能。4注册功能。5:增加功能。6:删除功能(批量删除)。7:修改功能。8:分页查询功能(多表查询)。9:ajax(异步的javascript和xml,能够创建交互式网页)判断用户名密码不能重复。For(User user : list)相当于for(int i=0; i<list.size();i++){User user=list.get(i)}
10:jquery弹出对话框。11四种简单查询语句和素数查询。12:java与c++区别。一:java没有了指针概念(但是java虚拟机内部还是使用了指针)c++有指针。二:java是单继承的,c++多继承,可以继承多个类。三:java是完全面向对象的,所有的函数和变量都必须是类的一部分,C++允许吧函数和变量定义为全局的。四:java自动进行内存回收操作,c++需要程序员手动回收内存。五:java不支持操作符重载。六:java没有预处理功能。Impor与预处理功能相似。七:java虽然把goto作为关键字但是不支持其使用。八:异常处理语句中java有try{}catch(){}13:拦截器。拦截器(Interceptor)是动态拦截Action调用的对象,类似于Servlet中的过滤器。在执行Action的业务逻辑处理方法(execute())之前,Struts2会首先执行在struts.xml中引用的拦截器。拦截器之所以称为“拦截器”,是因为它可以在Action执行之前和执行之后拦截调用。
拦截器编写方法:1:实现(implements)Interceptor接口,包括三个方法一:void init(){}。二:Void destroy(){}。三:String intercept(ActionInvocation invocation)throw Exception{return
invocation.invoke()}。
2:继承(extends)AbstractInterceptor抽象类,不用写init和destroy方法,直接写String intercept(ActionInvocation invocation)throw Exception{return invocation.invoke()}。3:继承MethodFilterInterceptor类,此类可以选择需要拦截的方法(includeMethods)和不需要拦截的方法(excludeMethods)。注:在String result=invocation.invoke()前写的代码在action执行前执行,在其后写的代码在action执行后执行。
在struts.xml里配置拦截器
<package name="" namespace="/" extends="struts-default"> <intreceptors>
<interceptor name="" class=""></interceptor>
....
<interceptors>
<action name="" class="" method="">
<interceptor-ref name=""></interceptor-ref>
<interceptor-ref name="">
<param name="includeMethods">a,b,c</param>
<param name="excludeMethods">d</param>
</interceptor-ref>
<resule name=""></result>
</action>
</package>
如果每个action都需要同样的很多拦截器为了简单我们会使用拦截器栈,拦截器栈在struts.xml里配置如下:
<package name="" namespace="" extends="struts-detaule"> <interceptors>
<interceptor name="a" class=""></interceptor>
<interceptor name="b" class=""></interceptor>
<interceptor-stack name="c">
<interceptor-ref name="a"></interceptor-ref>
<interceptor-ref name="b"></interceptor-ref>
</interceptor-srack>
</interceptors>
<action name="" class="" method="">
<interceptor-ref name="c"></interceptor-ref>
<result name=""></result>
</action>
</package>
星期四:把ajax和jquery大致简单的语法用途查查看看记会。 星期五:看选择题。
星期六:背日语单词。
1:日语动词,形容词,名词敬体与简体变化。七大形态。 星期日:过一遍学过的东西
第二篇:自己总结的关于java读取xml文件的一些实例希望对想我这样的初学者有用
XML文件如下:
<?xml version="1.0" encoding="GB2312"?>
<RESULT>
<VALUE>
<NO>A1234</NO>
<ADDR>河南省郑州市</ADDR>
</VALUE>
<VALUE>
<NO>B1234</NO>
<ADDR>河南省郑州市二区</ADDR>
</VALUE>
</RESULT>
dom解析:源程序如下(亲测)
import java.io.File;
import javax.xml.parsers.DocumentBuilder; //使其从XML文档获取DOM文档实例,程序员可以从XML获取一个Document
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
public class MyXMLReader2DOM {
public static void main(String arge[]) { //这个类的所有实例都公用一个变量 long lasting = System.currentTimeMillis();
try {
File f = new File("readxml.xml"); //关键词new用来创建一个类的实例 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(f);
NodeList nl = doc.getElementsByTagName("VALUE");
for (int i = 0; i < nl.getLength(); i++) {
System.out.print("车牌号码:"+
doc.getElementsByTagName("NO").item(i).getFirstChild().getNodeValue()); System.out.println("车主地址:"+
doc.getElementsByTagName("ADDR").item(i).getFirstChild().getNodeValue()); }
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("运行时间:" + (System.currentTimeMillis() - lasting) + "毫秒");
}
}
输出:
车牌号码:A1234车主地址:河南省郑州市
车牌号码:B1234车主地址:河南省郑州市二区
运行时间:312毫秒
运行时间较长
sax解析:
源程序如下:
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class MyXMLReader2SAX extends DefaultHandler {
java.util.Stack<String> tags = new java.util.Stack<String>();
public MyXMLReader2SAX() {
super();
}
public static void main(String args[]) {
long lasting = System.currentTimeMillis();
try {
SAXParserFactory sf = SAXParserFactory.newInstance();
SAXParser sp = sf.newSAXParser();
MyXMLReader2SAX reader = new MyXMLReader2SAX();
sp.parse(new InputSource("test1.xml"), reader);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("运行时间:" + (System.currentTimeMillis() - lasting) + "毫秒");
}
public void characters(char ch[], int start, int length)
throws SAXException {
String tag = tags.peek();
if (tag.equals("NO")) {
System.out.print("车牌号码:" + new String(ch, start, length)); }
if (tag.equals("ADDR")) {
System.out.println("地址:" + new String(ch, start, length));
}
}
public void startElement(String uri, String localName, String qName, Attributes attrs) {
tags.push(qName);
}
}
输出:
车牌号码:A1234车牌号码:
地址:河南省郑州市
地址:
地址:
车牌号码:B1234车牌号码:
地址:河南省郑州市二区
地址:
地址:
运行时间:94毫秒
运行时间较短
jdom解析:
源程序如下:
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.*;
public class MyXMLReader2JDOM {
public static void main(String arge[]) {
long lasting = System.currentTimeMillis();
try {
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(new File("test2.xml"));
Element foo = doc.getRootElement();
List<?> allChildren = foo.getChildren(); //此处iterator如不加参数则报错 for (int i = 0; i < allChildren.size(); i++) {
System.out.print("车牌号码:"+ ((Element)
allChildren.get(i)).getChild("NO").getText());
System.out.println("车主地址:"+ ((Element)
allChildren.get(i)).getChild("ADDR").getText());
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("运行时间:" + (System.currentTimeMillis() - lasting) + "毫秒");
}
}
输出:
车牌号码:A1234车主地址:河南省郑州市
车牌号码:B1234车主地址:河南省郑州市二区
运行时间:219毫秒
dom4j解析:
源程序如下:
import java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;
public class MyXMLReader2DOM4J {
public static void main(String arge[]) {
long lasting = System.currentTimeMillis();
try {
File f = new File("test3.xml");
SAXReader reader = new SAXReader();
Document doc = reader.read(f);
Element root = doc.getRootElement();
Element foo;
for (Iterator<?> i = root.elementIterator("VALUE"); i.hasNext();) { //此处iterator如不加参数则报错
foo = (Element) i.next();
System.out.print("车牌号码:" + foo.elementText("NO"));
System.out.println("车主地址:" + foo.elementText("ADDR"));
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("运行时间:" + (System.currentTimeMillis() - lasting) + "毫秒");
}
}
输出:
车牌号码:A1234车主地址:河南省郑州市
车牌号码:B1234车主地址:河南省郑州市二区 运行时间:250毫秒
程序皆为亲测,版权所有,盗版…那就盗吧!