Quantcast
Channel: OKWAVE 閲覧数の多い質問(Java/253)【本日】
Viewing all 68675 articles
Browse latest View live

Javaのエラーについて

$
0
0
JavaでMySQLを使ったプログラムを作成中です。 もちろんJDBCを使ってます。 SQLを実行すると java.sql.SQLException:Can not issue data manipulation statements with executeQuery() というエラーになります。 SQLは update logt set naiyou='musi' where name='fukuoka'; です。 どうもSELECT文のSQLは動くみたいですが、UPDATEやINSERTはエラーになるみたいです。 原因がわかりません。 教えてください。

Eclipse 実行→Javaアプリケーションが表示されません。

$
0
0
Javaのお勉強を始めて一週間のど素人です。 Eclipseを学校で使っていて、学校で実行するときは、 右クリック>実行>でJavaアプリケーション をします。 家でも勉強したくて 学校からもらったCDRでインストールをし、 今から復習のため、"HelloWorld"と書いて 実行しようと思ったのですが、 右クリック>実行>でJavaアプリケーション が表示されませんでした。 どうすれば表示されるのか、教えていただけませんでしょうか? 恥ずかしながら、コンピュータの知識が殆ど無い状態で 学校に通っています。 ご回答をいただける方、出来れば専門用語などを少なめに ご説明いただけると嬉しいです。 恐れ入りますが、ご回答よろしくお願いします。

Javaでlog4jを使ってログを出力させてます。

$
0
0
Javaでlog4jを使ってログを出力させてます。 複数のログを出力したいので、同一propertiesに複数のAppenderを定義しています。 内容は以下の通りです。 log4j.logger.processA=DEBUG, A log4j.appender.A=org.apache.log4j.DailyRollingFileAppender log4j.appender.A.File=a.log log4j.appender.A.DatePattern='.'yyyy-MM-dd-HH-mm log4j.appender.A.Append=true log4j.appender.A.layout=org.apache.log4j.PatternLayout log4j.appender.A.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss} %-5p %c - %m%n log4j.logger.processB=DEBUG, B log4j.appender.B=org.apache.log4j.DailyRollingFileAppender log4j.appender.B.File=b.log log4j.appender.B.DatePattern='.'yyyy-MM-dd-HH-mm log4j.appender.B.Append=true log4j.appender.B.layout=org.apache.log4j.PatternLayout log4j.appender.B.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss} %-5p %c - %m%n log4j.logger.processC=DEBUG, C log4j.appender.C=org.apache.log4j.DailyRollingFileAppender log4j.appender.C.File=c.log log4j.appender.C.DatePattern='.'yyyy-MM-dd-HH-mm log4j.appender.C.Append=true log4j.appender.C.layout=org.apache.log4j.PatternLayout log4j.appender.C.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss} %-5p %c - %m%n processAやらprocessB、processCは同一サーバ内で非同期で動くプロセスです。 つまり、動作するプロセス毎にログ出力先を変えてます。 各プロセスを動かすと、ちゃんと想定したログファイルに出力されるんですが、 ローテートの時に「log4j:ERROR Failed to rename ~」のエラーが出て、 正常にローテートしません。 なぜだろうと思って、一度全てのログファイルを削除して、 processAだけ動かしてみました。 すると、a.logだけが出力されると思いきや、 b.logとc.logまで0kbではありますが出力されたんです。 つまり、データこそ出力しないけど、 他プロセスで出力するファイルをロックしてたんです。 これって、同一propertiesに書いているのが悪いんでしょうか? それとも、設定が不足している為、そうなってしまってるんでしょうか? ご存知の方、お知恵をお貸し下さい。

ORA-01858: 数値を指定する箇所に数値以外の文字が指定されています

