<?xml version="1.0" encoding="UTF-8" ?>
<rss version="0.91">
  <channel>
    <title>備忘録</title>
    <description>プログラミング(javaメイン)とか吉里吉里/tjs2とかの備忘録。</description>
    <link>http://m12.blog.shinobi.jp/</link>
    <language>ja</language>
    <copyright>Copyright (C) NINJATOOLS ALL RIGHTS RESERVED.</copyright>

    <item>
      <title>Stringが数値のみか判定</title>
      <description>年齢入力など、Stringが数値のみで構成されているかを判定するには、Integer.parseInt()を行う。&lt;br /&gt;
数値以外が含まれている場合は(NumberFormatException)が発生することを利用する。&lt;br /&gt;
try内でInteger.parseInt()を実行し、数値のみの場合の処理を続けて書く。&lt;br /&gt;
また、catch((NumberFormatException e)内で数値以外が含まれている場合の処理を書く。&lt;br /&gt;
&lt;br /&gt;
try(){&lt;br /&gt;
Integer.parseInt(STRING);&lt;br /&gt;
//---数値のみの場合の処理---&lt;br /&gt;
}catch((NumberFormatException e){&lt;br /&gt;
//---数値以外が含まれる場合の処理---&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
</description> 
      <link>http://m12.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-java/string%E3%81%8C%E6%95%B0%E5%80%A4%E3%81%AE%E3%81%BF%E3%81%8B%E5%88%A4%E5%AE%9A</link> 
    </item>
    <item>
      <title>Eclipseの動的WebプロジェクトからMySQLを呼び出す</title>
      <description>&lt;ol&gt;
	&lt;li&gt;
		あらかじめMySQLにデータベースとテーブルを作成しておく（仮データとして、userIDを持つテーブルを定義する）&lt;/li&gt;
	&lt;li&gt;
		Eclipseで「動的Webプロジェクト」を作成&lt;/li&gt;
	&lt;li&gt;
		JDBC（mysql-connector...）をWebContent/WEB-INF/libに入れる&lt;/li&gt;
	&lt;li&gt;
		WebContent/META-INFにcontent.xmlを作成（ソース1）&lt;/li&gt;
	&lt;li&gt;
		WebContent内にindex.jspを作成、編集（ソース2）&lt;/li&gt;
	&lt;li&gt;
		実行してTomcatを起動、確認&lt;/li&gt;
&lt;/ol&gt;
以下ソース&lt;br /&gt;
&lt;ul&gt;
	&lt;li&gt;
		(1) content.xml : データベース名、ユーザ名、パスワードは適宜変更&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
	&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;/div&gt;
&lt;div&gt;
	&amp;lt;Context&amp;gt;&lt;/div&gt;
&lt;div&gt;
	&amp;lt;Resource name=&amp;quot;jdbc/JNDI&amp;quot; auth=&amp;quot;Container&amp;quot; type=&amp;quot;javax.sql.DataSource&amp;quot;&lt;/div&gt;
&lt;div&gt;
	driverClassName=&amp;quot;com.mysql.jdbc.Driver&amp;quot;&lt;/div&gt;
&lt;div&gt;
	url=&amp;quot;jdbc:mysql://localhost:3306/&amp;quot;データーベース名&amp;quot;?autoReconnect=true&amp;quot;&lt;/div&gt;
&lt;div&gt;
	username=&amp;quot;ユーザ名&amp;quot; password=&amp;quot;パスワード&amp;quot; /&amp;gt;&lt;/div&gt;
&lt;div&gt;
	&amp;lt;/Context&amp;gt;&lt;/div&gt;
&lt;ul&gt;
	&lt;li&gt;
		(2)index.jsp : 同様にデータベース名、ユーザ名、パスワード、テーブル名は適宜変更&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
	&amp;lt;%@ page language=&amp;quot;java&amp;quot; contentType=&amp;quot;text/html; charset=windows-31j&amp;quot;&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp; &amp;nbsp; pageEncoding=&amp;quot;windows-31j&amp;quot;&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp; &amp;nbsp; import=&amp;quot;java.sql.*&amp;quot;%&amp;gt;&lt;/div&gt;
&lt;div&gt;
	&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD HTML 4.01 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/html4/loose.dtd&amp;quot;&amp;gt;&lt;/div&gt;
&lt;div&gt;
	&amp;lt;html&amp;gt;&lt;/div&gt;
&lt;div&gt;
	&amp;lt;head&amp;gt;&lt;/div&gt;
&lt;div&gt;
	&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=windows-31j&amp;quot;&amp;gt;&lt;/div&gt;
&lt;div&gt;
	&amp;lt;title&amp;gt;Insert title here&amp;lt;/title&amp;gt;&lt;/div&gt;
&lt;div&gt;
	&amp;lt;/head&amp;gt;&lt;/div&gt;
&lt;div&gt;
	&amp;lt;body&amp;gt;&lt;/div&gt;
&lt;div&gt;
	&amp;lt;%&lt;/div&gt;
&lt;div&gt;
	try {&lt;/div&gt;
&lt;div&gt;
	Class.forName(&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance();&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	Connection con = DriverManager.getConnection(&lt;/div&gt;
&lt;div&gt;
	&amp;quot;jdbc:mysql://localhost/データベース名&amp;quot;, &amp;quot;ユーザ名&amp;quot;, &amp;quot;パスワード&amp;quot;);&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	Statement stmt = con.createStatement();&lt;/div&gt;
&lt;div&gt;
	ResultSet rs = stmt.executeQuery(&amp;quot;SELECT userID from テーブル名&amp;quot;);&lt;/div&gt;
&lt;div&gt;
	while (rs.next()) {&lt;/div&gt;
&lt;div&gt;
	out.println(&amp;quot;-------------------------------&amp;lt;br&amp;gt;&amp;quot;);&lt;/div&gt;
&lt;div&gt;
	out.println(&amp;quot;userID &amp;nbsp; &amp;nbsp; : &amp;quot; + rs.getString(&amp;quot;userID&amp;quot;) + &amp;quot;&amp;lt;br&amp;gt;&amp;quot;);&lt;/div&gt;
&lt;div&gt;
	}&lt;/div&gt;
&lt;div&gt;
	rs.close();&lt;/div&gt;
&lt;div&gt;
	stmt.close();&lt;/div&gt;
&lt;div&gt;
	con.close();&lt;/div&gt;
&lt;div&gt;
	}catch(Exception e){&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	}&lt;/div&gt;
&lt;div&gt;
	%&amp;gt;&lt;/div&gt;
&lt;div&gt;
	&amp;lt;/body&amp;gt;&lt;/div&gt;
&lt;div&gt;
	&amp;lt;/html&amp;gt;&lt;/div&gt;
</description> 
      <link>http://m12.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-java/eclipse%E3%81%AE%E5%8B%95%E7%9A%84web%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%8B%E3%82%89mysql%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99</link> 
    </item>
    <item>
      <title>Javaのgetterとsetter、プロパティ</title>
      <description>最近他言語を使うことが多く、久しぶりにJavaに戻ってきた。&lt;br /&gt;
ある変数に対してsetterとgetterが必要だったがプロパティの書き方を忘れたのでｇｇったら、&lt;br /&gt;
Javaにはプロパティ構文が無いということを思い出した。&lt;br /&gt;
&lt;br /&gt;
Javaに慣れている人にとっては超基本的なことだが、すっかり忘れていた。&lt;br /&gt;
安全な設計をするならフィールドをprivateにしてsetter/getterで値にアクセスするべきだが、&lt;br /&gt;
正直ソースはかなり見難くなる。&lt;br /&gt;
個人レベルの趣味プログラミングなら、フィールドをpublicにしてもいいかもしれない。</description> 
      <link>http://m12.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-java/java%E3%81%AEgetter%E3%81%A8setter%E3%80%81%E3%83%97%E3%83%AD%E3%83%91%E3%83%86%E3%82%A3</link> 
    </item>
    <item>
      <title>変数（文字列）からクラスを指定</title>
      <description>文字列変数からクラスを指定し、クラス作成やメソッド呼び出しをする方法。&lt;br /&gt;
文字列変数の後に ! を付けることで、そのクラスを対象とすることができる。&lt;br /&gt;
&lt;br /&gt;
(例)&lt;br /&gt;
className という名前のクラスの isReadyメソッドを呼び出す&lt;br /&gt;
※isReady()は静的呼び出しが可能であること&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;
var cn = &amp;quot;className&amp;quot;;

var flg = cn!.isReady();
&lt;/pre&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;ul&gt;
	&lt;li&gt;
		参考
		&lt;ul&gt;
			&lt;li&gt;
				TJS2リファレンス :&amp;nbsp;&lt;a href=&quot;http://devdoc.kikyou.info/tvp/docs/tjs2doc/contents/&quot;&gt;http://devdoc.kikyou.info/tvp/docs/tjs2doc/contents/&lt;/a&gt;
				&lt;ul&gt;
					&lt;li&gt;
						式と演算子 - 関数呼び出し、カッコ類、後置インクリメント・デクリメントなど - !演算子&lt;/li&gt;
				&lt;/ul&gt;
			&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
</description> 
      <link>http://m12.blog.shinobi.jp/%E5%90%89%E9%87%8C%E5%90%89%E9%87%8C-tjs/%E5%A4%89%E6%95%B0%EF%BC%88%E6%96%87%E5%AD%97%E5%88%97%EF%BC%89%E3%81%8B%E3%82%89%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%92%E6%8C%87%E5%AE%9A</link> 
    </item>
    <item>
      <title>Stringに含まれる文字数をカウント</title>
      <description>&lt;div&gt;
	Stringに含まれている文字の数をカウント。&lt;br /&gt;
	それっぽいメソッドが無かったため適当にコード書いたけど、&lt;br /&gt;
	たぶんもっといい方法がある気がする。&lt;br /&gt;
	（split()で配列作ってlengthを返すとか&amp;hellip;&amp;hellip;もっとダメか）&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;pre&gt;
public static int getColonNum(String input) {
	int p = -1;
	int n = 0;
	while (true) {
		p = input.indexOf(&amp;quot;:&amp;quot;, p + 1);
		if (p == -1)
			break;
		n++;
	}
	return n;
}
&lt;/pre&gt;
&lt;/div&gt;
</description> 
      <link>http://m12.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-java/string%E3%81%AB%E5%90%AB%E3%81%BE%E3%82%8C%E3%82%8B%E6%96%87%E5%AD%97%E6%95%B0%E3%82%92%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88</link> 
    </item>
    <item>
      <title>Eclipse/TomcatでWebサービス作成</title>
      <description>Eclipse/TomcatでWebサービスを作成する方法。
&lt;ul&gt;
	&lt;li&gt;
		&lt;span id=&quot;cke_bm_136C&quot; style=&quot;display: none; &quot;&gt;&amp;nbsp;&lt;/span&gt;環境
		&lt;ul&gt;
			&lt;li&gt;
				Eclipse 3.5&lt;/li&gt;
			&lt;li&gt;
				Tomcat 6.0&lt;/li&gt;
			&lt;li&gt;
				Axis2-1.4.1&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;
		前提
		&lt;ul&gt;
			&lt;li&gt;
				Eclipseの環境設定が終わっていること
				&lt;ul&gt;
					&lt;li&gt;
						ウィンドウ - 設定 - Webサービス　のAxis2のあたりとか&lt;/li&gt;
				&lt;/ul&gt;
			&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;
		手順&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;margin-left: 40px; &quot;&gt;
	&lt;li&gt;
		ファイル - 新規 - その他 から Web - 動的Webプロジェクト を選択&lt;/li&gt;
	&lt;li&gt;
		[target runtime] を apache tomcat V6.0、[構成]の変更からAxis2 Webサービスにチェック、完了してプロジェクト作成&lt;/li&gt;
	&lt;li&gt;
		適当にクラスとメソッドを作成&lt;/li&gt;
	&lt;li&gt;
		作成したjavaソースファイル(.java)を右クリック、Webサービス - Webサービスの作成&lt;/li&gt;
	&lt;li&gt;
		適当に[次へ]を選択、サーバとサービスを起動&lt;/li&gt;
	&lt;li&gt;
		ブラウザで確認
		&lt;ul&gt;
			&lt;li&gt;
				http://localhost:8080/[プロジェクト名]/services/[クラス名]/[メソッド名]&lt;/li&gt;
			&lt;li&gt;
				設定次第で変わるかも&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ol&gt;
以上&lt;span id=&quot;cke_bm_125C&quot; style=&quot;display: none; &quot;&gt;&amp;nbsp;&lt;/span&gt;</description> 
      <link>http://m12.blog.shinobi.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-java/eclipse-tomcat%E3%81%A7web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E4%BD%9C%E6%88%90</link> 
    </item>

  </channel>
</rss>