memo

java,ActionScript,javascript,html,css,ソーシャルマーケティングなどのメモ

Category: program

xrea,coreserverでのJpGraphの使い方

        

PHPのグラフライブラリのJpGraph。
このJpGraphをxreaやcoreserverで使う方法を色々調べても、

まとまってるとこ

わかりやすいとこ

が見つけ切れなかったのでまとめときます。
JpGraphの商用利用は有料なのであしからず。

まず、JpGraphをダウンロード
http://www.asial.co.jp/jpgraph/download.php
PHP4なり、PHP5なり、環境によってのダウンロードです。

JpGraphをダウンロードサイトへ行きダウンロードします。

ダウンロードできたら解凍します。
.zip形式でなく.tar.gz形式なので注意です。

解凍できたら
以下の構成かと思います。

jpgraph-3.0.7
└ manual
└ src
└ README
└ VERSION

いるのはsrcフォルダだけです。
あとはお好みで残してください。

srcフォルダをjpgraphにリネーム。

jpgraph-3.0.7
└ manual
└ jpgraph
└ README
└ VERSION

できたらjpgraphのフォルダの中にfont、cacheの2個のフォルダを作ります。
便宜上関係のないフォルダ等は記載しません。

jpgraph
└ font
└ cache

次はフォントをダウンロードしにいきます。
http://ossipedia.ipa.go.jp/ipafont/index.html
使用許諾に同意してダウンロードします。

独立行政法人情報処理推進機構のwebページからIPAフォントをダウンロード

同意したら、IPAフォントの4書体パックをダウンロード。
19.1MBもあるので少々時間がかかります。

IPAフォント4書体パックをダウンロード

ダウンロードできたら解凍します。
解凍したらこんな感じ。

IPAfont00302
└ IPA_Font_License_Agreement_v1.0.txt
└ ipag.ttf
└ ipagp.ttf
└ ipam.ttf
└ ipamp.ttf
└ Readme_IPAfont00302.txt

使うのは
ipag.ttf、ipagp.ttf、ipam.ttf、ipamp.ttf
だけ。

この4ファイルをfontフォルダにいれます。
jpgraph
└ font←ここ
└ cache

いれたらこんな感じ

font
└ ipag.ttf
└ ipagp.ttf
└ ipam.ttf
└ ipamp.ttf

フォントは以上。

それでは今からフォントとキャッシュのパスの設定をしていきます。
jpgraphの中の

jpg-config.inc

のファイルが編集対象ファイルです。

jpg-config.incを開き、フォントのパスを変更します。
xreaもcoreserverもパスは一緒です。
アカウント名がhogehogeなら

/virtual/hogehoge/library/jpgraph/font/

です。

と40行目あたりにあるかとおもいます。
これを/virtual/hogehoge/library/jpgraph/font/に変更します。

できたらFFFTP等FTP転送ソフトでxreaなり、coreserverなりにアクセス。

んで、最上位階層にいきます。

/
└ log
└ Maildir
└ public_html

ここにlibraryというディレクトリを作ります。
理由は外部からhttpでアクセスできない所においたほうが勝手に使われないからです。←最近教えてもらいましたw

/
└ library
└ log
└ Maildir
└ public_html

できたらlibraryにリネームしたjpgraphフォルダを丸ごとアップロード。

/library
└ jpgraph

cache、fontの二つのディレクトリを作成

/library
└ cache
└ font
└ jpgraph

権限は以下のようにしました。
cache以外のディレクトリは755、ファイルは644です。

/library
└ cache(777)
└ font(755)
└ jpgraph(755)

java.lang.StringのtoStringをオーバーライドできない

        

まず、以下のコードはコンパイルが通ります。

public class Rectangle {
int width;
int height;

public Rectangle(int width, int height) {
this.width = width;
this.height = height;
}

public String toString(int a, int b) {
return “[” + width + “, ” + height + “]”;
}

public static void main(String[] args) {
Rectangle rec = new Rectangle(100, 300);
System.out.println(rec.toString());
}
}

