我需要在我的 Web 应用程序中使用 Stanfordparser.jar、pdfbox.jar、FontBox.jar。我正在使用 tomcat 7.0.22 服务器在 Netbeans 上开发此 Web 应用程序,我已将所有这些 .jar 文件包含在 WEB-INF/lib 和库文件夹中(但 webapp 在库文件夹中使用 .jar),Web 应用程序在本地机器上运行良好。但是当我在 WSO2 Stratoes 实时服务器中运行 .war 文件并转到使用 .jar 文件的 JSP 页面时,它给出了这个错误。
java.lang.NullPointerException
controler.ControlerServelet.doPost(ControlerServelet.java:499)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
sun.reflect.GeneratedMethodAccessor1364.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:273)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:270)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:305)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
将 .jar 文件放在 WEB-INF/lib 中就足够了吗?还是我需要将它们指向 web.xml 文件?或者我该如何克服这个问题?
更新
这是我的代码
String url = "jdbc:mysql://rss1.stratoslive.wso2.com/karshamarkuptool_karsha_opensource_lk";
String username = "root2_lQrhzZUK";
String password = "nbuser";
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl(url);
ds.setUsername(username);
ds.setPassword(password);
byte[] b = null;
try {
b = getBLOB("2");
} catch (Exception ex) {
Logger.getLogger(ControlerServelet.class.getName()).log(Level.SEVERE, null, ex);
}
492 //ArrayList<String> sentenceList = new ArrayList<String>();
493 ArrayList<String> sentenceList;
494 parseDocument doc = new parseDocument(); // Parse document object this has the external dependencies
495 sentenceList=doc.pdfDocToSentence(b);
499 // sentenceList.add("test string");
500 request.setAttribute("allphrases", sentenceList);
我已将第 499 行注释掉,并将 492 修改为 493。现在网页没有显示错误,而是显示空白页。其余页面工作正常
我正在使用 netbeans IDE 并将外部 jar 文件添加到项目的 Libraries 文件夹中。虽然我在 WEb_INf/lib 文件夹中有 jar 文件,但是这些类正在使用项目文件夹的 Library 文件夹中的外部库,这可能是个问题吗?我是否需要指向 serverlet 类才能使用 WEB_INf/lib 文件夹中的库?