<html>
<%@ page language="java" import="javazoom.upload.*" import="java.util.*" pageEncoding="gb2312"%>
<%@ page errorPage="ExceptionHandler.jsp" %>
<jsp:useBean id="upBean" scope="page" class="javazoom.upload.UploadBean" >
<jsp:setProperty name="upBean" property="folderstore" value="F:\workspace\upload" />
</jsp:useBean><head>
<title>文件上传</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<ul class="style1">
<%
if (MultipartFormDataRequest.isMultipartFormData(request))
{
// Uses MultipartFormDataRequest to parse the HTTP request.
MultipartFormDataRequest mrequest = new MultipartFormDataRequest(request);
String todo = null;
if (mrequest != null) todo = mrequest.getParameter("todo");
if ( (todo != null) && (todo.equalsIgnoreCase("upload")) )
{
Hashtable files = mrequest.getFiles();
if ( (files != null) && (!files.isEmpty()) )
{
UploadFile file = (UploadFile) files.get("uploadfile");
if (file != null) out.println("<li>Form field : 上传文件"+"<BR> 文件名 : "+file.getFileName()+" ("+file.getFileSize()+" bytes)"+"<BR> 文件类型 : "+file.getContentType());
// Uses the bean now to store specified by jsp:setProperty at the top.
upBean.store(mrequest, "uploadfile");
String name=file.getFileName();
session.setAttribute("name",name);
}
else
{
out.println("<li>No uploaded files");
}
}
else out.println("<BR> todo="+todo);
}
%>
</ul>
<form method="get" action="jiexi" name="upform" enctype="multipart/form-data"> <table width="60%" border="0" cellspacing="1" cellpadding="1" align="center" class="style1">
<tr>
<td align="left"><b>选择您要上传的文件 :</b></td>
</tr>
<tr>
<td align="left">
<input type="file" name="uploadfile" size="50">
</td>
</tr>
<tr>
<td align="left">
<input type="hidden" name="todo" value="upload">
<input type="submit" name="Submit" value="上传">
<input type="reset" name="Reset" value="取消">
</td>
</tr>
</table></body>
</html>
通过该jsp页面上传一个xml文件。。
然后通过servlet解析并在当前页面显示
servlet
import java.io.*;
import java.util.*;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import javax.servlet.*;
import javax.servlet.http.*;
public class jiexi extends HttpServlet {
protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
String name=request.getParameter("name");
response.setContentType("html/text");
PrintWriter writer=response.getWriter();
try {
SAXBuilder saxb = new SAXBuilder();
Document doc = saxb.build(new FileInputStream(name));
Element root = doc.getRootElement();
int biaoqianshu = root.getChildren().size();
List elements = root.getChildren();
Element firstElement;
StringBuffer sb = new StringBuffer();
for (int i = 0; i < biaoqianshu; i++) {
firstElement =(Element)elements.get(i);
int zibiaoqian = firstElement.getChildren().size();
StringBuffer value = new StringBuffer();
Element secondElement;
for (int j = 0; j < zibiaoqian; j++) {
secondElement = (Element)firstElement.getChildren().get(j);
writer.println(secondElement.getName()+":"); //输出标签
writer.println(secondElement.getText()); //输出标签内容
}
writer.print(sb.toString()+value.toString());
sb.delete(0,sb.length());
value.delete(0,value.length());
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
结果运行时提示错误
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Servlet execution threw an exception
root cause java.lang.NoClassDefFoundError: org/jdom/input/SAXBuilder
jiexi.doGet(jiexi.java:18)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.
<%@ page language="java" import="javazoom.upload.*" import="java.util.*" pageEncoding="gb2312"%>
<%@ page errorPage="ExceptionHandler.jsp" %>
<jsp:useBean id="upBean" scope="page" class="javazoom.upload.UploadBean" >
<jsp:setProperty name="upBean" property="folderstore" value="F:\workspace\upload" />
</jsp:useBean><head>
<title>文件上传</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<ul class="style1">
<%
if (MultipartFormDataRequest.isMultipartFormData(request))
{
// Uses MultipartFormDataRequest to parse the HTTP request.
MultipartFormDataRequest mrequest = new MultipartFormDataRequest(request);
String todo = null;
if (mrequest != null) todo = mrequest.getParameter("todo");
if ( (todo != null) && (todo.equalsIgnoreCase("upload")) )
{
Hashtable files = mrequest.getFiles();
if ( (files != null) && (!files.isEmpty()) )
{
UploadFile file = (UploadFile) files.get("uploadfile");
if (file != null) out.println("<li>Form field : 上传文件"+"<BR> 文件名 : "+file.getFileName()+" ("+file.getFileSize()+" bytes)"+"<BR> 文件类型 : "+file.getContentType());
// Uses the bean now to store specified by jsp:setProperty at the top.
upBean.store(mrequest, "uploadfile");
String name=file.getFileName();
session.setAttribute("name",name);
}
else
{
out.println("<li>No uploaded files");
}
}
else out.println("<BR> todo="+todo);
}
%>
</ul>
<form method="get" action="jiexi" name="upform" enctype="multipart/form-data"> <table width="60%" border="0" cellspacing="1" cellpadding="1" align="center" class="style1">
<tr>
<td align="left"><b>选择您要上传的文件 :</b></td>
</tr>
<tr>
<td align="left">
<input type="file" name="uploadfile" size="50">
</td>
</tr>
<tr>
<td align="left">
<input type="hidden" name="todo" value="upload">
<input type="submit" name="Submit" value="上传">
<input type="reset" name="Reset" value="取消">
</td>
</tr>
</table></body>
</html>
通过该jsp页面上传一个xml文件。。
然后通过servlet解析并在当前页面显示
servlet
import java.io.*;
import java.util.*;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import javax.servlet.*;
import javax.servlet.http.*;
public class jiexi extends HttpServlet {
protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
String name=request.getParameter("name");
response.setContentType("html/text");
PrintWriter writer=response.getWriter();
try {
SAXBuilder saxb = new SAXBuilder();
Document doc = saxb.build(new FileInputStream(name));
Element root = doc.getRootElement();
int biaoqianshu = root.getChildren().size();
List elements = root.getChildren();
Element firstElement;
StringBuffer sb = new StringBuffer();
for (int i = 0; i < biaoqianshu; i++) {
firstElement =(Element)elements.get(i);
int zibiaoqian = firstElement.getChildren().size();
StringBuffer value = new StringBuffer();
Element secondElement;
for (int j = 0; j < zibiaoqian; j++) {
secondElement = (Element)firstElement.getChildren().get(j);
writer.println(secondElement.getName()+":"); //输出标签
writer.println(secondElement.getText()); //输出标签内容
}
writer.print(sb.toString()+value.toString());
sb.delete(0,sb.length());
value.delete(0,value.length());
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
结果运行时提示错误
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Servlet execution threw an exception
root cause java.lang.NoClassDefFoundError: org/jdom/input/SAXBuilder
jiexi.doGet(jiexi.java:18)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.
没有找到这个.jar文件..你导入..