struts项目创建过程说明

来源:互联网 发布:沙特驻华大使馆 知乎 编辑:程序博客网 时间:2024/05/17 05:06

开发工具准备:myEclipse5.1 eclipse3.2 ibatis.jar包 jdbc包 struts包

1、创建一个WebProject;
2、添加MyEclipse Struts Capabilities;
至此可以开发无数据库关联的Struts项目;
3、拷贝ibatis和sqljdbc.jar包到/WEB-INF/lib文件中;
4、在Struts同级目录下新建ibatis文件夹;
5、在ibatis新建名为dao的子目录用户放系统的dao文件,新建名为sqlMapConfig.xml的文件用于配置数据库服务器连接配置;
sqlMapConfig.xml详细配置如下:

<?xml version="1.0" encodeing="utf-8"?> //配置文件使用的xml版本号和编码格式
<sqlMapConfig>//详细配置
<settings cacheModelsEnabled="true" //是否启用SqlMapClient上的缓存机制。建议设为”true“
enhancementEnabled="true"//是否针对POJO启用字节码增强机制以提升getter/setter的调用效能,避免使用java Reflect所带来的性能开销。
lazyLoadEnabled="true" //是否启用延迟加载机制,建议设为”true“
errorTracingEnabled="true" //是否启用错误日志,在开发期间建议设为”true“以便调试
maxRequests="32"//最大并发请求数(Statement并发数)
maxSession="10" //最大session数量。即当前最大允许的并发SqlMapClient数。
 //maxSessions设定必须介于maxTransactions和maxRequests之间,即
 //maxTransactions<maxSessions=<maxRequests
maxTransactions="5" //最大并发事务数
userStatementNamespaces="true"/>
<transactionManager type="JDBC">
 <dataSource type="SIMPLE">
  <property name="JDBC.Driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>//配置数据库类型
  <property name="jdbc:slqserver://172.16.1.6:1433;DataBaseName=TRIS_02"/>//配置数据库地址和端口,以及数据库名称
  <property name="JDBC.Username" value="tris"/> //数据库访问用户名
  <property name="JDBC.Password" value="tris"/>//数据库访问用户名密码
  <property name="JDBC.DefaultAutoCommit" value="false"/> //默认提交方式
  <property name="Pool.MaximumActiveConnections" value="10"/>//数据库连接池可维持的最大容量
  <property name="Pool.MaximumIdleConnections" value="5"/>数据库连接池中允许的挂起(idle)连接数。
  <property name="Pool.MaximumCheckoutTime" value="120000"/> //数据库链接池中,连接被某个任务所允许占用的最大时间,如果超过这个时间限定,连接将被强制收回。(毫秒)
  <ptoperty name="Pool.TimeToWait" value="500" /> //当线程试图从连接池中获取连接时,连接池中无可用连接可供使用,此时线程将进入等待状态,直到池中出现空闲连接。此参数设定了线程所有允许等待的最长时间。(毫秒)
  <property name="Pool.PingQuery" value="select sysdate from dual;"/> //数据库连接状态检查语句。检测语句应该时一个最简化的无逻辑SQL。
  <property name="Pool.PingEnable" value="false"/>//是否允许检测连接状态。
  <property name="PoolConnectionNotUsedFor" value="1"/>对空闲超时设定值(毫秒)的连接进行检测。
  <property name="Pool.PingConnectionsOlderThan" value="1"/>
 </dataSource>
</transactionManager>
<sqlMap resource="com/viman/ibatis/Usertbl.xml"/>//系统中使用的sql文文件都要要<sqlMap resource="***.xml"/>的形式添加到sqlMapConfig.xml文件中。
</sqlMapConfig>

6、根据数据库的表生成java文件,如:Usrtbl.java,在系统起到数据容器或指明参数类型的作用
定义形式:private fieldname字段和 public setFieldname(),public getFieldname()方法的形式
 字段名都为数据库中字段名的全小写形式
 java文件名称为数据库的表名
 文件存放于ibatis根目录下
 
7、根据数据库表名生成sql文的xml配置文件,用户系统中使用的单表的sql语句
如:Usertbl.xml

