众筹网站项目第一天之项目环境搭建和环境测试

打开原教程视频
注:本人是编程小白,这个是我第一个尝试的项目,编写该系列博客是为了记录第一次做项目的经历,其中肯定会有不少不成熟的操作甚至错误之处,如果可以,希望大神指出,谢谢大家。

资料准备

点击获取
获取码:afnm
该链接如果失效了可以自行到原教程视频地址寻找。

数据库搭建

该项目一共需要创建22张表,但在资料中没有创建表格的sql语句,但其中还是提供了比较便捷的方法。

1、打开资料找到并安装PowerDesigner(项目设计工具),点击查看安装教程
点击图片查看安装教程
2、打开软件,然后打开file–>open–>SSM众筹项目资料\ssm项目\atcrowdfunding课件\docs\代码
在这里插入图片描述
3、右击 PhysicalDataModel_1,打开properties
在这里插入图片描述
4、点击Preview就可以查看创建所有表的sql语句了。
在这里插入图片描述
5、复制语句创建数据库和表
在这里插入图片描述

IDEA环境搭建

下图是原资料中的各个系统模块之间的继承和依赖关系,我们可以看到项目之间的关系不仅乱而且关系模糊,刚开始本来想重新自己设计,但由于能力有限同时自己是第一次做项目,担心设计不好导致后期出错,也就放弃了。
在这里插入图片描述
在这里插入图片描述
1、打开idea创建项目模块。
在这里插入图片描述
在创建不同模块时,虽然设计里面有继承关系,但我在创建时所有项目都将parent设置为none,并在后期再进行添加。
在这里插入图片描述
2、添加依赖
common模块

<parent>
        <artifactId>CrowdFunding-parent</artifactId>
        <groupId>com.bin.CrowdFunding-parent</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../CrowdFunding-parent/pom.xml</relativePath>
    </parent>
<dependencies>
    <dependency>
        <groupId>com.bin.CrowdFunding</groupId>
        <artifactId>CrowdFunding-bean</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

main模块

<parent>
    <artifactId>CrowdFunding-parent</artifactId>
    <groupId>com.bin.CrowdFunding-parent</groupId>
    <version>1.0-SNAPSHOT</version>
    <relativePath>../CrowdFunding-parent/pom.xml</relativePath>
  </parent>

  <dependencies>
    <dependency>
      <groupId>com.bin.CrowdFunding</groupId>
      <artifactId>CrowdFunding-manager-impl</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>com.bin.CrowdFunding</groupId>
      <artifactId>CrowdFunding-potal-impl</artifactId>
      <version>1.0-SNAPSHOT</version>
    </dependency>

manager-api

 <dependencies>
        <dependency>
            <groupId>com.bin.CrowdFunding</groupId>
            <artifactId>CrowdFunding-common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.bin.CrowdFunding</groupId>
            <artifactId>CrowdFunding-bean</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

manager-impl

 <parent>
        <artifactId>CrowdFunding-parent</artifactId>
        <groupId>com.bin.CrowdFunding-parent</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../CrowdFunding-parent/pom.xml</relativePath>
    </parent>
    <dependencies>
        <dependency>
            <groupId>com.bin.CrowdFunding</groupId>
            <artifactId>CrowdFunding-manager-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.bin.CrowdFunding</groupId>
            <artifactId>CrowdFunding-common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

parent

<modules>
        <module>../CrowdFunding-bean</module>
        <module>../CrowdFunding-common</module>
        <module>../CrowdFunding-main</module>
        <module>../CrowdFunding-manager-api</module>
        <module>../CrowdFunding-manager-impl</module>
        <module>../CrowdFunding-potal-api</module>
        <module>../CrowdFunding-potal-impl</module>
    </modules>

potal-api

 <dependencies>
        <dependency>
            <groupId>com.bin.CrowdFunding</groupId>
            <artifactId>CrowdFunding-bean</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.bin.CrowdFunding</groupId>
            <artifactId>CrowdFunding-common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

potal-impl

<parent>
        <artifactId>CrowdFunding-parent</artifactId>
        <groupId>com.bin.CrowdFunding-parent</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../CrowdFunding-parent/pom.xml</relativePath>
    </parent>
    <dependencies>
        <dependency>
            <groupId>com.bin.CrowdFunding</groupId>
            <artifactId>CrowdFunding-common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.bin.CrowdFunding</groupId>
            <artifactId>CrowdFunding-potal-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

