Tomcatを用いたWebアプリケーション作成についてご質問させてください。

Webアプリケーション実行時に読み込まれるクラスパスを任意に追加することは可能でしょうか。標準では{CONTEXT_ROOT}/WEB-INF/classesと{CONTEXT_ROOT}/WEB-INF/libにあるクラスがサーブレット上で実行されるクラスとして読み込まれますよね。これ以外に任意のディレクトリをクラスパスとして追加し、そのディレクトリにあるクラスをサーブレット上で実行したいのですが、可能でしょうか。

環境変数にクラスパスを設定してみたり、{TOMCAT_HOME}/bin/setclaspass.shにクラスパスを追加してみたりもしたのですが、結果は両方ともNoClassFoundExceptionでした。

ご教示お願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

一般的にアプリケーションサーバでは、アプリケーションサーバ自体が使用するクラスローダと、Webアプリケーションが使用するクラスローダを明確に分けている場合が多いです。


また、アプリケーションサーバ起動時に指定するclasspath指定はアプリケーションサーバ自体が使用するクラスへのパスを指定するのが普通です。

Tomcatでは、複数のWebアプリケーション間で共通で使用するクラスの格納先が指定されているようです。ただし、Tomcat3.x系と、4.x系以上とでは違いがあるようです。

詳しくは、以下のドキュメントを参考にしてください。

Tomcat3.x系
http://jakarta.apache.org/tomcat/tomcat-3.3-doc/ …

Tomcat4.x系
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/ …

Tomcat5.x系
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/ …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。ご提示いただいたURLで調べてみようと思います。

お礼日時:2005/04/28 16:55

#2です。



失礼しました。
>TOMCAT_HOME}/bin/setclaspass.shにクラスパスを追加…
自分の回答は↑の部分に思いっきり書いてありましたね。
熟読せずに回答してしまい申し訳ありませんでした。
m(_ _)m
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございます。Tomcatを起動する為のシェルスクリプトにはクラスパスを指定したのですけどダメでした。もうちょっと色々がんばってみようと思います。

お礼日時:2005/04/28 16:57

(Tomcatの起動についてそこまで詳しくないので、憶測です。

)

Tomcatを起動するときにJavaVMを起動しているはずなので、そのsh?ファイルか何かで
java -cp ~
とか
jre -cp ~
とかやってるとしたらそこにクラスパスを付け加えてみては?
(って憶測ですので、そんなshファイルないかもです。)
    • good
    • 0

私は


{JAVA_HOME}/jre/lib/ext ディレクトリにclassファイルをjarにまとめて貼り付けています。
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございます。ご提示いただいた方法を試してみたいと思います。

お礼日時:2005/04/28 16:58

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QTomcatのクラスパス

OSの環境変数で指定したclasspathと
Tomcatのクラスパスは違うようですが、
Tomcatの場合web.xmlに記述するのでしょうか?

1つのjavaクラスを、サーブレットから、
Runtime.getRuntime().exec()
で実行したい場合、Tomcatのweb.xmlなどにクラスパスを指定するのでなく、-classpathを指定した方が良いのでしょうか?

Aベストアンサー

>10分ぐらいかかるbatch処理を動かしたいのですが、
>ブラウザを砂時計にしたくない為、非同期にバックグラウンドでbatch処理を動かそうと思いRuntime.exec()を使用しようと思ったのですが、

Threadを使って別スレッドで処理をするのが普通だと思います。
Runtime.exec()を使うのも一つの手ではありますが、
リクエストの度にプロセスが生成されてしまうので、
サーバに負荷がかかります。
ServletのdoGetやdoPostなどで、スレッドを生成して、生成されたThreadの中で、時間のかかる処理を
行なえば、良いと思います。

QTomcatのプロジェクトのクラスパスの通し方

いつもお世話になっております。
当方、Tomcat5.xとEclipse3.2でWebアプリ(Struts使用)を開発しております。
Eclipse環境下で、JVMの設定を追加して.propertiesファイルの置き場を指定しているのですが、Tomcatのみのサーバにアプリを配置するとプロパティファイルの場所が分からなくなるらしく(CLASSPATHが通っていない?)エラーになってしまいます。

private String fileName = "mail.properties";
private String properties = null;

public MailUtil() {
this.properties = this.getClass().getClassLoader().getResource(this.fileName).toString(); ←ここでNullPoingter
this.properties = this.properties.substring(6);
}