ですが、次のコードはコンパイルエラーとなります。

public class Rectangle {
int width;
int height;

public Rectangle(int width, int height) {
this.width = width;
this.height = height;
}

public void toString(int a, int b) {
System.out.println(“[” + width + “, ” + height + “]”);
}

public static void main(String[] args) {
Rectangle rec = new Rectangle(100, 300);
rec.toString();
}
}

これはjava.lang.StringのtoStringというメソッドをオーバーライドしているのですが
オーバーライドの基準が戻り値と引数(シグニチャ)と見ているみたいで
戻り値だけだと型の不一致でコンパイラに怒られます。

エラー文

Rectangle.java:10: Rectangle の toString() は java.lang.Object の toString() をオーバーライドできません。互換性のない戻り値の型を使おうとしました。
検出値 : void
期待値 : java.lang.String
public void toString() {
^
エラー 1 個

なのでオーバーライドされるメソッド
public String toString()

public void toString()

とどうしてもしたい場合は無駄に

public void toString(int a)

などとすればOKです。
OJC-Pの試験問題とかでそうですね。

さくらVPSでの文字化け

        

文字化けがやっとこさ直った。

結論。

  1. Tomcatのserver.xmlの設定追加
  2. CentOSのシステムの文字コードの変更

でした。

具体的にどこを直して文字化けがなおったかというと
server.xml

LANG=”C”
SYSFONT=”latarcyrheb-sun16″

ん~取得文字によってはまだ文字化ける・・・

index_jsp.java (Not such file or directory)だそうです

        

index_jsp.java (Not such file or directory)

だそうです。

サーバーにsastrutsのプロジェクト(warファイル)をtomcatのwebappsにあげて
http://hogehoge.com:8080/プロジェクト名 にアクセスしたらこれ。

なんだっつーの。

jspがコンパイルできないそうですので

TOMCATのインストールディレクトリ\common\libへ
jdkのtools.jarをコピーした。

cp /usr/local/jdk6/lib/tools.jar tools.jar

ほしたら動いた。

Serviceクラスは勝手に作ったパッケージから呼べない

        

sastrutsで勝手にパッケージ切ってクラスを作っていた。

そのクラスの中からサービスクラスを呼ぼうとしてもインスタンスがnullでいみ分からなかった。

エラーはnull pointer Exception。

で、一日中格闘の末、もしかして、seasarのデフォルトのパッケージからしか呼べないのでは?

と思い、サービスクラスを呼ぶメソッドをアクションクラスに移動。

でつかえましたとさ。

どっか、ドキュメントに書いてあったのかもしれませんね・・・・・・・・・

【エラー】WAR ファイルの出力先をプロジェクトのプロパティーで定義してください

        

SaStrutsでのWAR ファイルの作り方

プロジェクトを選択して右クリック
  ↓
tomcatプロジェクト
  ↓
プロジェクト設定に従い WARファイルを作成

ところがどっこい

「WAR ファイルの出力先をプロジェクトのプロパティーで定義してください。」

とエラー。

そこで

プロジェクトを選択して右クリック
  ↓
プロパティー
  ↓
Tomcat
  ↓
WAR エクスポート設定
  ↓
[プロジェクト名].war

あとは
/etc/local/tomcat/webapps/
にコピーすれば自動展開される。

※warの実態はzipらしい。

jspでコンテンツが表示しない時

        

s:formの記載より以下が表示しなかった。

そしたらs:formでsubmitするアクションのパスが間違っていた。

さくらVPSの申し込み方法

        

980円/月で使える、さくらVPS。
JAVAが動くサーバーを探してたところ
都合よく始まった安く好き勝手できるサービス、
それがさくらVPS。
また、今は2週間のお試し期間中なのでその間は無料で使うことができます。
Read the rest of this entry »