ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

JavaEE6を使ってみた(JSP+サーブレット+EJB+JPA)

2013-08-13 18:49:27 | JavaとWeb

NetBeans+GlassFishでEJB3.1+Servlet3.0+JPA2.0なJavaEE6アプリを3分で作る
http://blog.ik.am/entry/view/id/99/titie/NetBeans+GlassFish%E3%81%A7EJB3.1+Servlet3.0+JPA2.0%E3%81%AAJavaEE6%E3%82%A2%E3%83%97%E3%83%AA%E3%82%923%E5%88%86%E3%81%A7%E4%BD%9C%E3%82%8B/

っていうサイトがあって、やってみたんだけど、
一部、ツッコミも入れたいところ有りつつ、
結構面白いので、載せておきます。




■インストール

上記サイトに書かれている、

https://netbeans.org/downloads/index.html?pagelang=ja

からダウンロードできるのですが、そのまえに、Java7が入っていない人は
JDK7を先にインストールしたほうがよさげ。

JDK6しかいれてなかったら、途中で動かなくなり、後から入れたら、
プロジェクトでちょっといじらないといけないことになり、面倒だったから。




■Webアプリケーションプロジェクト作成

上記サイトに書かれている通りの操作でOK
ちょっと時間がかかる。

ここで、プロジェクトの下にindex.jspができ、それが表示される。




■JPAエンティティ作成

上記サイトに書かれているとおりで作成できる。
べんりべんり。




■EJB作成

ここの修正箇所がはっきりかかれていないけど、
HelloSessionBean の中をすべて、書く。すなわち、
   @PersistenceContext
    EntityManager em;

    public List1<Customer> findAllCustomers() {
        return em.createNamedQuery("Customer.findAll").getResultList();
    }



(<>は、本当は半角)
を追加する。インポートも追加するが、それは、上記の追加をすると
警告が出るので、その黄色く出た警告をクリックすれば、修正(インポート追加)
ができる。




■EJBをたたくサーブレット作成

上記サイトを読むと、tryの中だけ変えるように読めるが、
ほか、もう一箇所変える。
public class HelloServlet extends HttpServlet {
の下の、

@EJB HelloSessionBean ejb; // さっき作ったEJBをインジェクション

を追加。これに伴うインポートも行う(警告が出るので、クリックして)

さらに、

// ここから追加

から

// ここまで

をコピーして、実行。




つまり、基本的には、上記サイトに書いてあるとおりで
作れる。結構簡単。

設定ファイルをごしごしして・・・
というのがいらないぶん、簡単かもしれない。

今、さらに、もうちょっといじって、普通に使うっぽくしてみたので、
それについても、今度書く。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

C言語での組み込みの開発方法について聞いてきた その2

2013-08-13 16:29:26 | トピックス
前回の続き
内容をメモメモ



【スイッチ】
・アクティブLOWとアクティブHighがある
  →それを感じさせないスイッチの状態の関数GetSW(int SW_id)
   を作ればよい

 GetSW(int SW_id)
  ・ピンモードをGPIO
  ・プルアップに設定
  ・出力に設定
  ・マスクなし(0)
  ・if( PIN&0x10 == 0x10)
(0x10がスイッチがおされると1になるとき)
    のような形でアクティブHighはつくる
    アクティブLOWは!= 0x10と聞く

【チャタリング・長おし】
 forで一定時間まつ

【通信】
・RS232CをUSBで行うUART
・RS232Cの通信CTS:アサートすると、通信とめる

・通信関数
  InitUART(int rate)
   ・UODLLレジスタ:ボーレート
   ・U0LCRレジスタ:動作モード
   ・U0LSRレジスタ:以下を初期化
      5ビット目→送信バッファエンプティ(送信できる)
      1ビット目→受信完了
   ・U0THRレジスタ:送信バッファ(下位8ビット)
    U0RBRレジスタ:受信バッファ(下位8ビット)