実際に配置する際の設定方法をご教示頂けないでしょうか?
今はソースコードに実アドレスを指定して回避しておりますが、環境が変わった時などに困ってしまいます。
よろしくお願いいたします。

いつもお世話になっております。
当方、Tomcat5.xとEclipse3.2でWebアプリ(Struts使用)を開発しております。
Eclipse環境下で、JVMの設定を追加して.propertiesファイルの置き場を指定しているのですが、Tomcatのみのサーバにアプリを配置するとプロパティファイルの場所が分からなくなるらしく(CLASSPATHが通っていない?)エラーになってしまいます。

private String fileName = "mail.properties";
private String properties = null;

public MailUtil() {
this.properties = this.getClass()....続きを読む

Aベストアンサー

Tomcatのクラスパスを通すには、
まずはデフォルトとして、
1.%JAVA_HOME%/jre/lib/extのjarファイル
2.%TOMCAT_HOME%/commos/lib, %TOMCAT_HOME%/commons/classes
3.%TOMCAT_HOME%/server/lib, %TOMCAT_HOME%/server/classes
4.%TOMCAT_HOME%/shared/lib, %TOMCAT_HOME%/shared/classes
5.WEB-INF/lib, WEB-INF/classe
が、あります。
libには、jarファイルを、classesには、jar化されていないclassファイルやpropertiesなどのリソースファイルを置きます。

あとは、%TOMCAT_HOME%/bin/を改造して明示的にclasspathを設定する方法などがあります。

詳しくは、参考URLに載ってます。

参考URL:http://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/class-loader-howto.html

Tomcatのクラスパスを通すには、
まずはデフォルトとして、
1.%JAVA_HOME%/jre/lib/extのjarファイル
2.%TOMCAT_HOME%/commos/lib, %TOMCAT_HOME%/commons/classes
3.%TOMCAT_HOME%/server/lib, %TOMCAT_HOME%/server/classes
4.%TOMCAT_HOME%/shared/lib, %TOMCAT_HOME%/shared/classes
5.WEB-INF/lib, WEB-INF/classe
が、あります。
libには、jarファイルを、classesには、jar化されていないclassファイルやpropertiesなどのリソースファイルを置きます。

あとは、%TOMCAT_HOME%/bin/を改...続きを読む

Qeclipse servlet 404対処方法

初めて質問させて頂く者です。宜しくお願いします。Java初心者です。
eclipse4.3のtomcatプロジェクトを使い、以下のServletコードを作成しました。
ブラウザアドレスバーに以下アドレスを入れて実行しましたが、HTTPステータス404が表示されます。
どのように改善したら良いかアドバイスをお願い致します。長文申し訳ございません。本当に困っています。

環境:windows8.1 eclipse4.3
ディレクトリ:jwapp(プロジェクト名)
-test(パッケージ名)
-First(ファイル名)
指定アドレス:localhost:8080/jwapp/servlet/test.First

web.xmlファイルはWEB-INFの中に置いています。
記述は以下のとおりです。↓

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
version="2.5"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd">
<servlet>
<servlet-name>first</servlet-name>
<servlet-class>test.First</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/first</url-pattern>
</servlet-mapping>
</web-app>

Servletのコードは以下のとおりです。↓

package test;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class First01 extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse res)
throws IOException,ServletException{
res.setContentType("text/html;charset=Shift_JIS");
PrintWriter out=res.getWriter();
out.println("<html)");
out.println("<head>");
out.println("<title>テスト</title>");
out.println("<h1>テスト</h1>");
out.println("</body>");
out.println("</heml>");
}
}

初めて質問させて頂く者です。宜しくお願いします。Java初心者です。
eclipse4.3のtomcatプロジェクトを使い、以下のServletコードを作成しました。
ブラウザアドレスバーに以下アドレスを入れて実行しましたが、HTTPステータス404が表示されます。
どのように改善したら良いかアドバイスをお願い致します。長文申し訳ございません。本当に困っています。

