IntelliJ IDEA搭配SSH框架完整流程

SSH框架搭建流程

一、创建一个新的工程
这里写图片描述

选择maven,创建现有的webapp模板
这里写图片描述
(顺带在最上方选择已安装好的JDK)

GroupID和ArtifactID
GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
一般GroupID就是填com.zhangxinlong.webDemo这样子。
这里写图片描述

选择maven版本
这里写图片描述

输入项目名称,选择项目存储路径
这里写图片描述

二、工程创建完毕,等待下载maven
这里写图片描述
(如果没有自动下载,点击右上角的蓝色字体)

三、在main文件夹下新建一个java文件夹,设置为sourceRoot类型
这里写图片描述

四、pom.xml文件内容配置

删掉以下内容
这里写图片描述

把以下代码复制到<url></url><build></build>之间

<properties>
  <log4j.version>2.0-beta9</log4j.version>
  <findbugs.version>2.0.2</findbugs.version>
  <commons-beanutils.version>1.8.3</commons-beanutils.version>
  <javax.servlet.version>3.1.0</javax.servlet.version>
  <jstl.version>1.2</jstl.version>
  <mysql-connector-java.version>5.1.26</mysql-connector-java.version>
  <alibaba.fastjson.version>1.1.37</alibaba.fastjson.version>
  <aspectj.aspectjweaver.version>1.7.4</aspectj.aspectjweaver.version>
  <spring.version>3.2.2.RELEASE</spring.version>
  <spring-data.version>1.2.0.RELEASE</spring-data.version>
  <hibernate.version>4.2.5.Final</hibernate.version>
  <proxool.version>0.9.1</proxool.version>
  <junit.version>4.4</junit.version>
  <struts2.version>2.3.15.3</struts2.version>
  <slf4j.version>1.7.5</slf4j.version>
  <c3p0.version>0.9.1.2</c3p0.version>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--properties:是为pom定义一些常量,在pom中的其它地方可以直接引用-->

<dependencies>
  <dependency>
    <groupId>jfree</groupId>
    <artifactId>jfreechart</artifactId>
    <version>1.0.1</version>
  </dependency>
  <!--JUnit-->
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>${junit.version}</version>
    <scope>test</scope>
  </dependency>
  <!--hamcrest新断言方式-->
  <dependency>
    <groupId>org.hamcrest</groupId>
    <artifactId>hamcrest-all</artifactId>
    <version>1.3</version>
  </dependency>
  <!--添加SSH依赖-->
  <!--Struts2-->
  <dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>${struts2.version}</version>
  </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>

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

  <dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
  </dependency>

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

  <!-- spring -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
  </dependency>
  <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-jdbc</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-web</artifactId>
    <version>${spring.version}</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-expression</artifactId>
    <version>${spring.version}</version>
  </dependency>
  <!-- 关系型数据库整合时需配置 如hibernate jpa等 -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>${spring.version}</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>${spring.version}</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>2.5.6</version>
  </dependency>

  <!--log4j-->
  <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>
  <dependency>
    <groupId>commons-beanutils</groupId>
    <artifactId>commons-beanutils</artifactId>
    <version>${commons-beanutils.version}</version>
  </dependency>

  <!-- servlet API -->
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>${javax.servlet.version}</version>
    <scope>provided</scope>
  </dependency>

  <!-- jstl jsp标签噢 -->
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>${jstl.version}</version>
    <scope>provided</scope>
  </dependency>

  <!-- fastjson -->
  <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>${alibaba.fastjson.version}</version>
  </dependency>

  <dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-json-plugin</artifactId>
    <version>${struts2.version}</version>
  </dependency>
  <!-- mysql-connector -->
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>${mysql-connector-java.version}</version>
  </dependency>

  <!--依赖注入非常方便的jar包-->
  <dependency>
    <groupId>javax.inject</groupId>
    <artifactId>javax.inject</artifactId>
    <version>1</version>
  </dependency>

  <dependency>
    <groupId>javax.annotation</groupId>
    <artifactId>jsr250-api</artifactId>
    <version>1.0</version>
  </dependency>

  <!--cglib动态代理介绍(一)http://blog.csdn.net/xiaohai0504/article/details/6832990-->
  <dependency>
    <groupId>cglib</groupId>
    <artifactId>cglib</artifactId>
    <version>2.2.2</version>
    <scope>runtime</scope>
  </dependency>

  <!-- proxool 连接池-->
  <dependency>
    <groupId>proxool</groupId>
    <artifactId>proxool</artifactId>
    <version>${proxool.version}</version>
  </dependency>
  <dependency>
    <groupId>proxool</groupId>
    <artifactId>proxool-cglib</artifactId>
    <version>${proxool.version}</version>
  </dependency>
  <!--json-->
  <dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
    <classifier>jdk15</classifier>
  </dependency>
  <!-- aop -->
  <dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>${aspectj.aspectjweaver.version}</version>
  </dependency>
  <dependency>
    <groupId>net.sourceforge.jexcelapi</groupId>
    <artifactId>jxl</artifactId>
    <version>2.6.12</version>
  </dependency>
  <dependency>
    <groupId>c3p0</groupId>
    <artifactId>c3p0</artifactId>
    <version>${c3p0.version}</version>
  </dependency>
  <dependency>
    <groupId>org.apache.ant</groupId>
    <artifactId>ant</artifactId>
    <version>1.9.6</version>
  </dependency>
  <dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.2</version>
  </dependency>