  SendData(char c)  送信
   ・U0LSRレジスタ:5ビット目が1であること確認
   ・U0THRレジスタ:送信データ書き込み

  RecvData()  受信
   ・U0LSRレジスタの最下位確認
   ・U0RBRの下位8ビットを読み出す

・実際に行うときは
  ・ボードをプログラム書き込みでなく、通信用にして
  ・TeraTermから入力
     端末:モード設定注意!変更必要かも

【割り込みの基礎知識】
・関数名が決められていたりする(interrupt_handler())
   →main関数とのやり取り:グローバル変数で
・VIC=Vectored Interrrupt Controller
    →いろんな情報が集約されている
・mainで開始して、
 interrupt_handler()で
    割り込み判断:割り込みあったら
      処理
      割り込みクリア

【スイッチの割り込み】
・全体的に
  main
   ・EnableSWInt();   // 割り込み初期化

  interrupt_handler()で
   ・if (SWInt() != 0) // 割り込みあったら
    {
      // 割り込み処理
      SWIntClr(); // 割り込みクリア
    }
      
・EnableSWInt();
  ・GPIOピンに入力セット
  ・割り込み有効化
     VICIntSelect設定
     VICIntEnable設定
     IO0INTERレジスタ=立ち上がりに反応させるSW指定
     IO0INTEFレジスタ=立ち下がりに反応させるSW指定

・SWInt()
   ・割り込み判定
     IO0INTSTATUS & 01 チェック

・SWIntClr()
   ・割り込み解除
     IO0INTCLRセット

【タイマー割り込み】
・全体的に
  main
   ・StartTimer(int msec) // 割り込み時間:初期化

  interrupt_handler()で
   ・if (TimerInt() != 0) // 割り込みあったら
    {
      // 割り込み処理
      TimerIntClr(); // 割り込みクリア
    }
      
・StartTimer()
  ・VIC設定
     VICIntSelect設定
     VICIntEnable設定
  ・タイマーリセット
     T0TCR
     T0CTCR
     T0PR
  ・割り込み時間セット
     T0MR0に引数*1ミリ秒の割合(4650くらい?)
  ・タイマースタと
     T0MCR
     T0TCR

・TimerInt()
  ・割り込みチェック
     T0IR & 0x1

・TimerIntClr()
  ・割り込みフラグリセット
     T0IR

【通信割り込み】
・全体的に
  main
   ・InitUART(ボーレート); // 通信初期化
   ・EnableUARTRXInt();  // 受信割り込みイネーブル

  interrupt_handler()で
   ・if (UARTInt() != 0) // 受信割り込み
    {
      // 割り込み処理
    }
      
・EnableUARTRXInt();
  ・VIC設定
     VICIntSelect設定
     VICIntEnable設定
  ・U0IERの1ビット目をセット
  
・UARTInt()
  ・U0IIRの1ビット目をチェック

【割り込みハンドラを呼び出す仕組む】

アセンブラで・・
割り込みベクタ
0x00 Reset
  :
  :
0x18 IRQ
B _startup
nop
  :
  :
B _IRQ_handle

_IRQ_handle:
  :
  :
  interrupt_handler()
  :
  :



つまり、はじめ、0x00のリセットから割り込み処理が実施され、0x18のIRQにいくと
B _IRQ_handle
が実行されて、_IRQ_handleに飛ぶ。
この_IRQ_handle内でinterrupt_handler()が、実行される。




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Windows Vista以降でApacheを使うとハマる罠まとめ

2013-08-13 10:21:41 | ネットワーク
うちはXPしか使ってないので、知らなかったんだけど、
Windows Vista以降でApache+PHP(Xamppでなく)の
環境だと、いろいろはまるらしいことが

Windows Vista以降を使うと生きるのがつらい理由
http://uzulla.hateblo.jp/entry/2013/08/12/013207

に書いてあって、これが話題らしい。

う~ん、XPからの移行、いろいろありそうだにゃ~・・・




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする