SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Cloud SQLで学ぶ業務・基幹系アプリ再入門

Cloud SQLとHTML5のWeb Storageで高速仕訳入力

Cloud SQLで学ぶ業務・基幹系アプリ再入門(2)

  • X ポスト
  • このエントリーをはてなブックマークに追加

2.3 サーブレットコード

リスト4 acctSvlt.java
package com.business;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
@SuppressWarnings("serial")
public class acctSvlt  extends HttpServlet {
  @Override
  public void doGet (HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException{
    req.setCharacterEncoding("utf-8");
    res.setContentType("text/html; charset=utf-8");
    PrintWriter out;
    out = res.getWriter();
    String mode = req.getParameter("mode");            //(1)
    String acct_code = req.getParameter("acct_code");
    String resp = "";
    acctBean acct = new acctBean();                    //(2)
    if(mode.equals("get_acct")){                       //(3)
      resp = acct.getAcctName(acct_code);
    }else if(mode.equals("getAllAcct")){               //(4)
      resp = acct.getAllAcct();
    }
    out.println(resp);
    out.flush();
    out.close();
  }
  @Override
  public void doPost (HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException{
    req.setCharacterEncoding("utf-8");
    res.setContentType("text/html; charset=utf-8");
    PrintWriter out;
    out = res.getWriter();
    String mode = req.getParameter("mode");
    String check_no = req.getParameter("check_no");
    String debit_code = req.getParameter("debit_code");
    String debit_acct = req.getParameter("debit_acct");
    String debit_amt = req.getParameter("debit_amt");
    String credit_code = req.getParameter("credit_code");
    String credit_acct = req.getParameter("credit_acct");
    String credit_amt = req.getParameter("credit_amt");
    String remark = req.getParameter("remark");
    String resp = "";
    acctBean acct = new acctBean();  //(5)
    if(mode.equals("addJournal")){   //(6)
      resp = acct.addJournal(check_no, debit_code, debit_acct, debit_amt,
                             credit_code, credit_acct, credit_amt, remark);
    }
    out.println(resp);
    out.flush();
    out.close();
  }
}

 リスト4のサーブレットではWebクライアントからのリクエストを受信して、ビーンズに処理を依頼しますが、MVCでのコントローラ機能に徹しているので処理内容は定型的でシンプルです。

doGetメソッド

 doGetメソッドでは参照系のリクエストを受け取り、以下の手順で処理を行います。

 (1)のmodeでビーンズに依頼する処理内容を確認し、(2)で実際の処理を行う(モデル機能)ビーンズのインスタンスを生成後、(3)(4)でmodeの指定に対応したビーンズメソッドを呼び出してCloud SQLでのMySQLアクセス処理を依頼しています。

doPostメソッド

 doPostメソッドでは登録・更新系のリクエストを受け取り 、modeとビーンズに渡すパラメータを変数にセットした後、(5)でビーンズインスタンスを生成してメソッド呼び出しを行いますが、ここでは1種類のメソッドだけなので、(6)のif文判定は必要ありませんが、メソッド追加を予定してこのような処理手順にしています。

次のページ
まとめ

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Cloud SQLで学ぶ業務・基幹系アプリ再入門連載記事一覧

もっと読む

この記事の著者

清野 克行(セイノ カツユキ)

慶應義塾大学工学部電子物理専攻卒。日本IBM、日本HPで、製造装置業を中心とした業務系/基幹業務系システムのSE/マーケティングや、分散アプリケーションによる社内業務システム開発などに携わる。現在は、クラウドやAjax関連の/ソフト開発/書籍執筆/セミナー講師/コンサルティング、などを行っている。情...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6672 2012/07/30 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング