Bos项目的简单记录


BOS项目

1.数据库环境搭建:

  1. net start mysql

  2. mysql -uroot -p123

  3. create database bos32 character set utf-8;

  4. use bos32;

    —-查看所有的用户,先使用root用户登录

    select user,host from mysql.user;

    —-创建当前数据库的专享用户xing

  5. create user xing identified by ‘root123’;

  6. grant all on bos32.* to xing;

    —-重新登录

    mysql -uxing -proot123

2.搭建项目环境

创建一个父工程bos-parent,maven项目,是一个pom文件格式

创建子工程bos-utils,是一个maven module,是一个jar文件格式

创建子工程bos-domain,是一个maven module,是一个jar文件格式

创建子工程bos-dao,是一个maven module,是一个jar文件格式

创建子工程bos-service,是一个maven module,是一个jar文件格式

创建子工程bos-web,是一个maven module,是一个war文件格式

对于web模块eclipse下会有红色的叉,这是由于创建的项目缺少WEB-INF文件,web模块右键,使用java EE Tools工具,Generator Deployment…构建项目目录。

一个包裹其他模块的父工程是一个pom文件格式,其中有组件和模块的配置信息:

 <!-- 通过属性定义指定jar的版本 -->
    <properties>
        <spring.version>4.2.4.RELEASE</spring.version>
        <hibernate.version>5.0.7.Final</hibernate.version>
        <struts2.version>2.3.24</struts2.version>
        <slf4j.version>1.6.6</slf4j.version>
        <log4j.version>1.2.12</log4j.version>
        <shiro.version>1.2.3</shiro.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.7.4</version>
        </dependency>

        <!-- struts2 begin -->
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>${struts2.version}</version>
            <!-- 排除传递的依赖 -->
            <exclusions>
                <exclusion>
                    <artifactId>javassist</artifactId>
                    <groupId>javassist</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-spring-plugin</artifactId>
            <version>${struts2.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-convention-plugin</artifactId>
            <version>${struts2.version}</version>
        </dependency>
        <!-- struts2 end -->

        <!-- hibernate begin -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${hibernate.version}</version>
        </dependency>
        <!-- hibernate end -->

        <!-- log start -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j.version}</version>
        </dependency>
        <!-- log end -->

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.11</version>
        </dependency>

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>3.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>3.0.1</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
            <scope>test</scope>
        </dependency>

        <!-- 加入servlet和jsp的依赖 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>provided</scope>
        </dependency>

        <!-- 引入pinyin4J的依赖 -->
        <dependency>
            <groupId>com.belerweb</groupId>
            <artifactId>pinyin4j</artifactId>
            <version>2.5.0</version>
        </dependency>

        <!-- 引入json-lib的依赖 -->
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
        </dependency>

        <!-- 引入c3p0jar包 -->
        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>

        <!-- 引入ehcache的依赖 -->
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache-core</artifactId>
            <version>2.6.6</version>
        </dependency>
        <!-- 引入shiro框架的依赖 -->
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-all</artifactId>
            <version>1.2.2</version>
        </dependency>
        <!-- 引入MySQL数据库驱动依赖 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.32</version>
        </dependency>
    </dependencies>

    <build>
        <!-- 插件 -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.5</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
            <!-- 引入tomcat插件 -->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <path>/bos</path>
                    <port>8888</port>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

    <modules>
        <module>bos-domain</module>
        <module>bos-dao</module>
        <module>bos-service</module>
        <module>bos-web</module>
        <module>bos-utils</module>
    </modules>

3.配置

第一步配置web.xml文件:

    <!-- 配置过滤器,解决hibernate懒加载 -->
    <filter>
    <filter-name>openSessionInView</filter-name>
    <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>openSessionInView</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- 通过上下文参数指定spring文件位置 -->
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <!-- 配置spring框架的监听器 默认寻找WebInfo下的spring配置文件-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!-- 配置struts的过滤器 -->
    <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>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>

第二步配置struts.xml文件(文件存放在web模块的main中的resource目录下)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <!-- 控制台输出信息,false输出struts的信息少 -->
    <constant name="struts.devMode" value="false" />
    <!-- 在struts-spring的整合包中已经进行的相关的设置
        <constant name="struts.objectFactory" value="spring"/>
     -->
    <package name="basicstruts2" extends="struts-default">
        <!-- 需要进行权限控制的页面访问  没有指定默认执行struts中的ActionSupport中的execute方法 -->
        <action name="page_*_*">
            <result type="dispatcher">/WEB-INF/pages/{1}/{2}.jsp</result>
        </action>
    </package>
</struts>

第三步配置log4j.properties日志文件(一般的项目在src文件下,maven继承的项目放在web模块的main中resource目录下)

### direct log messages to stdout 
### 使用控制台记录日志信息,因此不会打印到文件中
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=d:\\mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###
### fatal error warn info debug trace
### (六个日志等级:致命错误、普通错误、警告、普通信息、调试信息、堆栈信息)
log4j.rootLogger=off, stdout(第一个参数设置日志的级别,off为关闭日志输出,第二个参数为日志的输出位置stdout输出到控制台,file输出到指定的文件中)

