}
public boolean executeUpdate(String sql) { try {
conn.executeUpdate(sql); return true; }
catch (SQLException e) {
e.printStackTrace(); return false; } }
public ResultSet executeQuery(String sql) {
rs=null; try {
rs=conn.executeQuery(sql); }
catch (SQLException e) {
e.printStackTrace(); }
return rs; }
public void close() { try {
conn.close(); c.close(); }
catch (Exception e) {
e.printStackTrace(); } }
public static void main(String[] args) {
ResultSet rs;
jdbc conn = new jdbc();
rs=conn.executeQuery(\* from test\
31
try{
while (rs.next()) {
System.out.println(rs.getString(\ System.out.println(rs.getString(\ }
}catch(Exception e) {
e.printStackTrace(); } } }
143、ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法。 答:一种分页方法 <% int i=1;
int numPages=14;
String pages = request.getParameter(\; int currentPage = 1;
currentPage=(pages==null)?(1):{Integer.parseInt(pages)} sql = \count(*) from tables\ ResultSet rs = DBLink.executeQuery(sql) ; while(rs.next()) i = rs.getInt(1) ; int intPageCount=1;
intPageCount=(i%numPages==0)?(i/numPages):(i/numPages+1); int nextPage ; int upPage;
nextPage = currentPage+1;
if (nextPage>=intPageCount) nextPage=intPageCount; upPage = currentPage-1; if (upPage<=1) upPage=1; rs.close();
sql=\* from tables\ rs=DBLink.executeQuery(sql); i=0;
while((i
合计:<%=currentPage%>/<%=intPageCount%>
href=\上一页 <%
32
for(int j=1;j<=intPageCount;j++){ if(currentPage!=j){ %>
\最后页
144、用jdom解析xml文件时如何解决中文问题?如何解析? 答:看如下代码,用编码方式加以解决 package test; import java.io.*; public class DOMTest {
private String inFile = \ private String outFile = \ public static void main(String args[]) {
new DOMTest(); }
public DOMTest() { try {
javax.xml.parsers.DocumentBuilder builder =
javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder(); org.w3c.dom.Document doc = builder.newDocument(); org.w3c.dom.Element root = doc.createElement(\老师\ org.w3c.dom.Element wang = doc.createElement(\王\ org.w3c.dom.Element liu = doc.createElement(\刘\ wang.appendChild(doc.createTextNode(\我是王老师\ root.appendChild(wang); doc.appendChild(root);
javax.xml.transform.Transformer transformer =
javax.xml.transform.TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING,
33
\
transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, \es\
transformer.transform(new javax.xml.transform.dom.DOMSource(doc), new
javax.xml.transform.stream.StreamResult(outFile)); }
catch (Exception e) {
System.out.println (e.getMessage()); } } }
145、编程用JAVA解析XML的方式. 答:用SAX方式解析XML,XML文件如下:
事件回调类SAXHandler.java import java.io.*;
import java.util.Hashtable; import org.xml.sax.*;
public class SAXHandler extends HandlerBase {
private Hashtable table = new Hashtable(); private String currentElement = null; private String currentValue = null; public void setTable(Hashtable table) {
this.table = table; }
public Hashtable getTable() {
return table; }
public void startElement(String tag, AttributeList attrs) throws SAXException
34
{
currentElement = tag; }
public void characters(char[] ch, int start, int length) throws SAXException {
currentValue = new String(ch, start, length); }
public void endElement(String name) throws SAXException {
if (currentElement.equals(name))
table.put(currentElement, currentValue); } }
JSP内容显示源码,SaxXml.jsp:
<%@ page errorPage=\
contentType=\%> <%@ page import=\%>
<%@ page import=\%> <%@ page import=\%> <%@ page import=\%>
<%@ page import=\%> <%@ page import=\%> <%@ page import=\%> <%
File file = new File(\ FileReader reader = new FileReader(file); Parser parser;
SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser sp = spf.newSAXParser(); SAXHandler handler = new SAXHandler(); sp.parse(new InputSource(reader), handler); Hashtable hashTable = handler.getTable();
out.println(\BORDER=2>
(String)hashTable.get(new String(\+ \ out.println(\学院\+ \+
(String)hashTable.get(new String(\ out.println(\电话\+ \+
35