ubuntuでssh経由のscreenを使用する
ubuntuではssh接続環境下では、screenは単純には動作しないようです。(12.04LTS)
ncurses-termのインストールが必要になります
$ apt-get screen install $ apt-get ncurses-term install
これでssh接続下でscreenが実行可能になります
ncurses-termについては特別な設定は不要です
もちろん、.screenrcは適切に作成できている等はできているという前提です
tomcat7の導入
諸々のサイトでは普通に下記で良いとありますが$ apt-get tomcat7 install
その後、ブラウザから
http://localhost:8080
にアクセスしてインストール成功の画面が出ても、tomcat7の場合は下記を入れないとそれぞれのリンクから先に進めません
というかなぜかこれが書いてある所があまりないようなのでここに記載
$ apt-get install tomcat7-admin $ apt-get install tomcat7-docs $ apt-get install tomcat7-examples
tomcatからMySQLへのアクセス
そこら中に説明がありますが、tomcat等からjdbc経由でMySQLにアクセスするためにdriver(com.mysql.jdbc.Driver.jar)が必要ですただ、servletの場合、javacのclasspathにdriverのパスを指定してもムダです。コンパイルは通るのでブラウザ経由でServletにアクセスはできますが、driverのinstanceを生成するコードが実行されると、そんなクラス知らない、という例外が発生します
ここでは一般のjavaファイルを実行する場合を考えましょう。この場合何らかの外部パッケージを使用している場合は
$ java ~.java -classpath ~.jar
と、JVMに必要なjarファイルのパスを知らせます。これと同じ事でServletの場合は同様にtomcatがcom.mysql.jdbc.Driver.jarにアクセスできないといけません
という事で、正解は必要なファイルをWEB-INF/libに入れる、です
これも書いてある所が意外とすんなり見つからなかったのでここに記載
なお、Ubuntuの場合はSymbolic Linkでも機能します
JDBCのMySQL用DriverのInstance生成
この方法自体はあちこちで説明されています。そこでは呪文のようにClass.forName("com.mysql.jdbc.Driver").newInstance();
って見ますが、これは基本的に動的なクラス名からインスタンスを生成する時に使う方法です
たとえば、
String className = request.getParameter("class"); Class.forName(new String (className)).newInstance();
っていう感じの事をしたい時に使う手法です
本来、このMySQLドライバのインスタンス生成を行うケースではクラス名は分かっているので
っていうお馴染みの方法でOK
new com.mysql.jdbc.Driver();
っていうお馴染みの方法でOK
こちらもなぜかこの事が書いてあるサイトが無いのでムダな抵抗でここに書いておきます
ちなみに、本com.mysql.jdbc.Driverはimportができないようですが、importできないイコールnewできない、ではありません
importは
new java.util.List();
を
new List();
という様にパッケージ名を省略できるようにするための仕組みです