-1

http://localhost:8080/file.jsp?arg1=&arg2=11

正常に実行されます

http://localhost:8080/file.jsp?arg1=&arg2=

(引数 'arg2' の空の値)

500 内部サーバー エラーを表示

'arg2' の値は、' int' の変数' jsp'によって使用されます。Integer.parseInt(request.getParameter("arg2")

修正方法は?

4

3 に答える 3

1

"" を解析しようとしているからですInteger.parseInt

整数 parseInt() API を確認してください

以下のように値を渡さない場合

http://localhost:8080/file.jsp?arg1=&arg2=

空文字列は、http リクエスト パラメータで渡されます。

したがって、文字列から整数を解析するときに空のチェックを入れたほうがよいでしょう。

int arg2 = !"".equals(request.getParameter("arg2")) ? 
                Integer.parseInt(request.getParameter("arg2")): 0;
于 2012-04-02T09:52:09.943 に答える
1

必要なものに対してクエリ パラメータをチェックすることを常にお勧めします。この場合、org.apache.commons.lang.math.NumberUtilsライブラリを使用して、入力された値が数値かどうかを確認し、数値でない場合はデフォルト値を使用できます。

int arg2 = NumberUtils.isNumber(request.getParameter("arg2")) ? Integer.parseInt(request.getParameter("arg2")) : 0;
于 2017-04-19T15:17:34.103 に答える
-1

Internet Explorerを使用している場合は、[ツール]-[インターネットオプション]-[詳細設定]-[ブラウジング]で[フレンドリーなHTTPエラーメッセージを表示する]のチェックを外します。これにより、エラーが何であるかをより正確に説明できるようになります。

コード自体を支援するために、コードを投稿する必要があります。

于 2012-04-02T07:23:18.530 に答える