環境:windows8.1 eclipse4.3
ディレクトリ:jwapp(プロジェクト名)
-test(パッケージ名)
-First(ファイル名...続きを読む

Aベストアンサー

publicクラス名は、ファイル名と同じにします。
web.xmlのur-pattern要素が/firstならば、urlは下記になります。

http://localhost:8080/jwapp/first

QdoGetとdoPostの違い

それぞれブラウザからのリクエストの種類に対応する
メソッドがdoGet,doPost。
doGetはブラウザからGETでそのサーブレットに
リクエストがあった時に、処理が始まるメソッド、
doPostは同じようにPOSTを受け取った時に動き出す

・・・・・ということなのですが、
doGetもdoPostも、中身のコーディングの仕方としては
同様でいいのでしょうか?
いま、doGetでリクエストに対応する処理をうけつけて
いるのですが、255バイトまでなのでdoPostのほうが
いいということがかかれていました。

これは、ブラウザ:Servletのメソッドで対応してれば
いいだけで、結局は送信量の違いだけですか?
そのへんがよくわかってないので教えてください。

ちなみに、doGetでやってる処理は、

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {

//Bean(workBean)のインスタンス作成
wk = new work_Bean();
//Bean処理実行
wk.Work();





//BeanをJSPに渡すためにHttpServletRequestオブジェクトにセット
request.setAttribute("wk",wk) ;

//ViewであるJSPを呼び出す
RequestDispatcher rDispatcher =
request.getRequestDispatcher("/kanri_JSP.jsp");
rDispatcher.forward(request,response);

こんなかんじでしてます。
あとは、ネットで、人のサンプルとかみると
doGetメソッドに処理をかいており、doPostでは
doGet(request,response);として
doGetをよんでたりするんですが、
これは、PostでもGetと同様の処理ができると
いうことですか?
基本的な質問過ぎるかとおもいますがおしえてください。

それぞれブラウザからのリクエストの種類に対応する
メソッドがdoGet,doPost。
doGetはブラウザからGETでそのサーブレットに
リクエストがあった時に、処理が始まるメソッド、
doPostは同じようにPOSTを受け取った時に動き出す

・・・・・ということなのですが、
doGetもdoPostも、中身のコーディングの仕方としては
同様でいいのでしょうか?
いま、doGetでリクエストに対応する処理をうけつけて
いるのですが、255バイトまでなのでdoPostのほうが
いいということがかかれていました。

これは、ブ...続きを読む

Aベストアンサー

GET と POST では、パラメータをプログラムに渡す仕組みが全く違います。
仕組みが違うので渡せるパラメータの大きさが違う、等の違いが出てきます。

ですが、Servlet では、その違いを request オブジェクトが全部隠してくれて
いるので、気にしなくて良いです。つまり、同じことができて、呼出され方が
違う、と。

普通は、html や JSP の方も、Servlet を意識して書くでしょうから、
どちらかだけの実装で良いのですが、汎用的(呼ぶ人を特定しない)な Servlet
を書こうと思ったら、両方を実装しておく、と理解しておけば良いです。


ちなみに、GET で渡せるパラメータの大きさは 255 バイトと決っているわけでは
ないし、POST で渡せるパラメータの大きさに制限が無い、というわけでもあり
ません。

GET の制限は、どちらかというとブラウザ側の実装によって決ってくることで、
POST に制限があるとしたらサーバ側(例えば、Servlet コンテナ)の実装に
よってきます。

QInner join と Left joinの明確な違いは?

Inner join と Left joinの違いがよくわかりません。
教えてください。

Aベストアンサー

出てくる結果が違います。

テーブル1のフィールド1に、






が、

テーブル2のフィールド1に、






が入力されている場合、

SELECT [テーブル1].[フィールド1], [テーブル2].[フィールド1]
FROM テーブル1 LEFT JOIN テーブル2 ON [テーブル1].[フィールド1]=[テーブル2].[フィールド1];
では、結果は、
テーブル1.フィールド1 テーブル2.フィールド1
1               1
2               2
3               3
4               NULL
5               NULL
6               NULL
の6レコードが出力されますが、

SELECT [テーブル1].[フィールド1], [テーブル2].[フィールド1]
FROM テーブル1 INNER JOIN テーブル2 ON [テーブル1].[フィールド1]=[テーブル2].[フィールド1];
では、結果は、
テーブル1.フィールド1 テーブル2.フィールド1
1               1
2               2
3               3
の3レコードしか出力されません。

出てくる結果が違います。

テーブル1のフィールド1に、






が、

テーブル2のフィールド1に、






が入力されている場合、

SELECT [テーブル1].[フィールド1], [テーブル2].[フィールド1]
FROM テーブル1 LEFT JOIN テーブル2 ON [テーブル1].[フィールド1]=[テーブル2].[フィールド1];
では、結果は、
テーブル1.フィールド1 テーブル2.フィールド1
1               1
2               2
3           ...続きを読む

Qservletからjspへオブジェクトの配列情報を送る方法

いつもお世話になっております。echo2002です。

さて、今回は以下のような処理を行いたいのですが、可能なのでしょうか?
”servletで作成したオブジェクトの配列をjspにforwardして表示させる”

こんなような処理を考えています。

構成:FileListServletクラス, FileInfomationクラス, disp.jsp

FileInfomationクラスではファイル名やファイルサイズなどの情報を持ち、
それぞれgetなどのアクセサメソッドを持つとします。

FileListServletクラスでの処理
FileInfomationクラスの配列を作成し、各情報をsetする。
HttpServletRequestにsetAttributeでFileInfomation情報を付加し、
disp.jspへforwardする。

※以下の方法を考えています。
request.setAttribute("fileinfo1", fileinfo[0]);
request.setAttribute("fileinfo2", fileinfo[1]);
request.setAttribute("fileinfo3", fileinfo[2]);
・・・
(配列でsetAttributeできるのかわからなかったので、
 とにかくファイルの数分setAttributeしてみました)

getServletContext().getRequestDispatcher("/disp.jsp").forward(req, res)

わからないこと:
disp.jspでどのようにFileInfomationの情報を取得し、
内容を参照できるのかがよくわからないのです。
jspの暗黙オブジェクトrequestを使用して、request.getParameterをすると、
返ってくる値がStringのようなので、FileInfomationクラスにならないんですよね?

突っ込みどころ満載の質問かと思いますが、何かアドバイス頂ければと思います。
オブジェクトの配列をsetAttributeしてjspで読み出せる方法があれば、
それもご教授いただけますでしょうか。
よろしくお願いいたします。jsp難しいです・・・。

いつもお世話になっております。echo2002です。

さて、今回は以下のような処理を行いたいのですが、可能なのでしょうか?
”servletで作成したオブジェクトの配列をjspにforwardして表示させる”

こんなような処理を考えています。

構成:FileListServletクラス, FileInfomationクラス, disp.jsp

FileInfomationクラスではファイル名やファイルサイズなどの情報を持ち、
それぞれgetなどのアクセサメソッドを持つとします。

FileListServletクラスでの処理
FileInfomationクラスの配列を作成し、...続きを読む

Aベストアンサー

setなんちゃらメソッドで値を設定したら、getなんちゃらメソッドを呼べば良かったのです。つまり、set/get以下が同名のメソッド同士をセットで使えば良いのです。
今回の場合は、getAttributeメソッドですね。
戻り値はObjectですがこれはキャストすれば良いのです。
FileInfomation 変数 = (FileInfomation)request.getAttribute("fileinfo1");
てな具合です。

なお、getParameterメソッドは、クライアント(ブラウザ)から送信されたパラメータを取得するメソッドです。

さて、話を次の段階に進めて、配列を受け渡しできるか?となりますが、、できます。
サーブレット側で、
request.setAttribute("キー文字列", fileinfo);
として、JSP側で、
FileInfomation[] 変数 = (FileInfomation[])request.getAttribute("キー文字列");
とすれば、良いのです。

Qサーブレット実行時のエラー

サーブレットを実行したときにTomcatでこのようなエラーが出てしまいます。

http://aohina.boy.jp/err.bmp

クラスパス&パスはすべて通してあり、http://localhost:8080/には接続できますのでTomcatは動いてると思います。

Tomcatのバージョン:5.5.9
Javaのバージョン:jdk1.5.0_02
ここを参考にサンプルプログラムを作ろうと思ってます。
http://www.hellohiro.com/servlet.htm

Aベストアンサー

こんにちは、invokerの設定では私も四苦八苦した覚えがあります。
未だに勉強中ですので間違った内容かも知れませんが、何かのヒントになれば幸いです。

>ラッパがサーブレットクラス javahello.HelloWorldServlet ・・・を見つけることができません。
上記のメッセージから、servlet-api.jarにパスは通っていて、invokerクラスは呼び出せていますね。

>java.lang.ClassNotFoundException: javahello.HelloWorldServlet
このメッセージからは、javahelloパッケージに属しているHelloWorldServletを見つけることができていないことが分かります。

javahelloパッケージに属しているjavahello.HelloWorldServletにアクセスする場合は、
http://localhost:8080/javahello/servlet/javahello.HelloWorldServlet
というようにクラス名をパッケージ名を含めた完全修飾子で指定する必要があります。
(ソースの先頭には、package javahello;が記述されていますよね。)

私の理解している範囲で一般的な名称で書き直すと、以下のようになります。
http://localhost:8080/[コンテキストパス]/[サーブレットマッピングで指定したURLパターン]/[パッケージ].[サーブレット]
サーブレットがパッケージに属していない場合は、[パッケージ].の部分は不要です。

【補足】
%TOMCAT_HOME%\conf\Catalina\localhost\javahello.xmlは作成してあるでしょうか?
もし作成していないのならば、以下の内容を記述して下さい。
<Context path="/javahello" docBase="[%TOMCAT_HOME%のパスを設定]\webapps\javahello" reloadable="true"/>

【補足2】
以前のQAでお勧めしたTomcatハンドブックですが、実は私も購入しておりません(笑)
invokerの設定で悩んだ時に立ち読みしまして、内容が良かったのでお勧めしました。

参考URLにはTomcat5.x系でのServletの実行方法がありますので、そちらもどうぞ。

参考URL:http://www.javaroad.jp/opensource/js_tomcat2.htm

こんにちは、invokerの設定では私も四苦八苦した覚えがあります。
未だに勉強中ですので間違った内容かも知れませんが、何かのヒントになれば幸いです。

>ラッパがサーブレットクラス javahello.HelloWorldServlet ・・・を見つけることができません。
上記のメッセージから、servlet-api.jarにパスは通っていて、invokerクラスは呼び出せていますね。

>java.lang.ClassNotFoundException: javahello.HelloWorldServlet
このメッセージからは、javahelloパッケージに属しているHelloWorldServletを見つけ...続きを読む

Qレコード件数の表示

夜分失礼します。
上記内容について教えてください。
今JAVAを用いてレコード件数(200件)を表示させようとしています。
しかし、レコードセットの表示方法しか知らず、またレコード件数をPHPで表示させる方法くらいしか検索できませんでした。どこがいけないか指摘してください。
以下にコア部分を書きます。

// ドライバクラスをロード
Class.forName("org.gjt.mm.mysql.Driver");
// データベースへ接続
String url = "jdbc:mysql://localhost:3306/db";
con = DriverManager.getConnection(url,"root","**********")
stmt2 = con.createStatement();
strQuery2 = " select count(*) AS RecordNums from ********** ";
ResultSet rs2 = stmt2.executeQuery( strQuery2 );
SumNo = rs2.getFetchSize();

どうしてもSumNo=0となってしまいます。

夜分失礼します。
上記内容について教えてください。
今JAVAを用いてレコード件数(200件)を表示させようとしています。
しかし、レコードセットの表示方法しか知らず、またレコード件数をPHPで表示させる方法くらいしか検索できませんでした。どこがいけないか指摘してください。
以下にコア部分を書きます。

// ドライバクラスをロード
Class.forName("org.gjt.mm.mysql.Driver");
// データベースへ接続
String url = "jdbc:mysql://localhost:3306/db";
con = DriverManager.getConnect...続きを読む

Aベストアンサー

>「java.sql.SQLException: Before start of result set SQL 」
>というエラーが出ました。
>このエラーは何を表しているのでしょうか??(・_・?)

ResultSetのURLを見てもらうと書いていますが、「初期状態では、カーソルは~」という理由で
getInt(int columnIndex) メソッドを呼び出す前に
next() メソッドを呼び出す必要があります。

つまり、

Connection con =DriverManager.getConnection(~);
Statement stmt = con.createStatement();
String sql="";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next())
{
int int_a = rs.getInt(~);
String str_a = rs.getString(~);
String str_b = rs.getString(~);
}
stmt.close();
con.close();

という使い方がDBへアクセスするときのひとつの流れです。(select文の結果を全て表示したいときですが)



>「public int getInt(int columnIndex)」
>この宣言はするべきなのでしょうか?
>これを追加すると(public int getInt;)ここがエラーになります。
どのクラスに定義しようとしていて、どんなエラーが出たのかよくわからないのでなんともいえませんが、インターフェースResultSetにはこのメソッドがすでに定義されているので、あなたがResultSetをimplementsしたクラスを作ろうとしているのならともかく、ResultSetをimplementsしたクラスを使うだけならこのメソッドを定義する必要はありません。


ところで、改行の問題はうまくいったんですか?

>「java.sql.SQLException: Before start of result set SQL 」
>というエラーが出ました。
>このエラーは何を表しているのでしょうか??(・_・?)

ResultSetのURLを見てもらうと書いていますが、「初期状態では、カーソルは~」という理由で
getInt(int columnIndex) メソッドを呼び出す前に
next() メソッドを呼び出す必要があります。

つまり、

Connection con =DriverManager.getConnection(~);
Statement stmt = con.createStatement();
String sql="";
ResultSet rs = stmt.executeQ...続きを読む

Qjavax.servlet.ServletExceptionが発生する(ファイルアップロード)

ファイルのアップロードをするために
org.apache.commons.fileupload.FileItemFactory factory=new org.apache.commons.fileupload.disk.DiskFileItemFactory();
org.apache.commons.fileupload.servlet.ServletFileUpload upload=new org.apache.commons.fileupload.servlet.ServletFileUpload(factory);
java.util.List<org.apache.commons.fileupload.FileItem> items=upload.parseRequest(request);
としているのですが
java.util.List<org.apache.commons.fileupload.FileItem> items=upload.parseRequest(request);
の行で以下の例外が発生してしまいます。

メッセージ

説明 The server encountered an internal error () that prevented it from fulfilling this request.

例外

javax.servlet.ServletException: サーブレットの実行により例外を投げました


原因

java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:196)
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:358)
org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
BlobUploadProcess.doPost(BlobUploadProcess.java:8)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

