携帯電話の仕入れ管理システム--03基礎フレームワーク

6628 ワード

1.プロジェクトフレーム--Struts 2
  • Struts 2コアjarパッケージ(struts 2-core-2.3.12.jar、もちろんコアパッケージのみ導入することはできませんが、struts 2をテストするときは、エラーのヒントに基づいて、起動時にエラーが発生しないまで対応するjarパッケージを導入することができます.または、以前に作成した項目を見つけてstruts 2に使用したjarを直接copyすればいいです)
  • web.xmlでStruts 2コアFilter--orgを構成する.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    <filter>
    		<filter-name>Struts2</filter-name>
    		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    	</filter>
    
    	<filter-mapping>
    		<filter-name>Struts2</filter-name>
    		<url-pattern>*.do</url-pattern>
    	</filter-mapping>
  • プロジェクトのclassesパスの下にsource folder--configを作成し、config内にstrutsを作成する.xmlはstrutsでテストしたAction
    public class TestAction {
    	
    	private String name;
    
    	public String execute() {
    		System.out.println(name);
    		name = "Welcome " + name;
    		return "test";
    	}
    	
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    }
    を作成します.xmlファイルでのtestAction
    <constant name="struts.action.extension" value="do" />
    	<constant name="struts.devMode" value="false" />
    	
    	<package name="default" namespace="/" extends="struts-default">
    		<action name="testAction" class="com.mobile.web.action.TestAction">
    			<result name="test">/WEB-INF/jsp/index2.jsp</result>
    		</action>
    	</package>
  • の構成
  • サーバを起動してテスト
  • 2.プロジェクトフレーム--Spring
  • Springのjarパッケージとstruts 2統合Springのプラグイン(struts 2-spring-plugin-2.3.12.jar)
  • springのxmlファイルを新規作成--beans.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"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    				http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
    				http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
    	<!--  
    	<bean id="testAction" class="com.mobile.web.action.TestAction">
    		<property name="testService" ref="testService"></property>
    	</bean>
    	-->
    	
    	<!--  id testService Action ,  -->
    	<bean id="testService" class="com.mobile.service.impl.TestServiceImpl"></bean>
    
    </beans>
  • web.xmlでリスナーを構成--プロジェクトの開始時にbeansをリスニングするために使用します.xml
    <context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>
    			/WEB-INF/classes/beans.xml
    		</param-value>
    	</context-param>
    	<listener>
    		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	</listener>
  • テスト
  • 3.プロジェクトフレームワーク--IBatis
  • IBatis jarパケットおよびDBPPデータソースおよび接続プールjarパケットの導入(ibatis-2.3.4.726.jar,commons-dbcp-1.4.jar,commons-pool-1.6.jar)
  • SpringプロファイルでデータソースData Sourceを構成します.
    <context:property-placeholder
    		location="WEB-INF/classes/jdbc.properties" />
    		
    	<bean id="dataSource"
    		class="org.apache.commons.dbcp.BasicDataSource">
    		<property name="driverClassName" value="${driverName}"></property>
    		<property name="url" value="${url}"></property>
    		<property name="username" value="${username}"></property>
    		<property name="password" value="${password}"></property>
    		<property name="maxActive" value="30"></property>
    		<property name="maxIdle" value="10"></property>
    		<property name="minIdle" value="5"></property>
    		<property name="maxWait" value="5000"></property>
    	</bean>
  • IBatisマスタープロファイルSqlMapConfigを作成する.xml、Springプロファイルで
    <?xml version="1.0" encoding="UTF-8" ?>
    
    <!DOCTYPE sqlMapConfig      
        PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"      
        "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
    
    <sqlMapConfig>
    
    	<sqlMap resource="com.mobile.domain.emp.xml" />
    
    </sqlMapConfig>
  • を宣言
  • emp.xml 
  • <?xml version="1.0" encoding="UTF-8" ?>
    
    <!DOCTYPE sqlMap      
        PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"      
        "http://ibatis.apache.org/dtd/sql-map-2.dtd">
    
    <sqlMap namespace="emp">
    	<select id="findEmp" resultClass="java.lang.Integer">
    		select count(id) from emp where name=#value#
    	</select>
    </sqlMap>
  • SqlMapConfig.xml Spring 
    <bean id="sqlMapClient"
    		class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
    		<property name="configLocation"
    			value="/WEB-INF/classes/SqlMapConfig.xml">
    		</property>
    		<property name="dataSource" ref="dataSource"></property>
    	</bean>
  • beans.xml注入commonDao
    public class CommonDaoImpl extends SqlMapClientTemplate implements CommonDao {
    
        public Object queryObject(String sqlId, Object parameter)
                throws SQLException {
            return getSqlMapClient().queryForObject(sqlId, parameter);
        }
    }
    <bean id="commonDao" class="com.mobile.dao.impl.CommonDaoImpl">
    		<property name="sqlMapClient" ref="sqlMapClient"></property>
    	</bean>
    	
    	
    	<!--  
    	<bean id="testAction" class="com.mobile.web.action.TestAction">
    		<property name="testService" ref="testService"></property>
    	</bean>
    	-->
    	
    	<!--  id testService Action ,  -->
    	<bean id="testService" class="com.mobile.service.impl.TestServiceImpl">
    		<property name="commonDao" ref="commonDao"></property>
    	</bean>
  • CommonDaoImplおよびTestServiceImplコードを書き、
  • をテストします.