这是我的servlet类
package com.zaggle;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class FirstServlet
*/
public class FirstServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public FirstServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String[] data;String val=null,name;
name=request.getParameter("excelsheet");
System.out.println(name);
response.setContentType("text/html");
UploadExcel ex= new UploadExcel();
data=ex.procedure(name);
System.out.println(name);
request.setAttribute("val", data);
System.out.println(val);
String destination="/NewFile1.jsp";
RequestDispatcher rd=getServletContext().getRequestDispatcher(destination);
//doGet(request, response);
rd.forward(request, response);
}
}
这是我在servlet类中使用的普通java类
package com.zaggle;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.Scanner;
import java.util.Vector;
import javax.swing.plaf.basic.BasicInternalFrameTitlePane.RestoreAction;
import org.apache.poi.hssf.record.formula.functions.Goto;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class UploadExcel {
public String[] procedure(String filename) {
// Scanner scanner = new Scanner(System.in);
//System.out.println("Please enter a filename with extention to upload");
String fileName = "C:\\"+filename;//+scanner.nextLine();
String[] dataHolder = ReadCSV(fileName);
// printCellDataToConsole(dataHolder);
return dataHolder;
}
public static void printCellDataToConsole(Vector dataHolder) {
// TODO Auto-generated method stub
for(int i=0;i<dataHolder.size();i++)
{
Vector column=(Vector)dataHolder.elementAt(i);
for (int j = 0; j < column.size(); j++) {
HSSFCell myCell = (HSSFCell) column.elementAt(j);
String stringCellValue = myCell.toString();
System.out.print(stringCellValue + "\t");
}
System.out.println();
}
}
public static String[] ReadCSV(String fileName) {
// TODO Auto-generated method stub
Vector cellVectorHolder = new Vector();
String[] col = null;
try {
FileInputStream myInput = new FileInputStream(fileName);
POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);
HSSFWorkbook myWorkBook = new HSSFWorkbook(myFileSystem);
HSSFSheet mySheet = myWorkBook.getSheetAt(0);
Iterator rowIter = mySheet.rowIterator();
while (rowIter.hasNext()) {
HSSFRow myRow = (HSSFRow) rowIter.next();
Iterator cellIter = myRow.cellIterator();
Vector column = new Vector();
while (cellIter.hasNext()) {
HSSFCell myCell = (HSSFCell) cellIter.next();
column.addElement(myCell);
}
col=column.toString().split(" ");
cellVectorHolder.addElement(column);
}
} catch(IOException ie)
{
System.err.println("Please enter a valid input");
}
catch (Exception e) {
e.printStackTrace();
}
//return cellVectorHolder;
return col;
}
}
当我运行时,我得到如下错误
类型异常报告
消息
说明服务器遇到内部错误(),无法满足此请求。
例外
javax。servlet。ServletException:Servlet执行引发异常
根本原因
java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/POIFSFileSystem
com.zaggle.UploadExcel.ReadCSV(UploadExcel.java:52)
com.zaggle.UploadExcel.procedure(UploadExcel.java:24)
com.zaggle.FirstServlet.doPost(FirstServlet.java:42)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
为什么我会出现这个错误。有人能帮我吗?
您的POI jar不在类路径中。您可以在WEB-INF/lib下包含此库。
还可以检查您的JAR版本是否与预期的不同。
您在此行中遇到异常
POIFSFileSystem myFileSystem = new POIFSFileSystem(myInput);
您正在尝试使用项目中未包含的库。确保导入组织。阿帕奇。poi库位于web inf/lib目录中
看起来您忘记在CLASSPATH
中包含POI库(例如,您的Web应用程序未引用它)。您可以将此库包含在WEB-INF/lib
下(在您的WAR存档或分解目录格式中),或者它可以位于您的应用程序server/web
serverCLASSPATH
中的其他位置。
我的第一个应用程序的结构很简单: 在编译和运行程序的过程中一切都很好。在默认的out\工件目录中构建工件jar文件后,我得到 当我试图运行它java-jar CsvReplacer.jar命令 库包含在jar文件中(解包后就在那里)-它们被添加到项目结构中的库部分(单独-每个库一个文件),整个libs dir包含在模块部分的依赖项选项卡中(选中导出复选框),libs dir类似地添加到工件部分的输
本文向大家介绍在Java语言中将键插入树中,包括了在Java语言中将键插入树中的使用技巧和注意事项,需要的朋友参考一下 在新创建的二叉树中的第一次插入会在根节点创建一个节点。根据左子代小于父代而右子代大于父代的二叉搜索树属性,将插入更多插入。 让我们看看如何在代码中实现该算法- 示例 让我们了解此功能的工作原理。首先,我们检查根是否为空,如果是,则树为空,然后将新节点分配为根,然后完成。如果没有,
我有一个基于maven的scala/java混合应用程序,可以提交spar作业。我的应用程序jar“myapp.jar”在lib文件夹中有一些嵌套的jar。其中之一是“common.jar”。我在清单文件中定义了类路径属性,比如。Spark executor抛出在客户端模式下提交应用程序时出错。类(com/myapp/common/myclass.Class)和jar(common.jar)在那里
我不知道为什么我的代码给我一个空java.util.date. 问题:编写一个测试程序,创建一个帐户ID为1122,余额为20000,年利率为4.5%的帐户对象。使用提款方式提取2500美元,使用存款方式存入3000美元,并打印余额,每月利息,以及创建此帐户的日期 这是我的代码: }
因此,我有一个类加载器加载一个类,如下所示: 类在运行时位于另一个jar中。以及是在主jar中生成的,然后我取消了它的归档,所以依赖项就在那里。 如何从外部访问其他依赖项。我加载的类文件? 例外情况:
从安装时的4j外部脚本运行到安装时的4j方法。 实现:为此,我们在脚本中导入了特定的类,并调用了该方法,还在安装程序的编译器变量中添加了特定的jar文件作为类路径,使脚本编译成功。并成功地创建了安装程序。 问题:在运行时,我得到NoClassDefFoundError。 我得到以下异常:在行动运行脚本(屏幕安装位置),属性脚本:java.lang.NoClassDefFoundError: yes