到此依赖添加完毕,需要注意的是还需要按照资料添加模块的打包类型
如:parent在这里插入图片描述

添加api包依赖和配置文件

由项目设计可以看到几乎所有项目依赖于common,而common由继承自parent,所以只需要在parent和common模块添加依赖即可。

parent的pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.bin.CrowdFunding-parent</groupId>
    <artifactId>CrowdFunding-parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <modules>
        <module>../CrowdFunding-bean</module>
        <module>../CrowdFunding-common</module>
        <module>../CrowdFunding-main</module>
        <module>../CrowdFunding-manager-api</module>
        <module>../CrowdFunding-manager-impl</module>
        <module>../CrowdFunding-potal-api</module>
        <module>../CrowdFunding-potal-impl</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.5</version>
                <scope>provided</scope><!-- 注意!!!! -->
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.1.3-b06</version>
                <scope>provided</scope><!-- 注意!!!! -->
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>4.0.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>4.0.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>4.0.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>4.0.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>4.0.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>4.0.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>com.mchange</groupId>
                <artifactId>c3p0</artifactId>
                <version>0.9.2</version>
            </dependency>
            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
                <version>2.2</version>
            </dependency>
            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>1.6.8</version>
            </dependency>

            <!-- Spring整合MyBatis -->
            <!-- MyBatis中延迟加载需要使用Cglib -->
            <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.2.8</version>
            </dependency>

            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>1.2.2</version>
            </dependency>

            <!-- 控制日志输出:结合log4j -->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.7</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>1.7.7</version>
            </dependency>

            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.47</version>
            </dependency>
            <dependency>
                <groupId>jstl</groupId>
                <artifactId>jstl</artifactId>
                <version>1.2</version>
            </dependency>

            <!-- ********其他****************************** -->

            <!-- Ehcache二级缓存 -->
            <dependency>
                <groupId>net.sf.ehcache</groupId>
                <artifactId>ehcache</artifactId>
                <version>1.6.2</version>
            </dependency>


            <!-- 石英调度 - 开始 -->
            <dependency>
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz</artifactId>
                <version>1.8.5</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>4.0.0.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.1</version>
            </dependency>
            <!-- 石英调度 - 结束 -->

            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>1.9.2</version>
            </dependency>

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

            <dependency>
                <groupId>org.jfree</groupId>
                <artifactId>jfreechart</artifactId>
                <version>1.0.19</version>
            </dependency>

            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.3.1</version>
            </dependency>

            <dependency>
                <groupId>org.freemarker</groupId>
                <artifactId>freemarker</artifactId>
                <version>2.3.19</version>
            </dependency>

            <dependency>
                <groupId>org.activiti</groupId>
                <artifactId>activiti-engine</artifactId>
                <version>5.15.1</version>
            </dependency>

            <dependency>
                <groupId>org.activiti</groupId>
                <artifactId>activiti-spring</artifactId>
                <version>5.15.1</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-email</artifactId>
                <version>1.3.1</version>
            </dependency>

            <dependency>
                <groupId>org.activiti</groupId>
                <artifactId>activiti-explorer</artifactId>
                <version>5.15.1</version>
                <exclusions>
                    <exclusion>
                        <artifactId>groovy-all</artifactId>
                        <groupId>org.codehaus.groovy</groupId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>

    </dependencyManagement>
</project>

common的pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.bin.CrowdFunding</groupId>
    <artifactId>CrowdFunding-common</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <parent>
        <artifactId>CrowdFunding-parent</artifactId>
        <groupId>com.bin.CrowdFunding-parent</groupId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../CrowdFunding-parent/pom.xml</relativePath>
    </parent>