详细写法:
  a、添加User.xml文件,文件存放于ibatis根目录下
  b、<?xml version="1.0" encodeing="UTF-8"?>//定义xml文档使用的版本,定义使用的编码
  c、<sqlMap namespace="Usertbl">//同Usertbl.java的namespace
    <typeAlias alias="usertbl" type="com.viman.ibatis.Usertbl"/>//别名用usertbl代替com.viman.ibatis.Usertbl
    
    <statement id="getUser" parameterClass="usertbl" resultClass="usertbl">
    <![CDATA[
      select * from Usertbl where Id=#id# Birthday <= #birthday#
    ]]>
    
    <delete id="deleteUser" paramterClass="usertbl">
     delete from Usertbl where Id = #id#
    </delete>
    <insert id="insertUser" parameterClass="usertbl">
     insert into usertbl(Id,Name,Sex,Birthday)values(#id#,#naem#,#sex#,#birthday#)
    </insert>
    <update id="updateUser" parameterClass="usertbl">
      update usertbl set Name=#name#,Sex=#sex#,Birthday=#birthday#
      where Id=#id#
    </update>
    
    <select id="selectUser" parameterClass="usertbl" resultClass="usertbl">
      select * from  usertbl
    </select>
    
    <select id="selectUserById" parameterClass="java.lang.String" resultClass="usertbl">
     select * from usertbl where Id=#id#
    </select>
    </sqlMap>
   
    注:
       ID:指定了操作ID,之后可以在到马中通过指定操作id来执行此节点所定义的操作,如:
           sqlMap.update("updateUser",usertbl);
       parameterClass: 指定参数类型;
       <![[CDATA[......]]>: 避免Sql中与xml规范相冲突的字符对xml映射文件的合法性造成影响。
       SqlClientMap是ibatis运作的核心,所有的操作均通过SqlMapClient实例完成。
8、添加DAO文件到com.jsmstc.ibatis.dao文件夹中
  作用:与sqlxml文件组合完成数据库的操作
9、添加Action文件到相关的action文件夹
  作用:完成业务逻辑操作
10、添加Form文件到相关的form文件夹中
    作用:数据实体的作用,但比在.net中重要性要大的多,因为它不仅仅起到数据容器的作用,而且与jsp页面有着直接联系,在struts中两者缺一不可
11、添加jsp页面到相应的文件夹中,并且jsp页面必须是struts jsp结构
12、添加config.xml文件到config中
    config.xml内部结构如下:
      <?xml version="1.0" encoding="UTF-8"?>
      <struts-config>
       <data-sources/>//数据库连接池设置标签,它让你能够在struts中使用数据库连接池,通常
       <form-beans>
        <form-bean name="userForm" type="com.viman.struts.form.UserForm"/>
       </form-beans>
       <global-exceptions>
       <global-forwards/>
       </global-exceptions>       
       <action-mappings>
        <action
        path=""
        input=""
        attribute=""
        name=""
        scope=""
        type=""
        validate="">
        <forward name=""
        path=""
        />
        </action>
       </action-mappings>
       <message-resources key=""
       parameter=""/>
      </struts-config>   
13、添加config信息到web.xml文件中
  <?xml version="1.0" encoding="UTF-8"?>
  <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4"
   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
   <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>
      org.apache.struts.action.ActionServlet
    </servlet-class>
    <init-param>
     <param-name>config</param-name>
     <param-value>
      /WEB-INF/config/training/struts-config.xml,
      /WEB-INF/config/training/classInfo/classlist-config.xml,
      /WEB-INF/config/training/classInfo/studentlist-config.xml,
      /WEB-INF/config/training/classInfo/classuser-config.xml,
      /WEB-INF/config/training/user/adduser-config.xml,
      /WEB-INF/config/training/hres/HResAdd-config.xml,
      /WEB-INF/config/training/obtain/obtain-config.xml,
      /WEB-INF/config/training/consultation/ConsultationInfoAdd-config.xml,
      /WEB-INF/config/training/consultation/ConsultationInfoSer-config.xml,
      /WEB-INF/config/training/hres/HResSearch-config.xml,
      /WEB-INF/config/training/hres/position-config.xml,
      /WEB-INF/config/training/obtain/stuobtainlist-config.xml,
      /WEB-INF/config/training/consultation/joininfo-config.xml     
     </param-value>
    </init-param>
    <init-param>
     <param-name>debug</param-name>
     <param-value>3</param-value>
    </init-param>
    <init-param>
     <param-name>detail</param-name>
     <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
   </servlet>
   <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
   </servlet-mapping>
   <filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>
     com.jsmstc.filters.SetCharacterEncodingFilter
    </filter-class>
    <init-param>
     <param-name>encoding</param-name>
     <param-value>UTF-8</param-value>
    </init-param>
   </filter>
  
   <filter-mapping>
    <filter-name>Set Character Encoding</filter-name>
    <url-pattern>/*</url-pattern>
   </filter-mapping>
  </web-app>


 

原创粉丝点击