SAX 和 PULL解析服务器文件实例 (部分代码)

来源:互联网 发布:风水罗盘软件安卓版 编辑:程序博客网 时间:2024/05/16 10:49
<span style="font-size:18px;">package conn;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import javax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.SAXException;import sax.Student;public class Democonnection {public static void main(String[] args) throws IOException, ParserConfigurationException, SAXException {String path = "http://localhost:8080/Day_28_01/LoginServlet?usename=abc&usepwd=123";URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.connect();if (conn.getResponseCode() == 200) {InputStream is = conn.getInputStream();// 创建解析工厂SAXParserFactory factorysss = SAXParserFactory.newInstance();// 创建工厂创建解析器SAXParser parser = factorysss.newSAXParser();// 创建defaulthandler类 Myhandler mh = new Myhandler(); //解析     parser.parse(is, mh); //解析从服务器获得的流     //获得解析结果     ArrayList<Student>list = mh.getlist();     for (Student student : list) {System.out.println(student);}}}}</span>
package pull;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import javax.xml.stream.events.EndDocument;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlPullParserException;import org.xmlpull.v1.XmlPullParserFactory;public class Demobull {public static void main(String[] args) throws IOException, XmlPullParserException {String path = "http://localhost:8080/Day_28_01/LoginServlet?usename=abc&usepwd=123";URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.connect();if (conn.getResponseCode() == 200) {InputStream is = conn.getInputStream();// 解析器工厂XmlPullParserFactory factory = XmlPullParserFactory.newInstance();// 解析器XmlPullParser parser = factory.newPullParser();// 设置数据源parser.setInput(is, null);// 获取事件类型int type = parser.getEventType();String tag = null;Student student = null;ArrayList<Student> list = null;type = parser.getEventType();// 循环解析 直到文件结束while (type != XmlPullParser.END_DOCUMENT) {tag = parser.getName();switch (type) {case XmlPullParser.START_DOCUMENT:list = new ArrayList<>();break;case XmlPullParser.START_TAG:if ("student".equals(tag)) {student = new Student();} else if ("id".equals(tag)) {String str = parser.nextText();student.setId(Integer.parseInt(str));} else if ("name".equals(tag)) {String str = parser.nextText();student.setName(str);} else if ("sex".equals(tag)) {String str = parser.nextText();student.setSex(str);} else if ("age".equals(tag)) {String str = parser.nextText();student.setAge(str);}break;case XmlPullParser.END_TAG:if ("student".equals(tag)) {list.add(student);}break;case XmlPullParser.END_DOCUMENT:break;}type = parser.next();}for (Student student2 : list) {System.out.println(student2);}}}}


servlet 代码

package servlet;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class LoginServlet */@WebServlet("/LoginServlet")public class LoginServlet extends HttpServlet {private static final long serialVersionUID = 1L;/** * @see HttpServlet#HttpServlet() */public LoginServlet() {super();// TODO Auto-generated constructor stub}/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse *      response) */protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse *      response) */protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("utf-8");String name = request.getParameter("usename");String pwd = request.getParameter("usepwd");System.out.println(name + " " + pwd);response.setContentType("text/html;charset=utf-8");PrintWriter pw = response.getWriter();FileInputStream fis = new FileInputStream("c:\\student.xml");BufferedReader reader = new BufferedReader(new InputStreamReader(fis));if ("abc".equals(name)) {//pw.write("ok!!!");String s = null;while((s=reader.readLine())!=null){pw.write(s);//pw.write("/r/n");}} else {pw.write("fail");}pw.close();}}


0 0
原创粉丝点击