「Java」の編集履歴(バックアップ)一覧はこちら
「Java」(2008/01/04 (金) 04:50:16) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
-[Java]eclipseセットアップ
#highlight(){
①フォントの設定
Windows
⇒Preferrence
⇒Fonts
でText Fontを変更する。
②JDKの設定
デフォルトでは、
JREのjava.exeが設定されているので
JDKのjava.exeに変更する。
Windows
⇒Preference
⇒Java
⇒Installed JREs
で
Standard VMにJREがデフォルトチェックが
入っている
これに
インストールしてあるJDK1.4.XのJDKを設定する。
●TOMCATプラグイン動作方法
②のJDK設定の後、
Windows
⇒Preference
⇒Tomcat
⇒TOMCATの設定
でJREを変更したJDK1.4.xのものを指定する。
●JSP.XMLの色分けプラグインの設定
(Solar Eclipse Web)
Windows
⇒Preference
⇒Solar Eclipse Web
で
Add To List に xml を追加
}
-[Java]HTTPでHTMLをゲット
#highlight(java){
■実行方法
以下の内容の.batファイルを作成、第一引数のURLのHTMLファイルを標準出力する。
java -Dhttp.proxyHost=proxy1.wwww.abc.co.jp -Dhttp.proxyPort=8080 DisplayURL2 %1
import java.io.*;
import java.net.*;
public class DisplayURL2{
public static void main(String[] args){
for(int i=0; i<args.length;i++){
System.out.println("URL= "+ args[i]);
try{
URL url = new URL(args[i]);
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(),"Shift_JIS"));
String line="";
while((line =reader.readLine()) != null){
System.out.println(line);
}
reader.close();
}catch(MalformedURLException e){
System.out.println("URLの形式が間違っています:" + e);
}catch(IOException e){
System.out.println("I/Oエラーです:" +e);
}
}
}
}
}}
-[Java]JUnit使用例
#highlight(java){{
■JUnitのテスト画面起動
>java junit.ui.TestRunner
■サンプルコード
●テスト対象クラス
public final class Sample{
public int value = 0;
Sample(int v){
this.value = v;
}
public int twice(){
this.value *= 3;
//this.value *=2;
return(this.value);
}
public int add1(){
this.value+=1;
return(this.value);
}
}
●Sampleクラスに対するテスト実行クラス
import junit.framework.*;
public final class SampleTester extends TestCase{
public SampleTester(String name){
super(name);
}
protected void setUp(){
//ここで設定する
}
public static TestSuite suite(){
TestSuite suite = new TestSuite();
//テストケースを加える
suite.addTest(new SampleTester("testAdd1"));
suite.addTest(new SampleTester("testTwice"));
return suite;
}
//テスト用メソッドの記述
public void testAdd1(){
Sample s1 = new Sample(10);
s1.add1();
assert(s1.value == 11);
}
public void testTwice(){
Sample s1 = new Sample(10);
Sample s2 = new Sample(5);
assert(s1.value != s2.value);
s2.twice();
assert(s1.value == s2.value);
}
} //end of SampleTester
使用法:
SampleTester.classのあるフォルダから
>java junit.ui.TestRunner
でGUIを起動し、
testclassnameに SampleTester と入力しRUNボタンを押す。
その結果が表示される。
}}
-[Java]MyDBAccess.java
#highlight(java){{
//package myjdbc;
//import myjdbc.*;
import java.sql.*;
public class MyDBAccess {
private String driver;
private String url;
private String user;
private String password;
private Connection conn;
private Statement stmt;
private ResultSet resultset;
/**
* コンストラクタ
* @param driver ドライバー
* @param url URL
* @param user ユーザ名
* @param password パスワード
*
*/
public MyDBAccess(
String driver,
String url,
String user,
String password) {
this.driver = driver;
this.url = url;
this.user = user;
this.password = password;
}
/*引数なしのコンストラクタ
* 既定値の利用
*
*/
public MyDBAccess() {
this.driver = "oracle.jdbc.driver.OracleDriver";
this.url = "jdbc:oracle:thin:@192.168.1.1:1521:DB01";
this.user = "test";
this.password = "test";
// this.driver = "com.mysql.jdbc.Driver";
// this.url = "jdbc:mysql://192.168.1.1/test";
// this.user = "root";
// this.password = "";
}
/**
* データベースへの接続を行う
*/
public synchronized void open() throws Exception {
// Class.forName(driver);
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
}
/**
* SQL 文を実行した結果の ResultSet を返す
* @param sql SQL 文
*/
public ResultSet getResultSet(String sql) throws Exception {
if (stmt.execute(sql)) {
return stmt.getResultSet();
}
return null;
}
/**
* SQL 文の実行
* @param sql SQL 文
*/
public void execute(String sql) throws Exception {
stmt.execute(sql);
}
/**
* データベースへのコネクションのクローズ
*/
public synchronized void close() throws Exception {
if (resultset != null)
resultset.close();
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
}
public static void main(String[] args) {
MyDBAccess db = new MyDBAccess();
try {
db.open();
ResultSet rs = db.getResultSet("SELECT * FROM LOGIN_TBL");
int i=0;
while (rs.next()) {
i++;
String _user_id = rs.getString("USER_ID");
String _password = rs.getString("PASSWORD");
System.out.println(i + ":"+ _user_id + "," + _password);
}
db.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}}
[Java]OracleJdbcTest1.java
#highlight(java){{
import java.sql.*;
//import jdbc.sql.*;
public class OracleJdbcTest1 {
public static void main (String args [])
throws SQLException, ClassNotFoundException
{
// Connectionの作成
Class.forName ("oracle.jdbc.driver.OracleDriver");
Connection conn =
DriverManager.getConnection ("jdbc:oracle:thin:@192.168.1.1:1521:DB01","scott", "tiger");
// OCIの場合
// DriverManager.getConnection ("jdbc:oracle:oci8:@TNSname","scott", "tiger");
// Statement の作成
Statement stmt = conn.createStatement ();
// Resultset の作成
ResultSet rset = stmt.executeQuery ("select ENAME from EMP");
// データの表示
while (rset.next ())
System.out.println (rset.getString (1));
}
}
}}
-[Java]TripleDES DECODE
#highlight(java){{
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.net.URLDecoder;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.io.*;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec;
public class ANGO_DECODE {
byte[] keyMaterial ={
(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,
(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,
(byte)0xAB,(byte)0xCD,(byte)0xAB,(byte)0xCD,(byte)0xAB,(byte)0xCD,(byte)0xAB,(byte)0xCD
};
//暗号文
//ファイル読み込み
String line = null;
String ciphertext = null;
int count = 0;
try{
BufferedReader reader = new BufferedReader( new FileReader(args[0]));
while( ( line = reader.readLine()) != null){
count++;
ciphertext = line;
// URLデコード処理
String a1;
String a2;
a1 = URLDecoder.decode(ciphertext);
// System.out.println("a1=" + a1);
// BASE64デコード処理
byte[] cipherbytes = a1.getBytes();
Base64 base64obj = new Base64();
byte[] base64decbytes = base64obj.decode(cipherbytes);
String base64decodeStr = new String(base64decbytes);
//System.out.println("base64decodeStr=" + base64decodeStr);
// TripleDES復号化処理
// TripleDES鍵の生成
SecretKeySpec tdeskey = new SecretKeySpec(keyMaterial,"DESede");
// Cipherインスタンスの生成
Cipher desCipher = Cipher.getInstance("DESede");
// 初期化
desCipher.init(Cipher.DECRYPT_MODE,tdeskey);
byte[] plainbytes = desCipher.doFinal(base64decbytes);
String plaintext = new String(plainbytes);
// System.out.println("plaintext:"+ plaintext );
System.out.println(count + "," + a1 + "," + plaintext);
} //for end
reader.close();
}catch(NoSuchAlgorithmException e){
e.printStackTrace();
}catch(NoSuchPaddingException e){
e.printStackTrace();
}catch(InvalidKeyException e){
e.printStackTrace();
}catch(IllegalBlockSizeException e){
e.printStackTrace();
}catch(BadPaddingException e){
e.printStackTrace();
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
}
}}
-[Java]war アーカイブ作成方法
#highlight(){
Jarツールを使って、Webアプリケーション全体をアーカイブします。アーカイブしたいWebアプリケーションのルートディレクトリに移動して、以下のコマンドを実行してください。
jar cvf WARファイル名 ./*
WARファイル名は当然「.war」の拡張子が必要です。testというディレクトリ配下のWebアプリケーションを test.warというファイル名でアーカイブしたい場合は、testディレクトリに移動して以下のコマンドで行います。
jar cvf test.war ./*
}
-[Java]時間取得
#highlight(){{
import java.util.*;
import java.io.*;
import java.text.*;
public class Utils{
// getNow("yyyy.MM.dd 'at' hh:mm:ss");
public static String getNow(String dateformat){
SimpleDateFormat formatter = new SimpleDateFormat(dateformat);
Date currentTime = new Date();
String dateString = formatter.format(currentTime);
return dateString;
}
}
}}
-[Java]日本語パラメータ
#highlight(jsp){
<%!
public String toUnicode(String s)
throws java.io.UnsupportedEncodingException{
return (new String(s.getBytes("8859_1"),"JISAutoDetect"));
}
%>
<html>
<body>
<%
String name= toUnicode(request.getParameter("name") );
%>
}
-[Java]eclipseセットアップ
#highlight(){
①フォントの設定
Windows
⇒Preferrence
⇒Fonts
でText Fontを変更する。
②JDKの設定
デフォルトでは、
JREのjava.exeが設定されているので
JDKのjava.exeに変更する。
Windows
⇒Preference
⇒Java
⇒Installed JREs
で
Standard VMにJREがデフォルトチェックが
入っている
これに
インストールしてあるJDK1.4.XのJDKを設定する。
●TOMCATプラグイン動作方法
②のJDK設定の後、
Windows
⇒Preference
⇒Tomcat
⇒TOMCATの設定
でJREを変更したJDK1.4.xのものを指定する。
●JSP.XMLの色分けプラグインの設定
(Solar Eclipse Web)
Windows
⇒Preference
⇒Solar Eclipse Web
で
Add To List に xml を追加
}
-[Java]HTTPでHTMLをゲット
#highlight(java){
■実行方法
以下の内容の.batファイルを作成、第一引数のURLのHTMLファイルを標準出力する。
java -Dhttp.proxyHost=proxy1.wwww.abc.co.jp -Dhttp.proxyPort=8080 DisplayURL2 %1
import java.io.*;
import java.net.*;
public class DisplayURL2{
public static void main(String[] args){
for(int i=0; i<args.length;i++){
System.out.println("URL= "+ args[i]);
try{
URL url = new URL(args[i]);
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(),"Shift_JIS"));
String line="";
while((line =reader.readLine()) != null){
System.out.println(line);
}
reader.close();
}catch(MalformedURLException e){
System.out.println("URLの形式が間違っています:" + e);
}catch(IOException e){
System.out.println("I/Oエラーです:" +e);
}
}
}
}
}}
-[Java]JUnit使用例
#highlight(java){{
■JUnitのテスト画面起動
>java junit.ui.TestRunner
■サンプルコード
●テスト対象クラス
public final class Sample{
public int value = 0;
Sample(int v){
this.value = v;
}
public int twice(){
this.value *= 3;
//this.value *=2;
return(this.value);
}
public int add1(){
this.value+=1;
return(this.value);
}
}
●Sampleクラスに対するテスト実行クラス
import junit.framework.*;
public final class SampleTester extends TestCase{
public SampleTester(String name){
super(name);
}
protected void setUp(){
//ここで設定する
}
public static TestSuite suite(){
TestSuite suite = new TestSuite();
//テストケースを加える
suite.addTest(new SampleTester("testAdd1"));
suite.addTest(new SampleTester("testTwice"));
return suite;
}
//テスト用メソッドの記述
public void testAdd1(){
Sample s1 = new Sample(10);
s1.add1();
assert(s1.value == 11);
}
public void testTwice(){
Sample s1 = new Sample(10);
Sample s2 = new Sample(5);
assert(s1.value != s2.value);
s2.twice();
assert(s1.value == s2.value);
}
} //end of SampleTester
使用法:
SampleTester.classのあるフォルダから
>java junit.ui.TestRunner
でGUIを起動し、
testclassnameに SampleTester と入力しRUNボタンを押す。
その結果が表示される。
}}
-[Java]MyDBAccess.java
#highlight(java){{
//package myjdbc;
//import myjdbc.*;
import java.sql.*;
public class MyDBAccess {
private String driver;
private String url;
private String user;
private String password;
private Connection conn;
private Statement stmt;
private ResultSet resultset;
/**
* コンストラクタ
* @param driver ドライバー
* @param url URL
* @param user ユーザ名
* @param password パスワード
*
*/
public MyDBAccess(
String driver,
String url,
String user,
String password) {
this.driver = driver;
this.url = url;
this.user = user;
this.password = password;
}
/*引数なしのコンストラクタ
* 既定値の利用
*
*/
public MyDBAccess() {
this.driver = "oracle.jdbc.driver.OracleDriver";
this.url = "jdbc:oracle:thin:@192.168.1.1:1521:DB01";
this.user = "test";
this.password = "test";
// this.driver = "com.mysql.jdbc.Driver";
// this.url = "jdbc:mysql://192.168.1.1/test";
// this.user = "root";
// this.password = "";
}
/**
* データベースへの接続を行う
*/
public synchronized void open() throws Exception {
// Class.forName(driver);
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
}
/**
* SQL 文を実行した結果の ResultSet を返す
* @param sql SQL 文
*/
public ResultSet getResultSet(String sql) throws Exception {
if (stmt.execute(sql)) {
return stmt.getResultSet();
}
return null;
}
/**
* SQL 文の実行
* @param sql SQL 文
*/
public void execute(String sql) throws Exception {
stmt.execute(sql);
}
/**
* データベースへのコネクションのクローズ
*/
public synchronized void close() throws Exception {
if (resultset != null)
resultset.close();
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
}
public static void main(String[] args) {
MyDBAccess db = new MyDBAccess();
try {
db.open();
ResultSet rs = db.getResultSet("SELECT * FROM LOGIN_TBL");
int i=0;
while (rs.next()) {
i++;
String _user_id = rs.getString("USER_ID");
String _password = rs.getString("PASSWORD");
System.out.println(i + ":"+ _user_id + "," + _password);
}
db.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}}
[Java]OracleJdbcTest1.java
#highlight(java){{
import java.sql.*;
//import jdbc.sql.*;
public class OracleJdbcTest1 {
public static void main (String args [])
throws SQLException, ClassNotFoundException
{
// Connectionの作成
Class.forName ("oracle.jdbc.driver.OracleDriver");
Connection conn =
DriverManager.getConnection ("jdbc:oracle:thin:@192.168.1.1:1521:DB01","scott", "tiger");
// OCIの場合
// DriverManager.getConnection ("jdbc:oracle:oci8:@TNSname","scott", "tiger");
// Statement の作成
Statement stmt = conn.createStatement ();
// Resultset の作成
ResultSet rset = stmt.executeQuery ("select ENAME from EMP");
// データの表示
while (rset.next ())
System.out.println (rset.getString (1));
}
}
}}
-[Java]TripleDES DECODE
#highlight(java){{
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.net.URLDecoder;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.io.*;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec;
public class ANGO_DECODE {
byte[] keyMaterial ={
(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,
(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,(byte)0x12,
(byte)0xAB,(byte)0xCD,(byte)0xAB,(byte)0xCD,(byte)0xAB,(byte)0xCD,(byte)0xAB,(byte)0xCD
};
//暗号文
//ファイル読み込み
String line = null;
String ciphertext = null;
int count = 0;
try{
BufferedReader reader = new BufferedReader( new FileReader(args[0]));
while( ( line = reader.readLine()) != null){
count++;
ciphertext = line;
// URLデコード処理
String a1;
String a2;
a1 = URLDecoder.decode(ciphertext);
// System.out.println("a1=" + a1);
// BASE64デコード処理
byte[] cipherbytes = a1.getBytes();
Base64 base64obj = new Base64();
byte[] base64decbytes = base64obj.decode(cipherbytes);
String base64decodeStr = new String(base64decbytes);
//System.out.println("base64decodeStr=" + base64decodeStr);
// TripleDES復号化処理
// TripleDES鍵の生成
SecretKeySpec tdeskey = new SecretKeySpec(keyMaterial,"DESede");
// Cipherインスタンスの生成
Cipher desCipher = Cipher.getInstance("DESede");
// 初期化
desCipher.init(Cipher.DECRYPT_MODE,tdeskey);
byte[] plainbytes = desCipher.doFinal(base64decbytes);
String plaintext = new String(plainbytes);
// System.out.println("plaintext:"+ plaintext );
System.out.println(count + "," + a1 + "," + plaintext);
} //for end
reader.close();
}catch(NoSuchAlgorithmException e){
e.printStackTrace();
}catch(NoSuchPaddingException e){
e.printStackTrace();
}catch(InvalidKeyException e){
e.printStackTrace();
}catch(IllegalBlockSizeException e){
e.printStackTrace();
}catch(BadPaddingException e){
e.printStackTrace();
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
}
}}
-[Java]war アーカイブ作成方法
#highlight(){
Jarツールを使って、Webアプリケーション全体をアーカイブします。アーカイブしたいWebアプリケーションのルートディレクトリに移動して、以下のコマンドを実行してください。
jar cvf WARファイル名 ./*
WARファイル名は当然「.war」の拡張子が必要です。testというディレクトリ配下のWebアプリケーションを test.warというファイル名でアーカイブしたい場合は、testディレクトリに移動して以下のコマンドで行います。
jar cvf test.war ./*
}
-[Java]時間取得
#highlight(){{
import java.util.*;
import java.io.*;
import java.text.*;
public class Utils{
// getNow("yyyy.MM.dd 'at' hh:mm:ss");
public static String getNow(String dateformat){
SimpleDateFormat formatter = new SimpleDateFormat(dateformat);
Date currentTime = new Date();
String dateString = formatter.format(currentTime);
return dateString;
}
}
}}
-[Java]日本語パラメータ
#highlight(java){
<%!
public String toUnicode(String s)
throws java.io.UnsupportedEncodingException{
return (new String(s.getBytes("8859_1"),"JISAutoDetect"));
}
%>
<html>
<body>
<%
String name= toUnicode(request.getParameter("name") );
%>
}