第四步配置applicationContext.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"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    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
                        http://www.springframework.org/schema/aop
                        http://www.springframework.org/schema/aop/spring-aop.xsd
                        http://www.springframework.org/schema/tx 
                        http://www.springframework.org/schema/tx/spring-tx.xsd">
    <!-- 上面引入springxml中的约束,有context、aop、tx等,配置数据源 -->    
    <context:property-placeholder location="classpath:db.properties"/>                
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driverClass}"></property>
        <property name="jdbcUrl" value="${jdbc.driverUrl}"></property>
        <property name="user" value="${jdbc.user}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>


    <!-- 配置LocalSessionFactionBean,Spring提供的用于整合Hibernate的工厂bean -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <!--嵌套配置时需要注意参数的设置是name和ref属性 -->
        <property name="dataSource" ref="dataSource"></property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
            </props>
        </property>
        <!-- 配置hibernate的映射文件 -->
        <property name="mappingLocations">
            <list>
                <value>classpath:com/itxing/bos/domain/*.xml</value>
            </list>
        </property>
    </bean>


    <!-- 配置事务管理器 -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>

    <!--  使用注解开发,无需配置dao、service以及切面、切点等-->
    <context:component-scan base-package="com.itxing.bos"/>
    <!-- 支持sprig注解
        例如:@Controller、@Service、@Repository、
        @Component、@AutoWired、@Resource
     -->
    <context:annotation-config/>
    <tx:annotation-driven />
</beans>

第五步创建一个项目的目录结构

​ 每一个模块下建立相应的包文件结构,web层下一般放置拦截器、过滤器、监听器等;service层一般是接口和实现类;dao层是接口与实现类;domain放置的是POJO文件。

第六步将项目使用的资源文件复制到项目中

复制静态页面到web目录下的webapp目录下

将项目进行关联,在web项目上点击run选择maven install命令将各个模块组建起来,点击run on service在服务器上运行访问:http://localhost:8080/bos-web/login.jsp ,查看是否启动

使用svn管理代码:

1.创建一个新的文件夹作文仓库管理的位置,点击右键在此创建版本库。

2.更改conf文件夹下的svnserve.conf

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

3.更改conf文件夹下的passwd文件(创建用户)

[users]
# harry = harryssecret
# sally = sallyssecret
xing = root123

4.更改conf文件夹下的authz文件

[aliases]

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
### 定义组,向组总添加人员信息、添加人员的权限信息,添加组的权限信息
developgroup = xing
[/]
xing = rw
@developgroup = rw

在该仓库外的文件夹下进入cmd启动服务,使用命令

svnserve -d -r 当前的仓库路径

如果在cmd命令行之下不能svn命令,先进行svn的修复工作,在对其进行svn命令的检查svn info

创建一个配置文件每次启动时点击.bat文件即可,使用svn对代码进行管理

前端页面使用jquery easyui

引入静态资源文件:

    <link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css">
    <link rel="stylesheet" type="text/css" href="../../themes/icon.css">
    <link rel="stylesheet" type="text/css" href="../demo.css">
    <script type="text/javascript" src="../../jquery-1.8.0.min.js"></script>
    <script type="text/javascript" src="../../jquery.easyui.min.js"></script>

前端的编写

1.layout页面布局

<body class="easyui-layout">
    <!-- 使用div描述每个区域 -->
    <div title="星星制作管理系统" style="height:100px" data-options="region:'north'"> 北部区域</div>
    <div title="系统菜单" style="width:200px" data-options="region:'west'">西部区域</div>
    <div data-options="region:'center'">中部区域</div>
    <div style="width:100px" data-options="region:'east'">东部区域</div>
    <div style="height:50px" data-options="region:'south'">南部区域</div>
</body>

2.accordion折叠面板

<body class="easyui-layout">
    <div title="星星管理系统2" style="height:100px" data-options="region:'north'"></div>
    <div title="系统设置" style="width:200px" data-options="region:'west'">
        <!-- 制作accordion折叠面板
            使用div表示每个面板
             -->
        <div class="easyui-accordion" dataoptions="fit:true">

            <div data-options="iconCls:'icon-cut'" title="面板1">111</div>
            <div title="面板1">111</div>
            <div title="面板1">111</div>
        </div>
    </div>
    <div data-options="region:'center'">

    </div>
    <div style="width:100px" data-options="region:'east'"></div>
    <div style="height:50px" data-options="region:'south'"></div>
</body>

3.tabs选项卡面板

s<body class="easyui-layout">
    <div style="height:100px" title="星星管理系统3.0" data-options="region:'north'"></div>
    <div style="width:200px" title="系统设置" data-options="region:'west'">
        <div class-options="easyui-accorfion" data-options="fit:true">
            <div data-options="iconCls:'icon-cut'" title="面板一">1111</div>
            <div data-options="iconCls:'icon-save'" title="面板二">2222</div>
            <div  title="面板三">3333</div>
        </div>
    </div>
    <div data-options="region:'center'">
        <div class="easyui-tabs" data-options="fit:true">
            <!-- 制作一个tabs选项卡面板 -->
            <div data-options="iconCls:'icon-cut'" title="面板一"></div>
            <div data-options="closable:true" title="面板二" >222</div>
            <div title="面板三">333</div>
        </div>
    </div>
    <div style="width:100px" data-options="region:'east'"></div>
    <div style="height:50px" data-options="region:'south'"></div>
</body>

ztree插件

引入ztree的文件

使用标准json构建ztree

使用普通的json构建ztree

使用ajax异步请求获取数据


文章作者: it星
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 it星 !
 上一篇
互联网通信 互联网通信
it星
互联网通信(后期自己对内容进行完善) 1.分层(主要是为了解耦) exec 9 /dev/tcp/www.baidu.com/80 #9表示文件描述符 #:表示输入输出流 #exec #/dev/tcp/www.baidu.com/80
2020-04-26
下一篇 
Oracle学习 Oracle学习
关系型数据库之Oracle Oracle数据库是一个数据管理系统(RDBMS),提供开放的,全面的,近乎完整的信息管理,一个Oracle数据库由多个实例组成,实例操作数据库,任意时刻一个实例只能与一个数据库关联,一个数据库上只有一个实例对其
2020-04-15
  目录