#nomenubar *2006年度第20回ゼミ(2006年10月19日)資料 [#y5619a92] CENTER:[[10月12日(ゼミ#19)>Lab/2006/1012]] << 10月19日(ゼミ#20) >> [[10月26日(ゼミ#21)>Lab/2006/1026]] CENTER:[[研究関係Wikiトップへ戻る>Lab]] #contents **11/08 [#q9e8d129] ToDo -Picnicとの接続テスト -Event Listが表示されない原因 -Webカメラからのレスポンスがおかしい理由 -アルマジロへの移植 **11/07 [#f31fa3bd] -Webカメラからの画像取得に成功・Webカメラの操作にも成功 --画像はサーバーに保存されるだけでブラウザに出ない --操作も成功はするが表示される画面が変(HTMLの冒頭数バイトが切れてる?) DeviceController内でよく例外エラーが発生する部分(640行付近)→try〜catchを挿入 attrs.put("Attr",params.get(0).toString()); attrs.put("Name",params.get(1).toString()); attrs.put("Dest",params.get(2).toString()); attrs.put("Port",Integer.decode(params.get(3).toString())); AccessServlet内でWebカメラ情報取得時に例外エラーが発生する部分(301行付近)→try〜catchを挿入 File dataout = new File("/usr/local/tomcat/webapps/ROOT/servlet/data/" + res_from_dc.attr + ".xml"); (中略) dataout.createNewFile(); **11/1 [#v610ef09] -AccessServletのdoGet内ではreturnすればすぐプログラムが終了する --return直前にout.printlnでエラー内容を出力すれば読むことができる! --DeviceControllerのReadData内でrtn.return_strにエラー内容を出力する **10/29 [#u38c7af6] -500エラーでAccessServletが動作しなかったのはjavaのバージョンが古かったため --.zshrcでjavaおよびjavacを最新のJDKのalias指定してコンパイルし直し --500エラーの画面で「サーブレットインスタンスを割り当て中のエラー」と出る時は環境を確認 --tomcat起動時に実行されるsetclasspath.shに正しいclasspathが設定されていなかったのが原因。http://d.hatena.ne.jp/karia/20061029#1162113331 -out.println("なんとか");でHTMLに文字が出力される模様 --getListメソッド内ではダメらしい(コンパイルの段階でエラー扱い) ---return kekkaとして文字列を返しているのでkekka = kekka + "なんとか";として対処 -文字のエンコード関係で警告が大量発生 --動作には影響しないのでjavac時に-nowarnで抑制 --"-encoding EUC-JP"でも抑制されるが、どちらにしろ日本の出力は全部???になる --"PrintWriter out = res.getWriter();"より前にsetContentTypeが無かったのが原因だった http://www.ingrid.org/java/jserv/i18n/corruptedchar.html#location-1 ***AccessServletに直接アクセス [#x72f6f2c] -Translation error - javax.xml.transform.TransformerConfigurationExceptionという表示はXmlTrans.class内のエラー表示 -「スタイルシートをコンパイルできませんでした」はXML・XSLのファイル名をわざと間違ったものにしても変化なかった→ファイルの置き場所が悪いor何故かちゃんと読めてない -''サーバー上のフルパスでxml、xslを指定するとちゃんと動作''→以降はDevice.xml直の時と同じ ***Device.xml上で「クエリ送信」ボタンを押した場合 [#f406d4f6] -ArrayList関連のエラーが出る→DeviceController.java内のDevice.xmlの位置を修正すればOK java.lang.NumberFormatException: For input string: "" java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) java.lang.Integer.parseInt(Integer.java:468) java.lang.Integer.valueOf(Integer.java:526) java.lang.Integer.decode(Integer.java:919) DeviceController.ReadData(DeviceController.java:643) AccessServlet.doGet(AccessServlet.java:184) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) -DeviceController内643行目 --ポート番号と思われる数字の取得に失敗(おそらく空文字が帰って来てる) →DeviceControllerの643行目をtry〜catchで囲んだ java.lang.NullPointerException java.util.StringTokenizer.<init>(StringTokenizer.java:182) java.util.StringTokenizer.<init>(StringTokenizer.java:204) AccessServlet.doGet(AccessServlet.java:200) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) AccessServletの200行目:''aSt = new StringTokenizer(res_from_dc.html_source, "%" );'' ***Device.xml上でEvent Listをクリックした場合 [#wd5ef087] java.net.ConnectException: Connection refused java.net.PlainSocketImpl.socketConnect(Native Method) java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) java.net.Socket.connect(Socket.java:516) java.net.Socket.connect(Socket.java:466) java.net.Socket.<init>(Socket.java:366) java.net.Socket.<init>(Socket.java:179) AccessServlet.doGet(AccessServlet.java:109) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) -AccessServletの109行目→"Socket socket = new Socket( "localhost", 5001 );" ***Device.xml上でData Exportをクリックした場合 [#ae0cc7f6] -"ERR - Save exception java.io.FileNotFoundException: /servlet/_tmp_ (No such file or directory)"と表示される --表示してる場所はDeviceController経由・External.class内の''return "ERR - Save exception " + e;''の部分 --実際にhttp://192.168.5.227:8080/servlet/_tmp_が存在しても同じエラー **10/17 [#g779af28] -IndexOutOfBoundsExceptionは例外の一種。ArrayListにアクセスする際に、インデックスナンバーが要素数より大きい場合やマイナスの場合に投げられる。 --http://www.kab-studio.biz/Programing/JavaA2Z/Word/00000247.html -W-ZERO3に接続されているセンサーデバイスを、W-ZERO3上で一括して操作・データ蓄積・サーバに転送できるシステム?(XMLで定義を記述可能な) -学校鯖にインストールされているのはTomcat5.5.20 --修論で使用しているのはTomcat3.3.1 **10/16 [#n9cfda76] AccessServletは動作したが直接アクセスするとエラーが出る →Device.xmlに操作画面らしきものがある(操作しても500エラーだが) **10/13 [#x18ff804] HelloWorldServletの動作にはWEB-INF/web.xmlに以下の記述が必要 <servlet> <servlet-name>HelloWorldServlet</servlet-name> <servlet-class>HelloWorldServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorldServlet</servlet-name> <url-pattern>/servlet/HelloWorldServlet</url-pattern> </servlet-mapping> **ToDo [#m5616852] -目的? -ネットワークカメラを探す **ゼミメモ [#v6571693] -何をテーマにするかを明確にする --アプリ開発が目的ではない -ケーブル延長は意味無い --ネットワーク経由のUSBデバイス接続方法がある -GPS Bluetooth -Webカメラ -BeSilent(サーバーのインストール先として) **関連ページ [#yaa0d579] -[[Lab]]