zoukankan      html  css  js  c++  java
  • idea搭建SSM的maven项目(tomcat容器)

    一.创建maven的web项目

    (1)选择项目的骨架

    (2)写项目的坐标

    (3)maven的设置

    设置maven的本地仓库,以及配置文件的位置,同时点击+号,填入archetypeCatalog和internal,让maven读取本地配置即可(这样能让idea快速的创建maven的web工程)。

    然后点击next

    (4)创建完成

    点击finish

    二.添加目录并导入依赖

    (一)添加java目录,main目录下创建java目录,并且将其标记为Sources Root

    (2) 在main文件夹下创建resources目录,并将其标记为Resources Root

    (如果有需要,可以在src目录下创建test文件夹,并创建java和resources文件夹,并将它们分别标记为Test Resources Root和Test Resources Root,这里就不创建了)

    最后目录结构如下

    (3)pom文件的编写(导入相关依赖)

    maven.compiler.source和maven.compiler.target標簽中写jdk的版本

      1 <properties>
      2     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      3     <maven.compiler.source>1.8</maven.compiler.source> 
      4     <maven.compiler.target>1.8</maven.compiler.target>
      5 
      6     <!--定义版本号   ${org.springframework.version}-->
      7     <org.springframework.version>5.0.7.RELEASE</org.springframework.version>
      8     <org.mybatis.version>3.4.6</org.mybatis.version>
      9 
     10   </properties>
     11 
     12   <dependencies>
     13 
     14     <!--单元测试-->
     15     <dependency>
     16       <groupId>junit</groupId>
     17       <artifactId>junit</artifactId>
     18       <version>4.12</version>
     19       <scope>test</scope>
     20     </dependency>
     21     <!--lombok-->
     22     <dependency>
     23       <groupId>org.projectlombok</groupId>
     24       <artifactId>lombok</artifactId>
     25       <version>1.16.6</version>
     26     </dependency>
     27     <!-- servlet-api -->
     28     <dependency>
     29       <groupId>javax.servlet</groupId>
     30       <artifactId>servlet-api</artifactId>
     31       <version>2.5</version>
     32       <scope>provided</scope>
     33     </dependency>
     34     <!--mysql驱动-->
     35     <dependency>
     36       <groupId>mysql</groupId>
     37       <artifactId>mysql-connector-java</artifactId>
     38       <version>5.1.21</version>
     39     </dependency>
     40     <!-- druid -->
     41     <dependency>
     42       <groupId>com.alibaba</groupId>
     43       <artifactId>druid</artifactId>
     44       <version>1.0.14</version>
     45     </dependency>
     46     <!-- common-lang -->
     47     <dependency>
     48       <groupId>commons-lang</groupId>
     49       <artifactId>commons-lang</artifactId>
     50       <version>2.6</version>
     51     </dependency>
     52     <!--spring-test-->
     53     <dependency>
     54       <groupId>org.springframework</groupId>
     55       <artifactId>spring-test</artifactId>
     56       <version>${org.springframework.version}</version>
     57       <scope>test</scope>
     58     </dependency>
     59     <!--spring-core-->
     60     <dependency>
     61       <groupId>org.springframework</groupId>
     62       <artifactId>spring-core</artifactId>
     63       <version>${org.springframework.version}</version>
     64     </dependency>
     65     <!--spring-context-->
     66     <dependency>
     67       <groupId>org.springframework</groupId>
     68       <artifactId>spring-context</artifactId>
     69       <version>${org.springframework.version}</version>
     70     </dependency>
     71     <!--spring-context-support-->
     72     <dependency>
     73       <groupId>org.springframework</groupId>
     74       <artifactId>spring-context-support</artifactId>
     75       <version>${org.springframework.version}</version>
     76     </dependency>
     77     <!--spring-expression-->
     78     <dependency>
     79       <groupId>org.springframework</groupId>
     80       <artifactId>spring-expression</artifactId>
     81       <version>${org.springframework.version}</version>
     82     </dependency>
     83     <!--spring-jdbc-->
     84     <dependency>
     85       <groupId>org.springframework</groupId>
     86       <artifactId>spring-jdbc</artifactId>
     87       <version>${org.springframework.version}</version>
     88     </dependency>
     89     <!--spring-tx-->
     90     <dependency>
     91       <groupId>org.springframework</groupId>
     92       <artifactId>spring-tx</artifactId>
     93       <version>${org.springframework.version}</version>
     94     </dependency>
     95     <!--spring-web-->
     96     <dependency>
     97       <groupId>org.springframework</groupId>
     98       <artifactId>spring-web</artifactId>
     99       <version>${org.springframework.version}</version>
    100     </dependency>
    101     <!--spring-aop-->
    102     <dependency>
    103       <groupId>org.springframework</groupId>
    104       <artifactId>spring-aop</artifactId>
    105       <version>${org.springframework.version}</version>
    106     </dependency>
    107     <!--spring-webmvc-->
    108     <dependency>
    109       <groupId>org.springframework</groupId>
    110       <artifactId>spring-webmvc</artifactId>
    111       <version>${org.springframework.version}</version>
    112     </dependency>
    113 
    114     <!-- aspectj -->
    115     <dependency>
    116       <groupId>org.aspectj</groupId>
    117       <artifactId>aspectjrt</artifactId>
    118       <version>1.7.4</version>
    119     </dependency>
    120     <!--aspectj weaver-->
    121     <dependency>
    122       <groupId>org.aspectj</groupId>
    123       <artifactId>aspectjweaver</artifactId>
    124       <version>1.7.4</version>
    125     </dependency>
    126 
    127     <!-- cglib -->
    128     <dependency>
    129       <groupId>cglib</groupId>
    130       <artifactId>cglib</artifactId>
    131       <version>3.1</version>
    132     </dependency>
    133 
    134     <!-- mybatis -->
    135     <dependency>
    136       <groupId>org.mybatis</groupId>
    137       <artifactId>mybatis</artifactId>
    138       <version>${org.mybatis.version}</version>
    139     </dependency>
    140     <!--mybatis-spring-->
    141     <dependency>
    142       <groupId>org.mybatis</groupId>
    143       <artifactId>mybatis-spring</artifactId>
    144       <version>1.3.0</version>
    145     </dependency>
    146 
    147     <!-- jackson-core -->
    148     <dependency>
    149       <groupId>com.fasterxml.jackson.core</groupId>
    150       <artifactId>jackson-core</artifactId>
    151       <version>2.9.4</version>
    152     </dependency>
    153     <!--jackson-databind-->
    154     <dependency>
    155       <groupId>com.fasterxml.jackson.core</groupId>
    156       <artifactId>jackson-databind</artifactId>
    157       <version>2.9.4</version>
    158     </dependency>
    159     <!--jackson-annotations-->
    160     <dependency>
    161       <groupId>com.fasterxml.jackson.core</groupId>
    162       <artifactId>jackson-annotations</artifactId>
    163       <version>2.9.4</version>
    164     </dependency>
    165 
    166     <!--slf4j-api-->
    167     <dependency>
    168       <groupId>org.slf4j</groupId>
    169       <artifactId>slf4j-api</artifactId>
    170       <version>1.7.6</version>
    171     </dependency>
    172     <!--slf4j-log4j12-->
    173     <dependency>
    174       <groupId>org.slf4j</groupId>
    175       <artifactId>slf4j-log4j12</artifactId>
    176       <version>1.7.6</version>
    177     </dependency>
    178     <!--log4j-->
    179     <dependency>
    180       <groupId>log4j</groupId>
    181       <artifactId>log4j</artifactId>
    182       <version>1.2.17</version>
    183     </dependency>
    184     <!--commons-fileupload-->
    185     <dependency>
    186       <groupId>commons-fileupload</groupId>
    187       <artifactId>commons-fileupload</artifactId>
    188       <version>1.3.1</version>
    189     </dependency>
    190     <!-- jstl -->
    191     <dependency>
    192       <groupId>jstl</groupId>
    193       <artifactId>jstl</artifactId>
    194       <version>1.2</version>
    195     </dependency>
    196     <!-- standard -->
    197     <dependency>
    198       <groupId>taglibs</groupId>
    199       <artifactId>standard</artifactId>
    200       <version>1.1.2</version>
    201     </dependency>
    202     <!--pagehelper-->
    203     <dependency>
    204       <groupId>com.github.pagehelper</groupId>
    205       <artifactId>pagehelper</artifactId>
    206       <version>4.1.4</version>
    207     </dependency>
    208 
    209 
    210   </dependencies>

    (4) 配置文件的编写

    创建基本的文件夹,并添加文件,如图

    mybatis全局配置文件的编写,创建sqlMapConfig.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <settings>
            <setting name="logImpl" value="STDOUT_LOGGING"/>
        </settings>
        <typeAliases>
            <!-- 批量别名定义,扫描整个包下的类,别名为类名(大小写不敏感) -->
            <package name="com.qfssc.domain" />
        </typeAliases>
        <plugins>
            <plugin interceptor="com.github.pagehelper.PageHelper"></plugin>
        </plugins>
    </configuration>

    spring整合mybatis的配置文件编写,创建application-mybatis.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4        xmlns:context="http://www.springframework.org/schema/context"
     5        xmlns:aop="http://www.springframework.org/schema/aop"
     6        xmlns:tx="http://www.springframework.org/schema/tx"
     7        xsi:schemaLocation="http://www.springframework.org/schema/beans
     8         http://www.springframework.org/schema/beans/spring-beans.xsd
     9         http://www.springframework.org/schema/context
    10         http://www.springframework.org/schema/context/spring-context.xsd
    11     http://www.springframework.org/schema/aop
    12     http://www.springframework.org/schema/aop/spring-aop.xsd
    13      http://www.springframework.org/schema/tx
    14         http://www.springframework.org/schema/tx/spring-tx.xsd
    15 ">
    16 
    17     <!--spring-Mybatis整合-->
    18     <!--加载数据库属性文件-->
    19     <context:property-placeholder location="classpath:db.properties"/>
    20     <!--连接池-->
    21     <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    22         <property name="driverClassName" value="${jdbc.driver}" />
    23         <!--属性文件当中的名称不能和name名称一样-->
    24         <property name="url" value="${jdbc.url}" />
    25         <property name="username" value="${jdbc.username}" />
    26         <property name="password" value="${jdbc.password}" />
    27     </bean>
    28     <!-- 配置事务管理器 -->
    29     <bean id="transactionManager"
    30           class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    31         <!-- 数据源 -->
    32         <property name="dataSource" ref="dataSource" />
    33     </bean>
    34     <!-- 开启注解事务 -->
    35     <tx:annotation-driven transaction-manager="transactionManager"/>
    36 
    37     <!-- Mybatis的工厂 -->
    38     <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
    39         <property name="dataSource" ref="dataSource"/>
    40         <!-- 核心配置文件的位置 -->
    41         <property name="configLocation" value="classpath:sqlMapConfig.xml"/>
    42         <!--配置mapper映射文件的路径-->
    43         <!--<property name="mapperLocations" value="classpath:com.qfssc.mapper/*Mapper.xml"/>-->
    44     </bean>
    45 
    46     <!-- 配置Mapper接口扫描 -->
    47     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    48         <!-- 配置Mapper扫描包 -->
    49         <property name="basePackage" value="com.qfssc.mapper" />
    50     </bean>
    51 
    52 </beans>

    数据库连接的配置文件db.properties的编写

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8
    jdbc.username=root
    jdbc.password=1234

     springmvc的相关配置,编写application-mvc.xml:

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4        xmlns:context="http://www.springframework.org/schema/context"
     5        xmlns:mvc="http://www.springframework.org/schema/mvc"
     6        xsi:schemaLocation="http://www.springframework.org/schema/beans
     7     http://www.springframework.org/schema/beans/spring-beans.xsd
     8     http://www.springframework.org/schema/context
     9     http://www.springframework.org/schema/context/spring-context.xsd
    10     http://www.springframework.org/schema/mvc
    11     http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
    12     ">
    13 
    14     <mvc:annotation-driven />
    15     <!--静态资源处理 -->
    16     <mvc:default-servlet-handler/>
    17     <!--视图解析器 -->
    18     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    19         <property name="prefix" value="/WEB-INF/views/"/>
    20         <property name="suffix" value=".jsp" />
    21     </bean>
    22 
    23     <!--配置请求拦截器,拦截所有请求,用到的时候再进行配置拦截器-->
    24     <!--<mvc:interceptors>
    25         <mvc:interceptor>
    26             <mvc:mapping path="/*"/>
    27             <bean class="com.qfssc.web.interceptor.RequestInterceptor"></bean>
    28         </mvc:interceptor>
    29     </mvc:interceptors>-->
    30 
    31 </beans>

    spring核心配置文件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
    ">
        <!--注解扫描-->
        <context:component-scan base-package="com.qfssc"/>
        <!--导入mybatis-->
        <import resource="classpath:application-mybatis.xml"/>
    
        <!--导入springMVC-->
        <import resource="classpath:application-mvc.xml"/>
        
    </beans>

    编写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_3_0.xsd" 
     metadata-complete="false" version="3.0">
      <absolute-ordering/>
      <display-name>web</display-name>
    
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    
      <!--配置前端控制器-->
      <servlet>
        <servlet-name>SpringMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <!--加载spring主配置文件-->
          <param-value>classpath:applicationContext.xml</param-value>
        </init-param>
        <!--项目一启动就加载框架-->
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    
      <!--编码过滤器-->
      <filter>
        <filter-name>CharacterEncodingFilter</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>
      </filter>
      <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
    
    </web-app>

    log4j的配置文件log4j.properties编写,

    1 # Global logging configuration
    2 log4j.rootLogger=ERROR, stdout
    3 # MyBatis logging configuration...
    4 log4j.logger.com._520it.mybatis=TRACE
    5 # Console output...
    6 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    7 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    8 log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

    三.配置本地tomcat

    点击Add Configuration

    按部就班,然后点击ok

    jre,url,和端口号一般默认就行了

    依次点击

    选择第二个选项,这样支持热部署,便于开发,点击ok

    再点击server

    再将箭头指向的位置都选成update classes and resources(支持热部署)

    最后点击apply,点击ok

    然后就可以看到tom猫了

    点击三角形,启动tomcat.

    如果以上步骤全部正确,浏览器直接打开,进入index.jsp,看到Hello World!

    四.检测SpringMVC的可用性

    在index.jsp中写一个表单向服务器发送请求

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <body>
    <h2>Hello World!</h2>
    <form action="${pageContext.request.contextPath}/student">
        姓名:<input type="text"><br>
        <input type="submit" value="提交">
    </form>
    </body>
    </html>

    编写web层,写一个StudentController,转发到success.jsp页面,只是为了测试一下,不接收参数了。。。

    package com.qfssc.web;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class StudentController {
        @RequestMapping("/student")
        public String student(){
            return "success";
        }
    }

    在views文件夹下创建success.jsp页面

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <h1>success</h1>
    </body>
    </html>

    在index.jsp页面里点击提交

    无论是否有参数,都会跳转到success.jsp页面

    说明我们springmvc生效了(mybatis自行测试,这里不做过多介绍了)

     后续:使用maven的mybatis-generator插件生成代码

      

  • 相关阅读:
    Oracle必须要启动的服务
    Oracle_Kill_Session_终极篇
    oracle 修改用户密码
    ORA-01000-超出打开游标的最大数(解决及原因)
    ORA-00600 内部错误代码, 参数 [19004]
    done 多米诺pizza oa 考了spring boot编程
    ebay mettle印度网站oa 切换屏幕就报警
    done摩根史丹利m&t oa
    done peapod 不被太尊重的不面了
    有一点题 virtusa 空口说代码的电面
  • 原文地址:https://www.cnblogs.com/wwjj4811/p/10336253.html
Copyright © 2011-2022 走看看