※ ChatGPTを利用し、要約された質問です(原文:JSPとサーブレットでのJARの使い方)
JSPとサーブレットでのJARの使い方
このQ&Aのポイント
JSPとサーブレットでのJARの使い方についての質問です。ダウンロードしたJARのクラスを使用する際にエラーが発生しています。設定やソースを説明し、問題点を指摘してほしいです。
開発環境はEclipseとTomcatを使用しています。JARをデスクトップに配置し、Eclipseのプロジェクトに追加しました。しかし、JSPやサーブレットでJARのクラスを使用するとエラーが発生します。原因を探してほしいです。
JSPとサーブレットでダウンロードしたJARのクラスを使用しようとするとエラーが出てしまいます。設定やソースに問題があるのか、指摘してほしいです。開発環境はEclipseとTomcatを使用しています。
現在,jspやサーブレットにダウンロードしてきたjarの中のクラスを使おうとするとエラーをはいてしまいます。自分的にはエラーの原因はなんかしらの設定かソースがおかしいのではないかと考えております。なので自分がやった設定の手順とソースを説明させていただき、そこでおかしいと思った点を指摘していただきたいと思い投稿させてもらいました。
開発環境はEclipseとTomcatを合したものなのですが、
まずダウンロードしてきたJARをデスクトップに置きました。
次にEclipseでjspのプロジェクトを作成し、
プロジェクトの設定で、外部JARの追加を選択しデスクトップのJARを追加しました。
次にエラーが出るまでのソースを説明させていただくと、
まずJSPの方は
<%@ page language="java" contentType="text/html; charset=windows-31j"
pageEncoding="windows-31j"%>
<%@ page import="java.util.Date" %>
<%@ page import="com.lowagie.text.Document" %>//これがダウンロードしてきたjarのクラス
この様に書いたところEclipseのエディタ上ではエラーは出ないのですが、
デバックすると、
説明
The server encountered an internal error () that prevented it from fulfilling this request.
例外
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません:
というエラーが出てしまいます。なお4行目をコメントアウトすると正常に動作します。
次にサーブレットの方は
import java.io.*;
import com.lowagie.text.Document;//こっちはこのimport文ではエラーが出ない
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class selfreport_Pdf extends javax.servlet.http.HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Document doc = new Document();//ここでエラーがでる
こちらもEclipseのエディタ上ではエラーは出ないのですが、デバックして
jspからサーブレットにsubmit(?)をすると
説明 The server encountered an internal error () that prevented it from fulfilling this request.
例外
javax.servlet.ServletException: サーブレットの実行により例外を投げました
原因
java.lang.NoClassDefFoundError: com/lowagie/text/Document
selfinfo.selfreport_Pdf.doGet(selfreport_Pdf.java:29)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
この様なエラーが出ます。なおこちらはDcoment doc = enw Docment()
の処をコメントアウトすると、正常に動作します。またこのプログラムを
最も基本的なjavaアプリケーションに落とし込んで実行すると、正常に動作します。
また自分はjsp初心者なので、何か書き損じている点があるかもしれません。
もしそのような点があった場合はお手数ですが書いていただけると、後で補足させていただきます。
お返事おまちしております。
補足
お返事ありがとうございます。 <<使用しているプロジェクトの・・・ 少し追加する場所で悩んでしまいました。これはEclipseのworkspacseに作ったプロジェクトのWEB-INF/libでいいんですよね? またlibの中にJARファイルをコピーしたのですが、同じエラーが出てしまいました。 また、お返事おまちしております。