当前位置: 首页 > news >正文

外国永久网站/厦门网络推广培训

外国永久网站,厦门网络推广培训,矿山建设工程公司网站,网页制作注意事项OA系统整体设计及约定 一、分层 3层((ViewAction)(ServiceDao)),每一层相对独立,达到解耦和的目的,可以轻松地替换掉某一层。 View JSP/serlvet/act…

OA系统整体设计及约定

一、分层

         3层((View+Action)+(Service+Dao)),每一层相对独立,达到解耦和的目的,可以轻松地替换掉某一层。

       View                   JSP/serlvet/action

          ↓

         Service               接口/实现类

          ↓

         Dao                    接口/实现类

         1,上面层调用下面层,层与层之间使用接口。

2,每一层中除了下一层的接口外,不能调用其他层特有的类或接口。

3,层与层之间传递数据可以使用Domain。

二、所用技术

         Struts2(2.1.8.1) + Hibernate(3.6.0 ) + Spring(2.5 ) + JBPM(4.4) + Junit (4)+ jQuery(1.4) + CKEditor...

三、开发环境

         Windows+ Tomcat + Eclipse/MyEclipse + MySQL + IE/FireFox

四、代码规范

         代码格式:Ctrl +Shift + F

         命名规范:驼峰命名法,遵循java规范

五、一些约定

utf-8

id: Long

六、项目计划


功能

知识点

1,搭建环境+基础功能

a)    Dao设计

1.    Struts基础

2.    Hibernate基础

2,组织用户管理

a)    岗位管理

b)    部门管理

c)    用户管理

1.    一般的实体设计

2.    实体映射(映射文件)

3.    增删改查功能

4.    树状显示

5.    使用jQuery.validate进行表单验证

3,系统权限

a)    创建权限

b)    分配权限

c)    使用权限

1.    jQuery的一般使用

2.    权限控制方案

4,论坛

a)    论坛管理

b)    论坛基本功能

c)    文章管理

1.    分页

2.    在线编辑器FCKeditor

5jBPM +审批流转

a)    工作流框架jBPM

b)    审批流转功能

1.    工作流框架jBPM

2.    工作流的一般应用



搭建环境

一、数据库

         mysql>create database xsyoa default character set utf8;

【在my.ini文件中修改默认的编码,status命令查看】

         QueryOK, 1 row affected (0.03 sec)

         mysql>show create database xsyoa;