どのようにすれば解決できるでしょうか?

ファイルのアップロードをするために
org.apache.commons.fileupload.FileItemFactory factory=new org.apache.commons.fileupload.disk.DiskFileItemFactory();
org.apache.commons.fileupload.servlet.ServletFileUpload upload=new org.apache.commons.fileupload.servlet.ServletFileUpload(factory);
java.util.List<org.apache.commons.fileupload.FileItem> items=upload.parseRequest(request);
としているのですが
java.util.List<org.apache.commons.fileupload.FileItem> items=upload.parseReque...続きを読む

Aベストアンサー

DeferredFileOutputStreamクラスがない、ということのようだが。

commons-io-1.x.jarはインストールされているだろうか。
commons-fileupload-1.x.jarは、当然入っているのだよね?

Q[onClick]ボタンを押すことで入力欄に文字を挿入する方法は?

Google の TOP ページを想像していただけるとわかりやすいかと思うのですが、
※ http://www.google.co.jp/
Web ページ(html ファイル)に文字入力欄(ボックス)とボタンがある時、
ボタンを押すとボックスに何らかの文字が出力されるように
JavaScript を組みたいのですが、何か良い方法はご存知でしょうか?

以下が私が考えている案です。

***********************************************************************
文字入力欄(ボックス)は input タグによって作られるので、

<input class=hoge onClick="charInput('ぬるぽ')">

のようにして input タグ内に onClick を埋め込み、
関数 charInput(引数) については
head タグ内の script タグ内で定義します。

しかし、この関数部をどのように実装すれば良いかや、
span タグの設定をしなくても良いのかなど、
調べても不明な点を解決できず困っております。

***********************************************************************

以上、大変恐縮ですが何かコメントいただけると非常に嬉しいです。
よろしくお願いします。

Google の TOP ページを想像していただけるとわかりやすいかと思うのですが、
※ http://www.google.co.jp/
Web ページ(html ファイル)に文字入力欄(ボックス)とボタンがある時、
ボタンを押すとボックスに何らかの文字が出力されるように
JavaScript を組みたいのですが、何か良い方法はご存知でしょうか?

以下が私が考えている案です。

***********************************************************************
文字入力欄(ボックス)は input タグによって作られるので、

<input class=ho...続きを読む

Aベストアンサー

<script type="text/javascript">
function clicli(){

document.frm.target.value = "あああ";
}
</script>
<form name="frm">
<input type="button" value="実行" onclick="clicli()" />
<input type="text" name="target">
</form>


人気Q&Aランキング

おすすめ情報