<dependencies>
    <dependency>
        <groupId>com.bin.CrowdFunding</groupId>
        <artifactId>CrowdFunding-bean</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <scope>provided</scope><!-- 注意!!!! -->
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <scope>provided</scope><!-- 注意!!!! -->
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
    </dependency>
    <dependency>
        <groupId>com.mchange</groupId>
        <artifactId>c3p0</artifactId>
    </dependency>
    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
    </dependency>

    <!-- Spring整合MyBatis -->
    <!-- MyBatis中延迟加载需要使用Cglib -->
    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
    </dependency>

    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
    </dependency>

    <!-- 控制日志输出:结合log4j -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
    </dependency>

    <!-- ********其他****************************** -->

    <!-- Ehcache二级缓存 -->
    <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache</artifactId>
    </dependency>


    <!-- 石英调度 - 开始 -->
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
    </dependency>
    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
    </dependency>
    <!-- 石英调度 - 结束 -->

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
    </dependency>

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

    <dependency>
        <groupId>org.jfree</groupId>
        <artifactId>jfreechart</artifactId>
    </dependency>

    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
    </dependency>

    <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
    </dependency>

    <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-engine</artifactId>
    </dependency>

    <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-spring</artifactId>
    </dependency>

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-email</artifactId>
    </dependency>

    <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-explorer</artifactId>
        <exclusions>
            <exclusion>
                <artifactId>groovy-all</artifactId>
                <groupId>org.codehaus.groovy</groupId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>
</project>

另外在资料中找到对应的配置文件,并添加当自己创建的对应项目中。
在这里插入图片描述
在这里插入图片描述
web.xml设计

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         id="WebApp_ID" version="2.5">
  <display-name>Archetype Created Web Application</display-name>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:spring/spring-*.xml</param-value>
  </context-param>

  <!-- 监听器
    监听servletContext的创建和销毁
    如果监听到servletContext创建(服务器启动),就会创建ioc容器
    如果监听到销毁(服务器停止),就会销毁ioc容器
    创建Spring框架的ioc容器
    将ioc容器对象放到application域

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

  <!-- 字符编码过滤器
        只负责解决post请求的乱码问题
  -->
  <filter>
    <filter-name>encoding</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>/*</url-pattern>
    <!-- 添加服务器内部请求转发过滤
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    -->
  </filter-mapping>

  <!--支持RESTFUL风格,将post请求转换为put和delete请求
    会读取隐含参数:“_method”

  -->
  <filter>
    <filter-name>HiddenHttpMethodFilter</filter-name>
    <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>HiddenHttpMethodFilter</filter-name>
    <servlet-name>dispatcherServlet</servlet-name>
  </filter-mapping>



  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springMVC/springmvc-context.xml</param-value>
    </init-param>
    <!-- servlet的生命周期
1.加载和实例化

2.初始化

3.请求处理

4.服务终止
    -->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <!-- 扩展匹配-->
    <url-pattern>*.htm</url-pattern>
    <url-pattern>*.do</url-pattern>
    <!-- 路径匹配
    <url-pattern>/*</url-pattern>
    <url-pattern>/user/*</url-pattern>
    -->
    <!-- 精确匹配-->
    <url-pattern>/user/save</url-pattern>
    <!-- 默认匹配-->
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <!-- 会话超时时间 -->
  <session-config>
    <session-timeout>60</session-timeout>
  </session-config>

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

到此项目已经搭建完成,接下来就是测试了。

项目环境测试

现在我打算在t_role表插入一条数据。
1、在bean中创建对应的实体类并添加对应的属性和封装方法
在这里插入图片描述

2、在manager-api中创建dao和service层的接口
在这里插入图片描述
3、在manager-impl中创建service的实现类和controller控制类
在这里插入图片描述

@Service(value = "service")
public class TestServiceImpl implements TestService {

    @Autowired
    private TestDao dao;

    /**
     * service层是是实现类环境测试
     * @param role
     */
    public void insert(Role role) {
        dao.insert(role);
    }
}

4、在controller中编写方法插入数据

@Controller
@RequestMapping(value = "testController")
public class TestController {
    @Autowired
    private TestService service;
    /**
     * 测试环境
     * @return
     */
    @RequestMapping(value = "/testRun")
    public String testRun(){
        Role role = new Role();
        role.setName("小明");
        service.insert(role);
        System.out.println("环境搭建成功!!!");
        return "success";
    }
}

5、在index.jsp中添加超链接跳转到测试方法

<a href="${pageContext.request.contextPath}/testController/testRun">test</a>

6、配置tomcat服务器
在这里插入图片描述
7、启动服务器,项目正常运行并且插入数据,环境搭建成功。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值