二、MyEclipse工程

         1,新Web工程,并把编码设为utf-8【工程properties】

         2,添加框架环境

                   Junit

                            直接添加,增加库就行了junit4.4.jar

                   Struts2

                            jar包,从blank.war中拷贝过来

                                     1,添加${Struts2_Home}/apps/struts2-blank-2.1.8.1.war/WEB-INF/lib/*.jar

2,添加struts2-spring整合插件的jar:${Struts2_Home}/lib/struts2-spring-plugin-2.1.8.1.jar

                            struts.xml, web.xml

<filter>

           <filter-name>struts2</filter-name>

           <filter-class>org.apache.struts2.dispatcher.

ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

    </filter>

<!-- 配置开发模式,以后修改了不用重新发布 -->

    <constantname="struts.devMode"value="true"/>

    <!--主题配置成simplestruts在输出的时候直接输出

    最简单的标签,样式上不管,由程序员自己写 -->

    <constantname="struts.ui.theme"value="simple"/>

    <!--严格规定.action才由struts处理 -->

    <constantname="struts.action.extension"value="action"/>

<!-- 定义全局的国际化资源文件 -->

    <constant name="struts.custom.i18n.resources"value="MessageResources"></constant>】

                   Hibernate

                            jar包:核心包hibernate3.jar,required, jpa, c3p0, jdbc驱动

                                     1,添加${HIBERNATE_HOME}/hibernate3.jar

                                     2,添加${HIBERNATE_HOME}/lib/required/*.jar

                                     ${HIBERNATE_HOME}/lib/jpa/hibernate-jpa-2.0-api-1.0.0.Final.jar

                                     3,添加 JDBC 驱动包,mysql-connector-java-5.1.5-bin.jar

                                     4,添加slf4j-log4j12-1.5.8.jar、log4j-1.2.15.jar,

                                     5,添加c3p0-0.9.1.2.jar

                            hibernate.cfg.xml, *.hbm.xml【根据设计实体】

                   Spring

jar包,spring2.5很稳定【带了其他很多相关的包】:核心包,aspectj包(AOP)、cglib,logging

         1,添加${SPRING_HOME}/dist/spring.jar

         2,添加${SPRING_HOME}/lib/aspectj/*.jar(共2个)

         3,添加${SPRING_HOME}/lib/cglib/cglib-nodep-2.1_3.jar

5,添加${SPRING_HOME}/lib/jakarta-commons/commons-logging.jar(1.1.1版)

         6,添加工具jar包:commons-codec.jar,commons-lang.jar

                            appicationContext.xml/beans.xml

<!-- 配置自动扫描和装配,这样可以使用注解 -->

<!-- 会扫描该包和其子包,多个包用逗号隔开 -->

<context:component-scanbase-package="com.xsy.oa"/>

 

声明一个bean,不加名就是类名第一个字母小写

         @Component("beanName")

         @Controller

         @Service

         @Repository

 

配置bean的scope

         @Scope("prototype")

 

注入bean

         @Resource

 

         3,整合SSH

                   Struts2与Spring整合【action交由spring管理,方面注入属性,像service,sessionFactory】

                            Syst打印当前方法名

                            1,在web.xml中配置Spring的监听器【Spring在web环境中的通用,从文档中拷贝过来】【<!-- spring的初始化容器的监听器 -->

    <listener>

        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

    </listener>

    <context-param>

 

    <param-name>contextConfigLocation</param-name>

        <param-value>classpath:applicationContext*.xml</param-value>

    </context-param>

 

                            2,加一个jar包:struts2的插件struts2-spring-plugin-2.1.8.1.jar

整合成功后【<!-- spring整合后,class可以写名称,当然也可以写全名-->

       <actionname="test"class="testAction">

                   Hibernate与Spring整合【管理SessionFactory实例(单例),声明式事务管理

                            配置sessionFactory

<!-- 导入外部的properties文件 -->

    <context:property-placeholderlocation="classpath:jdbc.properties"/>

 

<!-- 配置sessionFactory -->

<beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

    <!--指定hibernate配置文件路径 -->

    <propertyname="configLocation"value="classpath:hibernate.cfg.xml"/>

    <!--配置C3P0数据库连接池 -->

    <propertyname="dataSource">

       <!--因为这个数据源就他自己用,所以配置成匿名对象 -->

       <beanclass="com.mchange.v2.c3p0.ComboPooledDataSource">

           <!--数据库连接信息 -->

           <propertyname="driverClass"value="${driverClass}"></property>

        <propertyname="jdbcUrl"value="${jdbcUrl}"></property>

        <propertyname="password"value="${password}"></property>

        <propertyname="user"value="${user}"></property>

       

        <!--自己的管理信息 -->

        <!--初始化时获取三个连接,取值应在minPoolSizemaxPoolSize之间。Default: 3 -->

           <propertyname="initialPoolSize"value="3"></property>

           <!--连接池中保留的最小连接数。Default: 3 -->

           <propertyname="minPoolSize"value="3"></property>

           <!--连接池中保留的最大连接数。Default: 15 -->

           <propertyname="maxPoolSize"value="5"></property>

           <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->

           <propertyname="acquireIncrement"value="3"></property>

           <!--控制数据源内加载的PreparedStatements数量。如果maxStatementsmaxStatementsPerConnection均为0,则缓存被关闭。Default: 0 -->

           <propertyname="maxStatements"value="8"></property>

           <!--maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 0 -->

           <propertyname="maxStatementsPerConnection"value="5"></property>

           <!--最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->

           <propertyname="maxIdleTime"value="1800"></property>

        </bean>

    </property>

</bean>

 

<!-- 配置声明式事务管理 -->

    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">

       <propertyname="sessionFactory" ref="sessionFactory"></property>

    </bean>

    <tx:annotation-driventransaction-manager="txManager"/>】

【使用SessionFactory.getCurrentSession执行hibernate操作时,hibernate的操作默认必须包含在一个transaction中,也就是开始要用session.begionTransaction得到一个transaction 实例(譬如tx),操作结束时在这个实例上进行事务的提交tx.commit或回滚tx.rollback.如果这些CRUD操作不被包括在一个具体的transaction中,hibernate就会抛出{org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here}异常。

在实际的SSH web应用开发中,我们通常用spring来进行事务的管理。我们一般不会在dao层使用transaction,事务被配置在service层上更为合理,因为业务层方法表示逻辑上的一个原子操作。在这种环境下,如果你遇到上述异常,请考虑一下service层上没有配置transaction,transaction有没有打开!

         4,资源分类

                   源码文件夹

•    src                  项目源代码

•    config             配置文件

•    test                单元测试

WebRoot文件夹

•    script             JavaScript脚本文件

•    style               CSS样式文件

•    WEB-INF/jsp          jsp页面(再创建子文件夹分类存放)

 

包名

说明

cn.itcast.oa.domain

实体(Domain

cn.itcast.oa.dao

Dao接口

cn.itcast.oa.dao.impl

Dao的实现类

cn.itcast.oa.service

Service接口

cn.itcast.oa.service.impl

Service的实现类

cn.itcast.oa.view.action

StrutsAction

cn.itcast.oa.util

一些工具类

cn.itcast.oa.cfg

 

cn.itcast.oa.filter

 

 

         5,配置日志

                  slf4j

                            JDK logging      --> logging.properties

                            Log4j        -->log4j.properties

 

最终准备完成的环境如下


http://www.jmfq.cn/news/4992121.html

相关文章:

  • 郑州做网站哪家好熊掌号/识图搜索在线 照片识别
  • 多用户网站管理系统/网络广告的特点
  • 网站开发的业务需求分析/外贸平台自建站
  • 做集群网站/搜索引擎优化排名培训
  • 政府查询网站建设方案/广州抖音seo公司
  • 韶关城乡建设部网站首页/硬件工程师培训机构哪家好
  • 找别人做网站需要注意什么/软文写手兼职
  • web做网站实训目的/百度主页网址
  • 做母婴网站/百度推广平台登录
  • 日本做暖暖视频网站试看/百度推广优化怎么做的
  • 建博客网站/百度关键词排名突然消失了
  • 网站设计优秀作品/武汉网站seo推广
  • 公司建设网站怎么作账/百度关键词排行榜
  • 建筑招工网站/itmc平台seo优化关键词个数
  • 上海高登联合建设网站/seo关键词排名在线查询
  • 拿p5.js做的网站/bilibili官网网页入口
  • 自己的电脑做网站空间视屏/惠州seo代理
  • 高唐网站建设服务商/苏州seo关键词优化方法
  • 医院网站建设投标书/百度开户公司
  • 计算机前端培训机构哪个好/厦门seo网站排名优化
  • 企业独立建站/如何创建公司网站
  • 杭州品牌设计公司有哪些/seo网站推广专员招聘
  • 洛阳网站建设哪家好/seo搜索引擎优化ppt
  • 鸡西市法院的网站建设公司/百度流量
  • 哪里教做网站的/长春网络优化哪个公司在做
  • 唐山建设网站建站/推一手新闻发稿平台
  • 寻花问柳专注做一家男人喜欢的网站/免费推广app软件下载
  • 淘宝运营培训课程靠谱吗/优化网站推广网站
  • 做平面设计哪个网站下载素材好/百度代发排名
  • 网站流量分析的指标有哪些/关键词在线挖掘网站