</dependencies>

再把接下来的代码放到<build></build>标签内部

<plugins>
  <plugin>
    <artifactId>maven-war-plugin</artifactId>
  </plugin>

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
    <configuration>
      <!-- http://maven.apache.org/plugins/maven-war-plugin/ -->
      <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
    </configuration>
  </plugin>
  <plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
      <source>1.6</source>
      <target>1.6</target>
      <encoding>utf-8</encoding>
    </configuration>
  </plugin>
  <plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
      <encoding>utf-8</encoding>
    </configuration>
  </plugin>
  <plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
      <includes>
        <include>**/*Tests.java</include>
      </includes>
    </configuration>
  </plugin>

  <plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>8.1.5.v20120716</version>
    <configuration>
      <systemProperties>
        <systemProperty>
          <name>log4j.configuration</name>
          <value>file:${basedir}/src/main/resources/log4j.properties</value>
        </systemProperty>
        <systemProperty>
          <name>slf4j</name>
          <value>false</value>
        </systemProperty>
      </systemProperties>
      <scanIntervalSeconds>0</scanIntervalSeconds>
      <webAppSourceDirectory>${basedir}/src/main/webapp/</webAppSourceDirectory>
      <webAppConfig>
        <contextPath>/todo</contextPath>
        <descriptor>${basedir}/src/main/webapp/WEB-INF/web.xml</descriptor>
      </webAppConfig>
      <stopKey/>
      <stopPort/>
    </configuration>
    <dependencies>
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
      </dependency>
    </dependencies>
  </plugin>
</plugins>

再把以下代码放到</build>标签下面

<repositories>
  <!-- For main Spring releases -->
  <repository>
    <id>org.springframework.maven.release</id>
    <name>Spring Maven Release Repository</name>
    <url>http://maven.springframework.org/release</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>

  <!-- For testing against latest Spring snapshots -->
  <repository>
    <id>org.springframework.maven.snapshot</id>
    <name>Spring Maven Snapshot Repository</name>
    <url>http://maven.springframework.org/snapshot</url>
    <releases>
      <enabled>false</enabled>
    </releases>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>

  <!-- For developing against latest Spring milestones -->
  <repository>
    <id>org.springframework.maven.milestone</id>
    <name>Spring Maven Milestone Repository</name>
    <url>http://maven.springframework.org/milestone</url>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>

  <!-- add JBOSS repository for easy access to Hibernate libraries -->
  <repository>
    <id>JBOSS</id>
    <name>JBoss repository</name>
  <url>https://repository.jboss.org/nexus/content/repositories/releases</url>
  </repository>
  <repository>
    <id>cloudhopper</id>
    <name>Repository for Cloudhopper</name>
    <url>http://maven.cloudhopper.com/repos/third-party/</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>
</repositories>

(对于pom.xml的最终配置内容,可以查看下载内容中的pom.xml文件进行比较)

最后点一下maven的刷新按钮
这里写图片描述

五、拷贝以下5个文件到resources目录下
这里写图片描述

六、配置hibernate.cfg.xml文件

在此设置数据库的url
这里写图片描述

七、配置jdbc.properties

设置数据库路径、账号、密码
这里写图片描述

八、配置spring.xml

在java目录下新建一个命名为app的文件夹,spring.xml中base-package属性赋予该文件名
这里写图片描述

九、配置struts.xml
这里写图片描述

十、配置数据库

在hibernate.cfg.xml文件下点击上方的黄色提示条
这里写图片描述

左下角就出现了一个persistence按钮,右键点击
这里写图片描述

这里写图片描述

配置数据源
这里写图片描述

选中Data Sources,然后点 +号
这里写图片描述

选择mysql
这里写图片描述

填写数据库的各种信息以后,测试一下是否可以连接
这里写图片描述

连接成功
这里写图片描述

点击OK
这里写图片描述

点击刷新,得到数据库的所有表
这里写图片描述

选择实体生成的位置
这里写图片描述

勾选需要生成实体的表后,点击OK
这里写图片描述

十一、配置tomcat
这里写图片描述

Ok确认
补充:还需要配置一下web.xml,不然还是跑不起来
把下载压缩包里的web.xml里的内容复制到项目里的web.xml里,或者,干脆替换
附下载链接:框架搭建流程文档及配置文件

猜你喜欢

转载自blog.csdn.net/qq_20107237/article/details/79678557