はじめまして。いつも「業務アプリケーション 短期開発入門」を参考にさせていただいてます。
現在 Java 1.5 , Apache Tomcat 5.5 , mysqlという状態です。本書の第9章「アプリケーション・ユーザーの管理」のプログラムを参考にさせてもらい使用したいのですが、コンパイルがうまくいきません。
似たようなご質問があったのですが、うまくいかなくて又、質問いたします。よろしくお願い申し上げます。
type 例外レポート
メッセージ
説明 The server encountered an internal error () that prevented it from fulfilling this request.
例外
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
JSPファイル: /address_css/login_process.jsp の中の4行目でエラーが発生しました
生成されたサーブレットのエラーです:
The method put(Object, Object) in the type HashMap is not applicable for the arguments (String, int)
JSPファイル: /address_css/login_process.jsp の中の4行目でエラーが発生しました
生成されたサーブレットのエラーです:
The method put(Object, Object) in the type HashMap is not applicable for the arguments (String, int)
JSPファイル: /address_css/login_process.jsp の中の4行目でエラーが発生しました
生成されたサーブレットのエラーです:
Type mismatch: cannot convert from Integer to int
JSPファイル: /address_css/login_process.jsp の中の4行目でエラーが発生しました
生成されたサーブレットのエラーです:
Type mismatch: cannot convert from Integer to int
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:397)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
注意 原因のすべてのスタックトレースは、Apache Tomcat/5.5.9のログに記録されています
現在 Java 1.5 , Apache Tomcat 5.5 , mysqlという状態です。本書の第9章「アプリケーション・ユーザーの管理」のプログラムを参考にさせてもらい使用したいのですが、コンパイルがうまくいきません。
似たようなご質問があったのですが、うまくいかなくて又、質問いたします。よろしくお願い申し上げます。
type 例外レポート
メッセージ
説明 The server encountered an internal error () that prevented it from fulfilling this request.
例外
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
JSPファイル: /address_css/login_process.jsp の中の4行目でエラーが発生しました
生成されたサーブレットのエラーです:
The method put(Object, Object) in the type HashMap is not applicable for the arguments (String, int)
JSPファイル: /address_css/login_process.jsp の中の4行目でエラーが発生しました
生成されたサーブレットのエラーです:
The method put(Object, Object) in the type HashMap is not applicable for the arguments (String, int)
JSPファイル: /address_css/login_process.jsp の中の4行目でエラーが発生しました
生成されたサーブレットのエラーです:
Type mismatch: cannot convert from Integer to int
JSPファイル: /address_css/login_process.jsp の中の4行目でエラーが発生しました
生成されたサーブレットのエラーです:
Type mismatch: cannot convert from Integer to int
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:397)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
注意 原因のすべてのスタックトレースは、Apache Tomcat/5.5.9のログに記録されています
投稿:wahaha[wahaha]/2009年 12月 03日 01時 25分
/更新:2009年 12月 03日 01時 25分
RE:「ログイン処理」
by 竹形 誠司[takegata]
竹形です。こんにちは。
これはどうも、Integerとintの間のオートボクシングが働いていない感じですね。
オートボクシングというのはJava1.5からの機能で、Integer形のオブジェクトにint値を代入したり、逆にint値にInteger型のオブジェクトを代入すると、自動的に型の変換を行ってくれるものです。
243ページの中ほどの
環境の違いによるものかも知れません。本書の環境(Java1.6とTomcat6.0)で試してみることは可能ですか?
これはどうも、Integerとintの間のオートボクシングが働いていない感じですね。
オートボクシングというのはJava1.5からの機能で、Integer形のオブジェクトにint値を代入したり、逆にint値にInteger型のオブジェクトを代入すると、自動的に型の変換を行ってくれるものです。
243ページの中ほどの
user.put("id",rs.getInt("id"));
のような所でエラーが起こっているようなので、このような部分をuser.put("id",new Integer(rs.getInt("id")));
のように、明示的にIntegerに変換してみるとどうでしょうか。また、int userId = (Integer)(user.get("id"));
などの部分をint userId = ( (Integer)(user.get("id")) ).intValue();
のように明示的にint値に変換してみるとどうでしょうか。環境の違いによるものかも知れません。本書の環境(Java1.6とTomcat6.0)で試してみることは可能ですか?
投稿:竹形 誠司[takegata]/2009年 12月 03日 01時 57分
/更新:2009年 12月 03日 02時 02分
お返事ありがとうございます。
お忙しいところ、貴重な時間使って頂きありがとうございます。無事解決いたしました。何日間悩んでました。どうもありがとうございます。
また、なんかありましたら質問させていただきますのでよろしくお願い申し上げます。
ありがとうございました。
お忙しいところ、貴重な時間使って頂きありがとうございます。無事解決いたしました。何日間悩んでました。どうもありがとうございます。
また、なんかありましたら質問させていただきますのでよろしくお願い申し上げます。
ありがとうございました。
投稿:wahaha[wahaha]/2009年 12月 04日 10時 29分
/更新:2009年 12月 04日 10時 29分