- PR -

実行エラーについて

投稿者投稿内容
ひろき
会議室デビュー日: 2006/11/24
投稿数: 5
投稿日時: 2006-11-24 13:38
C:\Tomcat55\webapps\hiroki\WEB-INF\classes>java ServletJSP
Exception in thread "main" java.lang.NoClassDefFoundError: ServletJSP

コンパイル後、上記のような実行エラーが出てしまうのですが原因を教えていただけないでしょうか。プログラムは下記のようになります。

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.*;


//HttpServletクラスを継承
public class ServletJSP extends HttpServlet {
//doGetメソッドをオーバーライド
public void doGet (HttpServletRequest request, HttpServletResponse response) {
try {

//HTMLファイルのformから入力された値を受け取り変数に代入
String gotString = request.getParameter("yourString");
String gitString = request.getParameter("myString");
System.out.print("0");
// 取得した文字列をWindows-31Jに変換(TOMCAT)
if(gotString != null){
try{
gotString = new String(gotString.getBytes("iso-8859-1"),"Windows-31J");
}
catch(UnsupportedEncodingException e){
System.out.println(e);
}
}

// 取得した文字列をWindows-31Jに変換(TOMCAT)
if(gitString != null){
try{
gitString = new String(gitString.getBytes("iso-8859-1"),"Windows-31J");
}catch(UnsupportedEncodingException e){
System.out.println(e);
}
}
System.out.print("1");

//JDBCドライバの登録
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//データベースの指定とデータベースとの接続
//db**はOracleのユーザ名、db@@はdb**のパスワード
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@win2kserver:1521:comp1","db04","db04");

//SQL文の実行
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery("SELECT UserID, Kengen FROM exp04 WHERE UserID");
try{
//結果の受信
while(rset.next()){
System.out.printf("%-12s",rset.getString("UserID"));
System.out.printf("%-12s",rset.getString("Kengen"));
String UserID = rset.getString("UserID");
if(UserID == null){
System.out.println("ログイン不成功");
System.out.println("ユーザーが見つかりません。");
}else {
System.out.print("UserID");
}
String Kengen = rset.getString("Kengen");
if(Kengen == null){
System.out.println("ログイン不成功");
System.out.println("ユーザーが見つかりません。");
}else {
System.out.print("Kengen");
}
}
}catch (Exception ex){
System.out.print(2);
//JSPファイルにパラメータを送るための準備をする
request.setAttribute("UserID", gotString);
request.setAttribute("Kengen", gitString);
//JSPファイルに取得した文字数を渡す
getServletConfig().getServletContext().
getRequestDispatcher ("/MyJsp/ServletJSP.jsp").
forward(request, response);

}conn.close();
System.out.print(3);
}catch (Exception ex){
}
}
}

宜しくお願いいたします。

[ メッセージ編集済み 編集者: ひろき 編集日時 2006-11-24 13:40 ]
Smz
会議室デビュー日: 2006/11/22
投稿数: 9
投稿日時: 2006-11-24 13:52
引用:

ひろきさんの書き込み (2006-11-24 13:38) より:
C:Tomcat55webappshirokiWEB-INFclasses>java ServletJSP
Exception in thread "main" java.lang.NoClassDefFoundError: ServletJSP

コンパイル後、上記のような実行エラーが出てしまうのですが原因を教えていただけないでしょうか。プログラムは下記のようになります。




コンソールで実行するにはmainメソッドが必要です。
よってmainが見つかりませんってエラーですね。

Servletで動かしたいのであればブラウザからアクセスしないと・・・

編集:引用タグのスラッシュ忘れです。

[ メッセージ編集済み 編集者: Smz 編集日時 2006-11-24 13:55 ]
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2006-11-24 13:54
引用:

ひろきさんの書き込み (2006-11-24 13:38) より:
C:Tomcat55webappshirokiWEB-INFclasses>java ServletJSP
Exception in thread "main" java.lang.NoClassDefFoundError: ServletJSP


文字通り、「ServletJSPにmainメソッドがない」ってメッセージですけど。
まあ、mainメソッドを作って片づく問題でもなさそう・・・。(- -)

Servletというものは、コマンドラインから直接叩くものではありません。

まずは、Webアプリのなんたるか、から勉強してみてください。

ここからは妄想ですが・・・。
最近は、プログラムを組んだこともないような新人に、
いきなりWebアプリを作らせるのが流行なんでしょうか?

<追記>
もっとありそうなのは、学生さんの課題か。
そういえば、年度末試験も近いしね。

[ メッセージ編集済み 編集者: Edosson 編集日時 2006-11-24 13:55 ]
ひろき
会議室デビュー日: 2006/11/24
投稿数: 5
投稿日時: 2006-11-24 14:14
Smzさん、ありがとうございます。
mainなかってですよね・・・
ひろき
会議室デビュー日: 2006/11/24
投稿数: 5
投稿日時: 2006-11-24 14:15
Edossonさん、ありがとうございます。
お察しのとおり、課題なんですよね!プログラム初めてひと月くらいなもので。
楽しんで四苦八苦しております。
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2006-11-24 14:34
引用:

ひろきさんの書き込み (2006-11-24 14:15) より:

お察しのとおり、課題なんですよね!プログラム初めてひと月くらいなもので。


今まで何をしていたのやら・・・。
スレ主さんのセンセが、常識人であることを祈っておきます。(-人-)
Smz
会議室デビュー日: 2006/11/22
投稿数: 9
投稿日時: 2006-11-24 14:51
引用:

ひろきさんの書き込み (2006-11-24 14:15) より:
プログラム初めてひと月くらいなもので。
楽しんで四苦八苦しております。



私もjavaをはじめてまだ2ヶ月ほどの初心者です。
学生ではないので課題じゃないですけど・・・
お互いがんばりましょうね!

↓参考までに、私が参照したサイトです。

http://www.javaroad.jp/index.htm
http://www.hellohiro.com/

小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-11-24 16:14
なんでもいいので、サーブレット関連の本を一冊試しながら
学習した方がいいと思いますよ。特に、インストールとか
サーブレットの動作する仕組みとか、始めに良く理解してお
かないと、後ではまることが確定しますので。

スキルアップ/キャリアアップ(JOB@IT)