$
0
0
<エラーメッセージの内容> ORA-01858: 数値を指定する箇所に数値以外の文字が指定されています 開発言語は、java,oracle10g express editionです スケジュールを登録する画面のところの日付のインサートで失敗します。「→」の部分です。 <以下のSQLをSQL/PLUSで実行するとうまくいきます> insert into schedule values(1, 1, '予定1', '予定1です', TO_DATE('2009-06-01 10:00','YYYY/MM/DD HH24:MI:SS') , TO_DATE('2009-06-01 12:00','YYYY/MM/DD HH24:MI:SS'), 'A社', '予定1のコメントです。',1); <問題のソースコード> * スケジュール情報をデータベースに新規保存する public void create(Schedule schedule) { String sql = "insert into " + SCHEDULE_TABLE_NAME + " (id, user_id,subject,content, start_time, end_time, place, comment1, is_publish) values(?,?,?,?,?,?,?,?,?)"; Connection con = null; try { con = createConnection(); con.setAutoCommit(false); int id = getNextId(con, SCHEDULE_TABLE_NAME); PreparedStatement stmt = con.prepareStatement(sql); →stmt.setString(5,toString(schedule.getStartTime())); →stmt.setString(6, toString(schedule.getEndTime())); * 日付を文字列表現(yyyy-MM-dd HH:mm)に変換する private String toString(java.util.Date date) { SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm"); →return "TO_DATE('"+"'"+sd.format(date)+"'"+",'YYYY/MM/DD HH24:MI:SS'"+")"; } ネット、本などでいろいろ調べましたが、わからなかったので、ヒントになることでもいいので、ご教授よろしくお願いします。

jsp 存在日チェック

$
0
0
質問させてください。 jspで存在するかどうかの、存在日チェックを行いたいのですが、 どなたかアドバイスいただけませんか? if(20080905 == yyyymmdd) { //数字が年月日と確認できれば実行 } こういったものを連想しています。 yyyymmddの部分をつかって比較できたらと思っています。 どうぞ宜しくお願いします。

javaでメモリ使用量が増え続ける

$
0
0
public class Main extends JFrame{ public static void main(String args[]){ Main frame = new Main("test"); frame.setVisible(true); } Main(String title){ setTitle(title); setBounds(100, 100, 300, 250); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void paint(Graphics g){ Graphics2D g2 = (Graphics2D)g; BufferedImage readImage = null; try { readImage = ImageIO.read(new File("ファイルへのパス")); } catch (IOException e) { e.printStackTrace(); } g2.drawImage(readImage, 0, 0, this); readImage.flush(); g.finalize(); g2.finalize(); g.dispose(); g2.dispose(); } } いま、画像を表示するプログラムを上のように書いたのですが、ウィンドウのサイズを変更したりしてpaintが呼ばれるごと(多分)にメモリの使用量が増えていきます。 そして、メモリの使用量が減ることはなく常に増えてしまってます。 windowsのタスクマネージャーでメモリの使用量は見てます。 なぜこのようなことが起こってしまうのでしょうか?? また、どのようにすればメモリの使用量が増えることがないようにすることができるでしょうか?? よろしくお願いします。

メールサーバへの接続タイムアウトを故意的に発生

$
0
0
Javamailです props.put("mail.smtp.connectiontimeout","20000"); 上記のように設定しているのですが 本当にこの設定時間でタイムアウトになるか 調べたいと思っています。 ですが、どうやったら タイムアウトが発生するのか分かりません 出来るだけ簡単にできる方法で 回答お願いします。 注)接続中にサーバを落とす以外で

javaでアプレットの描画が出来ない

$
0
0
ものすごく初心者な質問で申し訳ありません。 jdk-1.6.0をVine linux 3.2にインストールして使用しています。 javaのソースを書いてコンパイルするなどには問題は無いのですが (今のところ) 以下のようなアプレットを試してみたところアプレットの窓は起動しますが 描画がされません。 import java.applet.Applet; import java.awt.Graphics; /* <applet code="test" width=200 height=200> </applet> */ public class test extends Applet { public void paint(Graphics g) { g.drawLine(10,10,180,110); } } 以上のコードを %javac test.java %appletviewer test.java としました。窓は起動し、アプレットが開始された、と表示されるのですが 線が見当たりません。 (ちなみに教科書にあるサンプルなので間違いがあったとしたら写し間違いです) 線が表示されるはずなんですが、表示されないのです。 まども起動するので何かJAVAを使う環境として何か細かい設定を間違って いるのかと思い質問しました。 分かる方がいらっしゃったら教えてください。

「リソース(app.dicon)が見つかりません。」と出ます。

$
0
0
「リソース(app.dicon)が見つかりません。」と出ます。 eclipseにSeasar2のプラグインを入れ、 TomcatのインストールもしたうえでTomcatの起動をしましたが 上記のメッセージが表示されてTomcatが起動できません。 開発環境は以下の順でインストールしました。 (1)jdk1.6.0_03 (2)apache-tomcat-6.0.29.exe (3)eclipse 3.5 (4)Seasar2プロジェクト作成で必要になるプラグイン Dolteng、Kijimuna、SAStruts等 SAStrutsのプロジェクトを作成するため Doltengプロジェクト作成ウィザードから Webアプリケーション、SAStruts、S2JDBC、WTP(Servlet 2.5)を選択して プロジェクトを作成しました。 作成したSAStrutsプロジェクトをTomcatにデプロイするための設定を行い、 eclipse上からTomcatを起動したところ上記のエラーが出ました。 app.diconファイル等の設定ファイル、 およびプロジェクト内のファイルの配置等は変更していません。 参考書の手順通りに行ったと思っていますが、 なぜエラーが出るのでしょうか?

javaでコンパイルが出来ない

$
0
0
java勉強中の初心者です。 カレントディレクトリのファイルを一覧表示するプログラムを作ろうと思い、下のようなコードを書いたのですが、 「構文解析中にファイルの終わりに移りました」というエラーが出ます。 何度か見直したんですが、コードが間違っているのか、どこか別に問題があるのかわかりません。 教えてください。よろしくお願いします。 ________________________________________________________________ import java.io.File; public class ListFiles { public static void main(String[] args) { ListFiles listFiles = new ListFiles(); listFiles.execute(); } private void execute() { File currentDir = new File("."); File[] files=currentDir.listFiles(); for (File file : files) { String fileName = file.getName(); String kind; if (file.isDirectory()) { kind="DIR "; }else{ kind="FILE"; } System.out.printf("%s %s%n", kind, fileName); } }

画面の大きさに合わせてボールを動かせたい

$
0
0
今日は。 javaの初心者です、宜しくお願いします。 下のようなボールが動くアプレットを組んでみましたが、画面の大きさを変えても ボールの動く範囲はかわりません。 画面の大きさに合わせて、動く範囲を自動的に変えてやるには、このプログラムの 何処をどのように書き換えてやるといいのでしょうか。  宜しくお願いします。 ========================================================================== import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; public class BallMove_1p extends Applet implements Runnable { private int width , height ; private Thread thread ; private boolean LoopEnd = false ; private int x1 = 30 , y1 = 100 ; private Image offScreen ; private Graphics screen ; private int vx = 2 , vy = 2 ; // アプレット初期化処理 public void init() { // アプレット画面サイズ取得 width= getSize().width ; height= getSize().height ; // スレッド起動 thread = new Thread( this); thread.start(); // オフスクリーンの初期化 offScreen= createImage( width, height); // オフスクリーンを作成 screen= offScreen.getGraphics(); // オブジェクトを取得 } // スレッドループ処理 public void run() { while(LoopEnd == false) { move() ; repaint() ; try { Thread.sleep( 10 ) ; } catch ( InterruptedException e ) {} } } // ボール移動 private void move() { if( x1 >= width - 50 ) { vx =- vx ; } if( y1 >= height - 50 ) { vy =-vy ; } if( x1 < 0 ) { vx =- vx ; } if( y1 < 0 ) { vy =-vy ; } x1 += vx; y1 += vy; } // 再描画時処理 public void update( Graphics g) { paint(g) ; } // 描画処理 public void paint( Graphics g) { screen.clearRect( 0 , 0 , width , height ) ;// 画面消去 screen.setColor( Color.blue ) ; screen.fillOval( x1 , y1 , 50 , 50 ) ; g.drawImage( offScreen , 0 , 0 , this ) ;// イメージを描画 } // アプレット終了時処理 public void destroy() { LoopEnd = true ; } }

Tomcat+JSPで画像が表示されない

$
0
0
Tomcat5.5で社内システムを運用しています。 JSPにてインターフェースのデザイン等をしていて、画像等の表示も問題なくできていますが 今回ちょっとファイルサイズの大きい画像を表示させようとすると画像が表示されませんでした。 (下記がエラーメッセージ) 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 javax.servlet.ServletException: サーブレットの実行により例外を投げました filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:123) 原因 java.lang.NoSuchMethodError: org.apache.naming.resources.ResourceAttributes.getCanonicalPath()Ljava/lang/String; … エラーメッセージはイマイチわからなかったので、試行錯誤したところファイルサイズが50KBを超えた画像を表示させるとエラーになるようでした。 回避策としてファイルサイズを50KB未満にするか、別サーバのApacheに画像を置いてそこにリンクすることで対応はとれした。 また、同様?かどうかわかりませんが、jqueryもTomcat内に格納するとエラーになり、別サーバに配置すると動作するといった事象も過去にありました。 これはTomcatのserver.xmlや、web.xmlの設定によるものでしょうか? 勉強不足ですいませんが、ご回答よろしくお願いいたします。

Eclipseのソース添付について

$
0
0
私はEclipseを使ってAndroidのアプリケーションを開発している初心者です。 デバッグをしていると、 「ソース添付にファイルArrays.classのソースが含まれていません。 下の「添付ソースの変更」ボタンをクリックすると、ソース添付を変更できます。」 というメッセージが出ます。 そこでソースを添付しようと思っていますが、どのソースを添付すればよいのか、ソースがどこにあるのかがわかりません。 http://www.atmarkit.co.jp/fjava/javatips/068eclipse023.html を参考にしましたが、回答欄のリンク先の「http://jakarta.apache.org/」には、Arrays.classがありませんでした。 大変困っています。ご教授をお願い致します。

Jarファイルのマニフェストファイルのクラスパスについて

$
0
0
jarファイルを作成するときのマニフェストファイルのクラスパスについて質問があります。 「./Program Files」のように空白を含むパスを指定する場合、 どのようにすればいいでしょうか? そのまま指定した場合、区切り文字として認識してしまい上手く実行できません。 空白の代わりに代替文字を指定するのでしょうか? よろしくお願いいたします。

入力(ファイル)の入力チェックにつきまして

$
0
0
いつも参考にさせて頂いております、佐藤と申します。 入力ファイルの項目チェックを行おうとしておりましたが、 どうもコンパイルエラーが発生してしまいます。 原因が分かる方がいらっしゃいましたら、是非ともご教授願います。 以下がコーディングの一部となります。 FileReader text = new FileReader(args[0]); BufferedReader data = new BufferedReader(text); String check; FileWriter fw = new FileWriter(args[1]); while((check = data.readLine())!=null){ char[] src = check.toCharArray(); //第1~2パラメータをワークに代入 try{ n = Integer.parseInt(check[0]); n2=Integer.parseInt(check[1]); }catch(java.lang.NumberFormatException e){ System.out.println("第1~2パラメータが不正です"); return; } どうも、「//第1~2パラメータをワークに代入」の下でエラーとなっているようです。 エラーの内容は、「配列が要求されましたが、Java.lang.Stringが見つかりました」と表示されてしまいます。 どうか宜しくお願い致します。

JSPとサーブレットとBean

$
0
0
とある参考書には サーブレットからBeanを呼び、Beanからデータベースに接続して JSPで表示する。と書かれています。 しかし、とあるサイトには JSPファイルだけでデータベースに接続できるソース、 Beanを使用しなくてもデータベースに接続できるというソースが書かれていました。 Beanとは一体何なのでしょうか。と思うようになりました。JSPやサーブレットで接続することができるのであれば、Beanは不要なのでは?と思っています。 今、「Beanはデータベースに接続するだけのもの」としか理解できてなく、いまいちはっきりとしません。 Beanとは一体何なのでしょうか。 意見や参考できるサイトを教えていただけませんか、 よろしくお願い致します。

<forEach> 内で供給された "items" を反復処理する方法が不明です

$
0
0
JSP、servletを実行すると 以下のエラーメッセージが 表示されてしまいます。 ---------------------------------- javax.servlet.jsp.JspTagException: <forEach> 内で供給された "items" を反復処理する方法が不明です ---------------------------------- ファイル構成は以下になります。 アプリケーションルート\WEB-INF\classes\Rssdata.java ---------------------------------- public class Rssdata{//データ格納用クラス public String[] title = new String[20]; public String[] link = new String[20]; public String[] day = new String[20]; } ---------------------------------- アプリケーションルート\WEB-INF\classes\RssOriginal.java ---------------------------------- import java.io.IOException; import java.net.URL; import java.util.HashMap; import java.util.List; import java.util.*; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.sun.syndication.feed.synd.SyndEntry; import com.sun.syndication.feed.synd.SyndFeed; import com.sun.syndication.fetcher.FeedFetcher; import com.sun.syndication.fetcher.impl.HttpURLFeedFetcher; public class RssOriginal extends HttpServlet { private static final String URL= "http://hoge.net/index20.rdf"; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { FeedFetcher ff = new HttpURLFeedFetcher(); SyndFeed feed=null; int i = 0;//for文用変数 Rssdata rssdata = new Rssdata();//rssデータ格納用クラス try { feed = ff.retrieveFeed(new URL(URL)); } catch (Exception e) { throw new ServletException(e); } Calendar cal = new GregorianCalendar(); for(SyndEntry entry : (List<SyndEntry>)feed.getEntries()){ entry.getPublishedDate(); rssdata.day[i] = cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DAY_OF_MONTH); rssdata.link[i] = entry.getLink(); rssdata.title[i] = entry.getTitle(); /* System.out.println(rssdata.day[i]); System.out.println(rssdata.link[i]); System.out.println(rssdata.title[i]); System.out.println(); */ i++; } request.setAttribute("feed", rssdata); this.getServletContext().getRequestDispatcher("/chap4/rss/index.jsp").forward(request,response); } } ---------------------------------- アプリケーションルート\chap4\rss\index.jsp ---------------------------------- <html> <head> <title>RSS情報の展開</title> </head> <body> <h1 style="color:white;background-color:#525D76;font-size:22px;"> RSS情報の展開</h1> <ul> <c:forEach var="item" items="${requestScope['feed']}"> <li><a href="${item['link']}">${item['title']}</a></li> </c:forEach> </ul> </body> </html> ---------------------------------- またこちらのページなど検索で色々調べましたが http://kamakura.cool.ne.jp/oppama/ssja/taglibs-core.html 理屈はなんとなくイメージできるのですが 具体的な解決方法がわかりませんでした。 宜しくお願い致します。

getServletConfig()でのコンパイルエラー

$
0
0
以下のソースでコンパイルエラーが出てしまいます。 ソースが汚くて申し訳ないです。 ------------------------------------------------ package to.msn.wings.chap4; import java.io.IOException; import java.net.URL; import java.util.List; import java.util.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import com.sun.syndication.feed.synd.SyndEntry; import com.sun.syndication.feed.synd.SyndFeed; import com.sun.syndication.fetcher.FeedFetcher; import com.sun.syndication.fetcher.impl.HttpURLFeedFetcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.GenericServlet; class Rssdata{//データ格納用クラス String[] title = new String[20]; String[] link = new String[20]; String[] day = new String[20]; } public class RssOriginal { // フィードのURL private static final String[] FEED_URLS = { "http://honyarara/index20.rdf", }; public void doGet(HttpServletRequest request, HttpServletResponse response) throws Exception, ServletException, IOException { int i = 0;//for文用変数 Rssdata rssdata = new Rssdata();//rssデータ格納用クラス // HTTPを元にフィードを取得するクラス「FeedFetcher」 ………(1) FeedFetcher fetcher = new HttpURLFeedFetcher(); // フィードの内容、フィードに含まれる記事エントリの内容を出力する for (String url : FEED_URLS) { // フィードの取得 ………(2) SyndFeed feed = fetcher.retrieveFeed(new URL(url)); Calendar cal = new GregorianCalendar();//カレンダー変換オブジェクト生成 for (SyndEntry entry : (List<SyndEntry>) feed.getEntries()) { entry.getPublishedDate(); rssdata.day[i] = cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.DAY_OF_MONTH); rssdata.link[i] = entry.getLink(); rssdata.title[i] = entry.getTitle(); i++; } } request.setAttribute("feed", rssdata); getServletConfig().getServletContext().getRequestDispatcher("/chap4/rss/index.jsp").forward(request,response); } } ------------------------------------------------ ------------------------------------------------ エラー内容 RssOriginal.java:75: シンボルを見つけられません。 シンボル: メソッド getServletConfig() 場所 : to.msn.wings.chap4.RssOriginal の クラス getServletConfig().getServletContext().getRequestDispatcher("/ch ap4/rss/index.jsp").forward(request,response); ------------------------------------------------ どなたか解決方法がわかりましたら教えてください。

ブラウザからバッチ起動時のPathについて

$
0
0
クライアントのPCからブラウザ上でボタンをクリック するとサーバー上のバッチを起動するようにしていますが、サーバー上で直接バッチを起動した場合は正常に動作しています。しかし、ブラウザから起動した場合には一部が正常に動作してくれません。 ブラウザから起動したバッチ上で echo %path% > c:\aaa.txt としてPathを確認しようとしたら「echoはONです」と 出力されていました。 直接起動した場合は環境変数のPathが出力されます。 環境変数で指定しているPathは使えないのでしょうか? ご存知のかたがいらっしゃいましたらご教授お願い致します。 【バッチの内容】 set DT=%date:~2,4%%date:~7,2%%date:~10,2% if "%time:~0,1%"==" " set TM=0%time:~1,1%%time:~3,2%%time:~6,2% if "%time:~0,1%"==" " GOTO :P1 set TM=%time:~0,2%%time:~3,2%%time:~6,2% :P1 set DirName=C:\backup\%DT%_%TM% mkdir %DirName% echo %path% >C:\hammy\hammy.txt aaa.exe 引数 ←ここが正常に動作しない

実数からの小数部の取得

$
0
0
いつも参考にさせて頂いております。 実数から小数部分のみを取り出す良い方法はないでしょうか? 1.25→0.25(もしくは25)となるような。 よろしくお願いします。
Viewing all 68675 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>