ホーム » ブログ

開発中に一回で複数のレコードを挿入する場面があいました。もちろん、forループで複数回insert文をかけてDBに挿入できるけど、効率が悪いから、一回で複数レコードが挿入できる仕組みを作りました。
事例:一回で複数のユーザ情報をuserテーブルに挿入する。
先ず、ユーザモデルコードの抜粋:

public class User implements Serializable {
	int id;
	String userName;
	int age;
	/**
	 * @return the id
	 */
	public int getId() {
		return id;
	}
	/**
	 * @param id the id to set
	 */
	public void setId(int id) {

続く...

一回で複数レコードをDBに挿入したいから、下記のようなinsert文を作りました。

insert into user_table(id,name,age) values(1,'matao','4'),(2,'zanmai','3')
を実行したら、下記のようなエラーメッセージを出る
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: ',' 付近に不適切な構文があります。
どう見ても問題なさそうですけど…… 最後に、諦めたいところ、sqlserverのバージョンが低いとわかりました。このようなinsert文はsqlserver…

続く...

一個前の記事[struts2で画像ファイルアップロードサンプル]で一個ファイルアップロードする方法を説明した。今回の記事で複数のファイルをアップロードできる方法を紹介します。
説明:struts2を使って複数の画像ファイルを同時にアップロードする

いきなり、JSP(HTML)のソースコードです。

<html>
<head>
<title>複数画像ファイルをアップロード</title>
</head>
<body>
<form id="imageFileTransmitForm"

続く...

前提:java+struts2、且つ、commons-fileupload-1.x.x.jarとcommons-io-2.x.x.jarはすでにWebContent\WEB-INF\lib\に配置。

例:画像ファイルをアップロード(一回で1つのファイル)

いきなり、JSP(HTML)ソースコードの抜粋

<html>
<head>
<title>画像アップロード</title>
</head>
<body>

<form id="imageFileTransmitForm" name="imageFileTransmitForm"

続く...

開発でマウスホイールの上下スクロールによって画面上のある要素(たとえDIV)をスクロールさせることが遇いました。
インタネットにはたくさんのサンプルがあるけど、だいぶは曖昧し過ぎ、結局どれでも僕のニーズに合わなかった。ここで自分の対策をメモする。
ニーズ:ページ上のある要素(ここではid="testId"の要素)に、マウスホイールが上下スクロールしたとき、要素のコンテンツを左右スクロールさせ、表示する
いきなり、コードの抜粋:

/***************************************************************************
* (横)カレンダーにおけるマウスホイール処理(カレンダー左右移動)

続く...

struts2で開発中に、JSPページのサイズが大きいすぎ(4.5M)、ページをコミットすると、エラーが発生してしまった。
インタネットで調べたところ、strutsやTomcatなどでページの最大サイズが制限することがあるらしい。そこの制限サイズを増やせば簡単に解決できるけど、僕の場合、すでに公開中のシステムなので制限サイズの修正は事実上に不可能です。
結構悩んだ。
ところが、JSPページ中でhidden要素のサイズは大半占めており、ページのサイズを膨大となってしまったことがわかりました。実は極一部のhidden要素のみを使っており、だいぶのhidden要素が使っていませんが、jspページをサブミットする際に、これらの要らないhidden要素も一緒にサブミットしてしまった。
それが原因だ!

それを究明し、解決方法も簡単です。…

続く...

webloadで負荷テストを実施した結果に、ramp upタイプで行った。Base load sizeを50ユーザで一分間をかけてmax load sizeを300ユーザに増やさせ、5分間を維持する。権限の原因でサーバーの状態を見えなくて、webloadのテスト結果データしか見えない。
結果だけを見ると、throughputの数字があまり変わらないとわかりました。たぶん、最小人数50人でもサーバの限界に達ち、max100ユーザに増やしてもサーバーがこれ以上処理できないため、throughputの変化があまり変わらないとのことを推測しました。
ちなみに、この後サーバの管理者に負荷テストした時間帯のサーバの状態を聞いた、サーバがずっと100%近いの状態でした。さぁ、サーバーの限界が50ユーザ以下を明らかにわかった。

続く...

まだ初心者です。テストユーザID・番号を順次に増え、ログインさせるシナリオ作成を例として挙げる。
僕の作成方法:外部ファイルを作成し、ID,passwordを一行一行ですべてのユーザを書込んで、txtファイル拡張子で保存する。(例: userid,userpasswd を一行ずつ入れる、カンマで区切り)

下記のコードをシナリオから呼び出し、ログインさせる。

function InitAgenda()		
{		
IdFile = CopyFile("C:\\test\\user_info.txt")		
Open(IdFile)		
}		
wlHttp.Get("http://www.zanmai.net/user/login/")		
		
…(略)		
		
DataArr =

続く...

先ほど、iphoneをパソコンに繋いでる状態でitunesがiphone認識できない現象があった。
この現象あった時、ほぼは「Apple Mobile Device」サービスが停止している状態との原因です。
対策は簡単で「Apple Mobile Device」を起動すれば解決できる。

【1】パソコンスタートメニュー(左下)を押して、「サービス」を入力し、出た結果の「サービス」をクリック。

まとめて話したら、知識持ってる方はSEO対策を適当にし、主により良いコンテンツを作り出すこと。

教訓:
およそ3年前、このブログサイトを開通しました。サイト作った際にSEOのことをかなり考慮し、大量の時間をかけて対策してしまった。もちろんSEO対策はある程度効いた(ワズカな)、が、結構時間と力を入れた。
SEOやり過ぎで、ある日突然検索エンジンから消えてしまった。サイトを復活するため、色々なSEO専門サイトを参考し、おすすめられたSEO対策をかけたが、結局無駄だった。その後SEOを諦めた。辛い半年間を待ってサイトを徐々に復活しました。
結論:
大量時間と力を入れSEO対策より、いいコンテンツ作りのほうがアクセス増えヤスイ。

僕の対策:現在、サイトにいいコンテンツを作りつつ、アクセスを右肩上がり傾向です。…

続く...

セッションを操作できる方法はいくつかがあるけど、僕の実際の開発現場では、「SessionAwareを実装」というやり方です。
ほかには、ScopedModelDrivenを使うや、ScopeInterceptorを使うとActionContext.getContext().getSession()を使うなどがあります。開発ニーズによって変わると思う。

早速ですが、struts2でセッションを操作でき、一番簡単な「「SessionAwareを実装」を解説します。


public class BaseAction extends ActionSupport implements SessionAware {
	private Map session;
	
	@Override
	public void setSession(Map

続く...

開発中に、あるボタンを押されたとき、非同期的に二つの処理をさせたいため、一つ目の処理をAjaxで送信させ、二つ目の処理をJSPのアクションを呼びさせた。
僕が書いたソースコードは下記のように

//---------------------------------------------
// ----- 処理1 -----//
//---------------------------------------------
jQuery.ajax({
	async: true,
	type: "GET",
	url: "MyAction!method1.do?sessionId=XXXX",
	cache: false,
	data:

続く...

昔Jquery使ってなかった時代に、WEB開発の際にタブの作成と切り替え全てjavascriptコードで作った。難しくないけど、タブの動きはjsコードで書かなければいけないね。Jqueryを使えば結構簡単で作れる。
Jqueryをわかる方は下記のコード見ればすぐに作れると思う。
タブ表示するのHTMLコード:

<div id="myTabs">
  <ul style="height: 30px;" >
   <li ><a href="#tab-1">tab-1</a></li>
   <li class=""><a

続く...

Jquery使ってボタンにアイコンを入れたいとき、JSファイルに一行コード入れるだけで作れる。
例:ボタンに解除アイコンを入れる場合

$( "#btnId" ).button({icons: { primary: "ui-icon-unlocked"}});

HTMLソース:
<button type="button" id="btnId" class="buttonClass"> 解 除 </button>

これで、ボタンの背景を解除ボタンをいれました。

続く...

SVN管理しているプロジェクトに、SVN用の情報ファイルを自動的に作成している。時には、これらの.svnファイルを要らなくて削除したいなら、数多くのファイルを削除しなければいけない。全て手で削除すれば膨大な作業量ですね。ここには.svn一時ファイルを簡単で削除できる方法です。
プロジェクトのディレクトリに移動し、CMDコマンドで下記の一行だけです。

 for /R %i in (.svn) do rd /Q /S "%i"

続く...

前へ       1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19   次へ