WebアプリケーションでStanfordparser.jar、pdfbox.jar、FontBox.jarを使用する必要があります。このWebアプリをNetbeansで開発しており、tomcat7.0.22サーバーを使用しています。これらすべての.jarファイルをWEB-INF/libとLibrariesフォルダーの両方に含めています(ただし、webappはlibraryフォルダーで.jarを使用します)。ローカルマシンで正常に動作します。しかし、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に変更しました。これで、Webページにエラーは表示されませんが、空白のページが表示されます。残りのページは正常に機能します
私はnetbeansIDEを使用しており、プロジェクトのLibrariesフォルダーにも外部jarファイルを追加しました。WEb_INf / libフォルダーにjarファイルがありますが、クラスはプロジェクトフォルダーのLibraryフォルダーの外部ライブラリを使用しています。これは問題になる可能性がありますか?WEB_INf / libフォルダーのlibraiesを使用するには、servletクラスを指定する必要がありますか?