約 3,237,757 件
https://w.atwiki.jp/ce00582/pages/1800.html
class pro{ public static void main(String args[]){ double tl,tr,b1; int n; double th[]=new double[101]; for (n=1;n 101;n++){ th[n]=0.02*n; } tl=0.2; tr=0.1; b1=bud(th,tl,tr); System.out.println(b1); } public static double bud(double[] th,double tl,double tr){ double c1,y1,b1; int n; b1=0; for (n=1;n 101;n++){ c1=cx(th[n],tl,tr); y1=th[n]*lx(th[n],tl,tr); b1=b1+y1-c1; } return b1; } public static double cx(double th1,double tl,double tr){ double l1,w1,c1; l1=lx(th1,tl,tr); w1=(1-tl)*th1; c1=w1*l1+tr; return c1; } public static double lx(double th1,double tl,double tr){ double w1,l1; w1=(1-tl)*th1; l1=(w1-tr)/(2*w1); if (l1 0)l1=0; return l1; } public static double u(double c1,double x1){ double c2,x2,z2,u2; c2=c1; x2=x1; z2=0; if (c2 0.001)z2=100; if (x2 1)z2=100; if (x2 0)z2=100; if (z2 50)c2=0.01; if (z2 50)x2=0.5; u2=Math.log(c2)+Math.log(1-x2); if (z2 50)u2=-999; return u2; } }
https://w.atwiki.jp/g8495625/pages/29.html
フィールド = クラスに直接宣言された変数、メンバ変数と呼ばれる メゾット = (関数) フィールド = (型宣言) インスタンス = TestClass o = new TestClass(); コンストラクタ= クラス名と同じ名前の特殊なメソッド(関数) 抽象(アブストラクト) 抽象(アブストラクト)クラスは、インスタンスが作れない 子のオブジェクトで必ず実行すべき処理を継承元の親classにて記述する オブジェクトの生成 = インタンス or 使用するclassにstaticを追加する this fieldと仮引数(parameter)が同じ変数名の時に使用する parameterよりfield変数が優先されるためthisを使用することでparameterが反映される
https://w.atwiki.jp/net-k/pages/15.html
JavaScript 参考 JavaScriptでテトリスみたいなゲームを作ってみよう(hatena) http //svn.coderepos.org/share/docs/amachang/20080813-procamp2008/index.html document.all がIEしか対応してない http //www.red.oit-net.jp/tatsuya/java/d_color.htm Java Script コーディング規約 https //developer.mozilla.org/ja/JavaScript_style_guide Java Script ゲームプログラム(リンク集) http //d.hatena.ne.jp/seikenn/20080506/1210088946 JavaScript でテトリスみたいなゲームを作ろう! http //svn.coderepos.org/share/docs/amachang/20080813-procamp2008/index.html これでできる! クロスブラウザJavaScript入門 http //gihyo.jp/dev/serial/01/crossbrowser-javascript/0001?skip 言語仕様 プロトタイプ(prototype)によるJavaScriptのオブジェクト指向 http //codezine.jp/article/detail/222 開発環境 JavaScript 開発環境(firebug) http //www.atmarkit.co.jp/fwcr/rensai/freeauthoring04/freeauthoring04_2.html その他 jsdo.it http //jsdo.it/ ブラウザでHTML,CSS,JavaScriptコードが書ける 他人のソースが参考になる
https://w.atwiki.jp/prgmemo/pages/5.html
JavaScript
https://w.atwiki.jp/m_shige1979/pages/536.html
Java 初期設定 ビルドツール Tomcat連携 参考 http //java.sun.com/javase/ja/6/docs/ja/api/ http //www.tohoho-web.com/java/index.htm http //www.hellohiro.com/
https://w.atwiki.jp/m_shige1979/pages/748.html
Java 初期設定
https://w.atwiki.jp/hiroyasu/pages/25.html
Javascript
https://w.atwiki.jp/javamock/pages/32.html
BigDecimal Javaにおいてjava.math.BigDecimalクラスは固定小数点数を扱うクラスです。 浮動小数点数は2の乗数分の1を足して小数の計算をしますが、それでは誤差が発生してしまうことがあります。 固定小数点数だと、「整数値×10の乗数」として整数部の計算と小数点の位置の計算を分けて行うのでより正確な値が返ります。 ちなみにdecimalとは「小数」、「小数の」、「10進法の」などという意味だそうです。 BigDecimalのコンストラクタは以下のようなものがあります。 BigDecimal(BigInteger val) BigIntegerをBigDecimalに変換します。 BigDecimal(BigInteger unscaledVal, int scale) BigIntegerのスケールなしの値とintスケールをBigDecimalに変換します。 BigDecimal(double val) doubleをBigDecimalに変換します。 BigDecimal(String val) BigDecimalのString表現をBigDecimalに変換します。 BigDecimal 使用例 1 BigDecimalの基本的な計算を行うメソッドを使ってみます。 addメソッド:加算 multiplyメソッド:乗算 divideメソッド:除算 BigDecimalSample1.java import java.math.BigDecimal; class BigDecimalSample1 { public static void main(String[] args) { BigDecimal bigDecimalObject1 = new BigDecimal("0.5"); BigDecimal bigDecimalObject2 = new BigDecimal("0.25"); System.out.println("bigDecimalObject1\t \t" + bigDecimalObject1); System.out.println("bigDecimalObject2\t \t" + bigDecimalObject2); // add(BigDecimal val) メソッド:加算 System.out.println("bigDecimal add\t\t \t" + bigDecimalObject1.add(bigDecimalObject2)); // multiply(BigDecimal val) メソッド:乗算 System.out.println("bigDecimal multiply\t \t" + bigDecimalObject1.multiply(bigDecimalObject2)); // divide(BigDecimal val) メソッド:除算 System.out.println("bigDecimal divide\t \t" + bigDecimalObject1.divide(bigDecimalObject2)); } } 実行結果 C \java javac BigDecimalSample1.java C \java java BigDecimalSample1 bigDecimalObject1 0.5 bigDecimalObject2 0.25 bigDecimal add 0.75 bigDecimal multiply 0.125 bigDecimal divide 2 BigDecimal 使用例 2 (divide) 上記のプログラムのbigDecimalObject2のデータの値を0.255などとするとdivideメソッドでjava.lang.ArithmeticExceptionが起こります。 ArithmeticExceptionは算術計算で例外的条件が発生した場合にスローされます。 これは丸めモードを指定していないためです。以下のメソッドを使うと正常に動作します。 divide(BigDecimal val, int roundingMode) divide(BigDecimal val, int scale, int roundingMode) scaleにはスケールを指定します。 roundingModeには丸めモードを指定します。 BigDecimalSample2.java import java.math.BigDecimal; class BigDecimalSample2 { public static void main(String[] args) { BigDecimal bigDecimalObject1 = new BigDecimal("0.5"); BigDecimal bigDecimalObject2 = new BigDecimal("0.255"); System.out.println("bigDecimalObject1\t \t" + bigDecimalObject1); System.out.println("bigDecimalObject2\t \t" + bigDecimalObject2); // divide(BigDecimal val, int scale, RoundingMode roundingMode) System.out.println( "bigDecimal divide\t \t" + bigDecimalObject1.divide(bigDecimalObject2, 3, BigDecimal.ROUND_HALF_UP)); // divide(BigDecimal val, int scale, RoundingMode roundingMode) System.out.println( "bigDecimal divide\t \t" + bigDecimalObject1.divide(bigDecimalObject2, 7, BigDecimal.ROUND_HALF_UP)); } } 実行結果 C \java java BigDecimalSample2 bigDecimalObject1 0.5 bigDecimalObject2 0.255 bigDecimal divide 1.961 bigDecimal divide 1.9607843 スケール・丸めモード 固定小数点数の場合、「整数値×10の乗数」として整数部の計算と小数点の位置の計算を分けて行います。 スケールは10×-?乗の?のことです。 以下の場合「3」、「7」が各々のスケールになります。 1.961 = 1961 × 10の-3乗 1.9607843 = 19607843× 10の-7乗 丸めモードは丸め処理のモードを指定するものです。 BigDecimalのフィールドに丸めモードを指定するための定数が用意されています。 static intROUND_CEILING 正の無限大に近づくように丸めるモードです。 static intROUND_DOWN 0 に近づくように丸めるモードです。 static intROUND_FLOOR 負の無限大に近づくように丸めるモードです。 static intROUND_HALF_DOWN 「もっとも近い数字」 に丸めるモードです。 static intROUND_HALF_EVEN 「もっとも近い数字」 に丸めるモードです。 static intROUND_HALF_UP 「もっとも近い数字」に丸めるモードです。 static intROUND_UNNECESSARY 要求される演算の結果が正確であり、丸めが必要でないことを表す丸めモードです。 static intROUND_UP 0 から離れるように丸めるモードです。
https://w.atwiki.jp/sevenlives/pages/568.html
public(Java) 読み:ぱぶりっく 英語:public 別名: 意味: publicとはJavaではアクセス修飾子?のひとつですべてのパッケージ?からアクセス可能な修飾子なります。 public修飾子がつけられるのはクラス?とコンストラクタ?とフィールド?とメソッド【メンバー】です。 publicなクラスは.javaの拡張子を抜いたファイル名と同じクラス名でなければなりません。 public修飾子がついていないクラスでは同じファイルにいくつものクラスを書くことができます。 その性質からpublicなメンバーは外部から自由に触れるため一度その仕様で提供すると変更しにくいクラスとなってしまいます。 カプセル化を実現するためにはクラスのpublicなメンバーは必要最小限に留めるべきです。 2007年08月30日 アクセス修飾子?protected(java)? private(Java)? デフォルト・アクセス(Java)?
https://w.atwiki.jp/memojava/pages/12.html
目次 目次 インストール 環境 Struts1.3.8 iBATIS + ABATOR Spring2 + Spring IDE プロジェクト準備 jarファイルの準備 フォルダ構成 使用テーブル 手順 ABATORによるDAO自動生成 beanのカスタマイズとテーブル内部結合用のsql作成 IDEで定義ファイル作成 画面と各種定義ファイルの作成。 ログイン処理インターフェイスとログイン処理実装クラスの作成 Actionクラスを作成 参考URL インストール 環境 Java 5.0 Tomcat 6.0 Oracle10g XE Eclipse 3.4(日本語化済) Struts1.3.8 http //struts.apache.org/download.cgiからStruts 1.3.8をダウンロード。 解凍して、webapps配下のstruts-blank-1.3.8.warを$CATALINA_HOME\webapps配下に設置。 Tomcatを起動し、ブラウザでhttp //localhost 8081/struts-blank-1.3.8/を開く。 成功すると、$CATALINA_HOME\webapps配下にstruts-blank-1.3.8フォルダが出現。 これを元にEclipseでTomcatプロジェクトを作成する。 iBATIS + ABATOR http //ibatis.apache.org/からiBATIS Java 2.3.4をダウンロード。 解凍して、lib配下のibatis-2.3.4.726.jarを上のStrutsで作ったプロジェクトのlib配下にコピー。 Eclipseを起動し、ヘルプ→ソフトウェア更新→更新可能なソフトウェア→サイトの追加。 ロケーションにhttp //ibatis.apache.org/tools/abator/を入力。 Abator Code Generator for iBATISを選択しインストール。 Spring2 + Spring IDE http //sourceforge.net/project/showfiles.php?group_id=73357からspringframework-2をダウンロード。 解凍して、dist配下のspring.jarを上のStrutsで作ったプロジェクトのlib配下にコピー。 Eclipseを起動し、ヘルプ→ソフトウェア更新→更新可能なソフトウェア→サイトの追加。 ロケーションにhttp //dist.springframework.org/release/IDEを入力。 Spring IDE Update Siteを選択しインストール。 この際GEF(Graphical Editing Framework)とWTS(Web Standard Tools)が一緒にインストールされるはず。 Eclipse3.3以下だと先にGEFとWTSをインストールする必要がある。面倒くさい。 プロジェクト準備 jarファイルの準備 struts-blank-1.3.8を元に作成したプロジェクトに、以下のjarファイルを用意。 struts-blankに最初から入ってたjar antlr-2.7.2.jar commons-beanutils-1.7.0.jar commons-chain-1.1.jar commons-digester-1.8.jar commons-logging-1.0.4.jar commons-validator-1.3.1.jar oro-2.0.8.jar struts-core-1.3.8.jar struts-taglib-1.3.8.jar struts-tiles-1.3.8.jar iBATISから ibatis-2.3.4.726.jar Springから(場所がバラバラなのでフォルダ内検索で。) spring.jar spring-webmvc-struts.jar commons-dbcp.jar commons-logging.jar log4j-1.2.15.jar Oracleドライバ(各自用意) ojdbc14.jar 全部使うかは謎。 common-loggingが2個あるのは多分どちらかが不要なのか? フォルダ構成 Exam(プロジェクト名) ├src(ソースフォルダ) │ └example │ ├action │ ├bean │ ├biz │ ├dao │ └sqlMap(iBATIS用) ├pages(JSP置き場) └WEB-INF(各種定義ファイル) 使用テーブル EMP EMPNO(CHAR) EMPNAME(VARCHAR2) DEPTNO(CHAR) DEPT DEPTNO(CHAR) DEPTNAME(VARCHAR2) 従業員番号を入力すると、従業員名と部署名が返ってくる簡単なものを作ってみる。 手順 ABATORによるDAO自動生成 Eclipseのパッケージエクスプローラ上でプロジェクト名を右クリック→新規→その他。 Abator for iBATIS Wisardsの中のAbator for iBATIS Configuration Fileを選択し次へ。 ロケーションを/WEB-INF/配下にして終了すると、abatorConfig.xmlが作成される。???の部分を以下のように書き加える。 ?xml version="1.0" encoding="UTF-8" ? !DOCTYPE abatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Abator for iBATIS Configuration 1.0//EN" "http //ibatis.apache.org/dtd/abator-config_1_0.dtd" abatorConfiguration abatorContext jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc oracle thin @localhost 1521 xe" userId="userID" password="pass" classPathEntry location="ojdbc14.jarのフルパス" / /jdbcConnection javaModelGenerator targetPackage="example.bean" targetProject="Exam" / sqlMapGenerator targetPackage="example.sqlMap" targetProject="Exam" / daoGenerator targetPackage="example.dao" targetProject="Exam" type="GENERIC-CI" / table tableName="EMP" columnOverride column="EMPNO" property="empNo" javaType="String" jdbcType="CHAR" / columnOverride column="EMPNAME" property="empName" javaType="String" jdbcType="VARCHAR2" / columnOverride column="DEPTNO" property="deptNo" javaType="String" jdbcType="CHAR" / /table table tableName="DEPT" columnOverride column="DEPTNO" property="deptNo" javaType="String" jdbcType="CHAR" / columnOverride column="DEPTNAME" property="deptName" javaType="String" jdbcType="VARCHAR2" / /table /abatorContext /abatorConfiguration 保存したら、abatorConfig.xmlを右クリック→Generate iBATIS Artifactsを選択。src/example配下にファイルが自動生成される。 example ├bean │ ├Dept.java │ ├DeptExcample.java │ ├Emp.java │ └EmpExample.java ├dao │ ├DeptDAO.java │ ├DeptDAOImpl.java │ ├EmpDAO.java │ └EmpDAOImpl.java └sqlMap ├Dept_SqlMap.xml └Emp_SqlMap.xml beanのカスタマイズとテーブル内部結合用のsql作成 Emp.javaでDEPTNAMEも扱えるようにする。 Emp.javaにprivate String deptNameを作成し、getter/setterを作る。 他にもやり方はあるがこれが一番単純なので。 EMPとDEPTを内部結合した結果を取得できるようにする。 Emp_SqlMap.xmlを開き、resultMapにDEPTNAMEを追加、新規sql文を作成する。 resultMap id="abatorgenerated_EmpResult" class="example.bean.Emp" result column="EMPNO" property="empNo" jdbcType="CHAR" / result column="EMPNAME" property="empName" jdbcType="VARCHAR2" / result column="DEPTNO" property="deptNo" jdbcType="CHAR" / result column="DEPTNAME" property="deptName" jdbcType="VARCHAR2"/ //追加するカラム /resultMap sql id="abatorgenerated_Example_Where_Clause" : /sql select id="getEmp" resultClass="example.bean.Emp" //新しく追加するsql文 SELECT EMP.EMPNO, EMP.EMPNAME, DEPT.DEPTNAME AS DEPTNAME FROM EMP, DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO AND EMP.EMPNO = #VALUES# //#VALUES#は後で引数を受け取る部分 /select : sqlMapConfig.xml(sqlMap定義ファイル)をsrc/example/sqlMap配下に作成 ?xml version="1.0" encoding="UTF-8" ? !DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http //ibatis.apache.org/dtd/sql-map-config-2.dtd" sqlMapConfig settings useStatementNamespaces="true" / transactionManager type="JDBC" dataSource type="SIMPLE" property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver" / property name="JDBC.ConnectionURL" value="jdbc oracle thin @localhost 1521 xe" / property name="JDBC.Username" value="userID" / property name="JDBC.Password" value="pass" / /dataSource /transactionManager sqlMap resource="example/sqlMap/EMP_SqlMap.xml" / sqlMap resource="example/sqlMap/DEPT_SqlMap.xml" / /sqlMapConfig dao.xml(DAO定義ファイル)をsrc/sqlMap配下に作成 ?xml version="1.0" encoding="UTF-8"? !DOCTYPE daoConfig PUBLIC "-//iBATIS.com//DTD DAO Configuration 2.0//EN" "http //www.ibatis.com/dtd/dao-2.dtd" daoConfig context transactionManager type="SQLMAP" property name="SqlMapConfigResource" value="sqlMapConfig.xml" / /transactionManager dao interface="example.dao.EmpDAO" implementation="example.dao.EmpDAOImpl" / dao interface="example.dao.DeptDAO" implementation="example.dao.DeptDAOImpl" / /context /daoConfig AppSqlConfig.java(SqlMapClientを一度だけ作成し取得するためのクラス)をexample/sqlMap配下に作成。 import java.io.Reader; import com.ibatis.common.resources.Resources; import com.ibatis.sqlmap.client.SqlMapClient; import com.ibatis.sqlmap.client.SqlMapClientBuilder; public class AppSqlConfig { private static SqlMapClient sqlMap; static { try { String resource = "jp/co/los/Sample001/sqlMap/sqlMapConfig.xml"; Reader reader = Resources.getResourceAsReader(resource); sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); } catch (Exception e) { e.printStackTrace(); } } public static SqlMapClient getSqlMapInstance() { return sqlMap; } } IDEで定義ファイル作成 パッケージエクスプローラ上でプロジェクト名を右クリック→Spring Tools→Add Spring Project Natureを選択。 パッケージエクスプローラのプロジェクトのアイコンの文字がJからSに変わる。 パッケージエクスプローラ上でプロジェクト名を右クリック→新規→その他→Spring→Spring Bean Definitionを選択し次へ。 親フォルダをWEB-INFにし、名前(ここではapplicationContextとする)を入力し次へ。 beansのすぐ下のcontextにもチェックを入れて終了。 WEB-INF配下にxmlファイルが作成されるので、以下のように書き加える。 ?xml version="1.0" encoding="UTF-8"? beans xmlns="http //www.springframework.org/schema/beans" xmlns xsi="http //www.w3.org/2001/XMLSchema-instance" xmlns context="http //www.springframework.org/schema/context" xsi schemaLocation="http //www.springframework.org/schema/beans http //www.springframework.org/schema/beans/spring-beans.xsd http //www.springframework.org/schema/context http //www.springframework.org/schema/context/spring-context.xsd" context component-scan base-package="example"/ //書き加える部分。base-packageはsrc配下のexampleを入力。 /beans 画面と各種定義ファイルの作成。 ログイン画面(login.jsp)の作成 %@page pageEncoding="Windows-31J" contentType="text/html; charset=Windows-31J" % %@ taglib uri="http //struts.apache.org/tags-html" prefix="html" % head meta http-equiv="Content-Type" content="text/html; charset=Windows-31J"/ title ログイン画面 /title /head body html form action="/login" div ログインID: input type="text" name="empNo" html submit value="送信"/ /div /html form /body /html ログイン成功時画面(success.jsp)の作成 %@page pageEncoding="Windows-31J" contentType="text/html; charset=Windows-31J" % %@ taglib uri="http //struts.apache.org/tags-bean" prefix="bean" % %@ taglib uri="http //struts.apache.org/tags-html" prefix="html" % html head meta http-equiv="Content-Type" content="text/html; charset=Windows-31J"/ title テスト /title /head body div h1 Hello, bean write name="empNo" scope="session"/ bean write name="empName" scope="session"/ さん ( bean write name="deptName" scope="session"/ ) /h1 //従業員No 従業員名さん(部署名)という風に表示させる。 /div /body /html web.xmlの修正 ?xml version="1.0" encoding="ISO-8859-1"? !DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http //java.sun.com/dtd/web-app_2_3.dtd" web-app display-name Sample Application /display-name session-config session-timeout 30 /session-timeout /session-config servlet servlet-name example /servlet-name servlet-class org.apache.struts.action.ActionServlet /servlet-class init-param param-name spring.autowire /param-name //今回はSpringのAutowire機能を使う。 param-value byName /param-value /init-param load-on-startup 2 /load-on-startup /servlet servlet-mapping servlet-name example /servlet-name url-pattern *.do /url-pattern /servlet-mapping /web-app struts-config.xmlの修正 ?xml version="1.0" encoding="UTF-8" ? !DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http //struts.apache.org/dtds/struts-config_1_3.dtd" struts-config form-beans form-bean name="loginForm" type="org.apache.struts.action.DynaActionForm" form-property name="empNo" type="java.lang.String" / form-property name="empName" type="java.lang.String" / form-property name="deptName" type="java.lang.String" / /form-bean /form-beans action-mappings action path="/home" forward="/pages/login.jsp" / action path="/login" type="example.action.LoginAction" name="loginForm" forward name="success" path="/pages/success.jsp" / forward name="failure" path="/pages/login.jsp" / //ログインに失敗したときはログイン画面に戻る。 /action /action-mappings controller processorClass="org.springframework.web.struts.AutowiringRequestProcessor"/ plug-in className="org.springframework.web.struts.ContextLoaderPlugIn" set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"/ /plug-in /struts-config ログイン処理インターフェイスとログイン処理実装クラスの作成 LoginService.java(インターフェイス)をsrc/example/biz配下に作成。 package example.biz; import example.bean.Emp; public interface LoginService { public Emp execute(String empNo); } LoginServiceImpl.java(実装クラス)をsrc/example/biz配下に作成。 package example.biz; import org.springframework.stereotype.Service; import example.sqlMap.AppSqlConfig; import com.ibatis.sqlmap.client.SqlMapClient; import example.bean.Emp; @Service("loginService") //アノテーションを利用したBean定義 public class LoginServiceImpl implements LoginService { public Emp execute(String empNo) { SqlMapClient sqlMap = AppSqlConfig.getSqlMapInstance(); Emp emp = new Emp(); try { emp = (Emp)sqlMap.queryForObject("EMP.getEmp",empNo); //(1) } catch (Exception e) { e.printStackTrace(); } return emp; } } (1)…EMP_sqlMap.xmlで設定したSQL文を呼び出す。2つ目の引数は#VALUES#に入る。 Actionクラスを作成 package example.action; import org.apache.struts.action.Action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.DynaActionForm; import org.springframework.beans.factory.annotation.Autowired; import example.bean.Emp; import example.biz.LoginService; public class LoginAction extends Action { @Autowired //……(1) private LoginService loginService = null; @Override public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res ) throws Exception { HttpSession session = req.getSession(); DynaActionForm dynaForm = (DynaActionForm)form; String empNo = dynaForm.getString("empNo"); Emp emp = loginService.execute(empNo); // 該当する従業員番号があればログイン成功とする。 if (emp != null) { session.setAttribute("empNo", emp.getEmpNo()); session.setAttribute("empName", emp.getEmpName()); session.setAttribute("deptName", emp.getDeptName()); return mapping.findForward("success"); } return mapping.findForward("failure"); } } (1)byNameでのオートワイヤリングなので,LoginServiceImplで指定している@Serviceの引数とLoginActionクラスの@Autowiredが指定してあるフィールドloginService の名称をあわせることでDIされる。 参考URL http //codezine.jp/article/detail/1289 http //www.thinkit.co.jp/free/article/0606/13/2/ http //www.atmarkit.co.jp/fjava/rensai4/spring2_01/spring2_01_1.html http //itpro.nikkeibp.co.jp/article/COLUMN/20080929/315624/?ST=develop P=1