使用IDEA创建SSM程序框架(四)
目的:
1.在ssm程序框架中加入tiles
2.对主页面进行切割,便于后面页面的编写
代码:
1.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.liuhy</groupId> <artifactId>ssm</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <name>ssm Maven Webapp</name> <!-- FIXME change it to the project's website --> <url>http://www.example.com</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <!--<properties>--> <tiles.version>3.0.5</tiles.version> <!--</properties>--> </properties> <dependencies> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> </dependency> <!--spring相关--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.18.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.3.18.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.3.18.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.3.18.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.18.RELEASE</version> </dependency> <!--mybatis--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <!--mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> </dependency> <!--数据库事务管理--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.18.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.3.18.RELEASE</version> </dependency> <!-- mybatis需要和spring整合,所以我们需要一个整合的包--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.2</version> </dependency> <!--jsp--> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 --> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <!-- fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.tiles/tiles-jsp --> <!-- tiles --> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-extras</artifactId> <version>${tiles.version}</version> <exclusions> <exclusion> <artifactId>commons-beanutils</artifactId> <groupId>commons-beanutils</groupId> </exclusion> <exclusion> <artifactId>jcl-over-slf4j</artifactId> <groupId>org.slf4j</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-servlet</artifactId> <version>${tiles.version}</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-jsp</artifactId> <version>${tiles.version}</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-core</artifactId> <version>${tiles.version}</version> </dependency> <dependency> <groupId>org.apache.tiles</groupId> <artifactId>tiles-api</artifactId> <version>${tiles.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>ssm</finalName> <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> </plugins> </pluginManagement> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> </resources> </build> </project>
web.xml修改
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" metadata-complete="true"> <display-name>Archetype Created Web Application</display-name> <!--请求和应答字符编码过滤器--> <filter> <filter-name>encoding-filter</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>encoding-filter</filter-name> <!--<url-pattern>/*</url-pattern>--> <servlet-name>springDispatcherServlet</servlet-name> </filter-mapping> <!--启动spring容器,为了加入使用tiles,注释掉引部分--> <!-- <listener>--> <!-- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>--> <!-- </listener>--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/spring-*.xml</param-value> </context-param> <!-- 用前端控制器初始化springmvc容器 --> <!-- The front controller of this Spring Web application, responsible for handling all application requests --> <servlet> <servlet-name>springDispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- Map all requests to the DispatcherServlet for handling --> <servlet-mapping> <servlet-name>springDispatcherServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>/WEB-INF/views/login.jsp</welcome-file> </welcome-file-list> <!-- 1.替换403页面 start --> <error-page> <error-code>403</error-code> <location>/WEB-INF/views/page_403.jsp</location> </error-page> <!-- end --> <!-- 2.替换404页面 start --> <error-page> <error-code>404</error-code> <location>/WEB-INF/views/page_404.jsp</location> </error-page> <!-- end --> <!-- 3.替换500页面 start --> <error-page> <error-code>500</error-code> <location>/WEB-INF/views/page_500.jsp</location> </error-page> <!-- end --> </web-app>
2.spring-mvc.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:aop="http://www.springframework.org/schema/aop" xmlns:c="http://www.springframework.org/schema/c" xmlns:cache="http://www.springframework.org/schema/cache" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:lang="http://www.springframework.org/schema/lang" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" xmlns:task="http://www.springframework.org/schema/task" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.3.xsd http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.3.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.3.xsd"> <!--使用注解驱动--> <mvc:annotation-driven/> <!--配置视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--重定向时,是否加上上下文路径--> <property name="redirectContextRelative" value="true"/> <!--配置解析前后缀--> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean> <!-- tiles整合 start--> <bean class="org.springframework.web.servlet.view.tiles3.TilesViewResolver" p:order="1"> </bean> <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> <property name="definitions"> <list> <value>/WEB-INF/views/tiles/tiles.xml</value> </list> </property> </bean> <!-- tiles整合 end--> <mvc:resources mapping="/static/**" location="/static/"></mvc:resources> <!--扫描所有handler(控制器)--> <context:component-scan base-package="com.liuhy.ssm"/> <import resource="classpath:spring/spring-mybatis.xml"/> </beans>
3.Controller中加入
@RequestMapping(value = "home")
public String test() {
System.out.println("home");
return "home";
}
4.新建/WEB-INF/views/tiles/tiles.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" "http://tiles.apache.org/dtds/tiles-config_3_0.dtd"> <tiles-definitions> <definition name="base" template="/WEB-INF/views/jsp/page.jsp"> <put-attribute name="js" value="/WEB-INF/views/jsp/js.jsp" /> <put-attribute name="css" value="/WEB-INF/views/jsp/css.jsp" /> <put-attribute name="header" value="/WEB-INF/views/jsp/head.jsp" /> <put-attribute name="footer" value="/WEB-INF/views/jsp/foot.jsp" /> <put-attribute name="menu" value="/WEB-INF/views/jsp/menu.jsp" /> <put-attribute name="body" value="" /> </definition> <definition name="home" extends="base"> <put-attribute name="body" value="/WEB-INF/views/jsp/home.jsp" /> </definition> <definition name="main" extends="base"> <put-attribute name="body" value="/WEB-INF/views/jsp/home.jsp" /> </definition> </tiles-definitions>
5.创建jsp文件夹,加入page.jsp,js.jsp,css.jsp,head.jsp,foot.jsp,menu.jsp,home.jsp
css.jsp
<%-- Created by IntelliJ IDEA. User: Administrator Date: 2020-05-11 Time: 15:03 To change this template use File | Settings | File Templates. --%> <!-- Bootstrap --> <link href="${pageContext.request.contextPath}/static/vendors/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> <!-- Font Awesome --> <link href="${pageContext.request.contextPath}/static/vendors/font-awesome/css/font-awesome.min.css" rel="stylesheet"> <!-- NProgress --> <link href="${pageContext.request.contextPath}/static/vendors/nprogress/nprogress.css" rel="stylesheet"> <!-- iCheck --> <link href="${pageContext.request.contextPath}/static/vendors/iCheck/skins/flat/green.css" rel="stylesheet"> <!-- bootstrap-progressbar --> <link href="${pageContext.request.contextPath}/static/vendors/bootstrap-progressbar/css/bootstrap-progressbar-3.3.4.min.css" rel="stylesheet"> <!-- JQVMap --> <link href="${pageContext.request.contextPath}/static/vendors/jqvmap/dist/jqvmap.min.css" rel="stylesheet"/> <!-- bootstrap-daterangepicker --> <link href="${pageContext.request.contextPath}/static/vendors/bootstrap-daterangepicker/daterangepicker.css" rel="stylesheet"> <!-- Custom Theme Style --> <link href="${pageContext.request.contextPath}/static/css/custom.min.css" rel="stylesheet">
js.jsp
<%-- Created by IntelliJ IDEA. User: Administrator Date: 2020-05-11 Time: 15:03 To change this template use File | Settings | File Templates. --%> <!-- jQuery --> <script src="${pageContext.request.contextPath}/static/vendors/jquery/dist/jquery.min.js"></script> <!-- Bootstrap --> <script src="${pageContext.request.contextPath}/static/vendors/bootstrap/dist/js/bootstrap.bundle.min.js"></script> <!-- FastClick --> <script src="${pageContext.request.contextPath}/static/vendors/fastclick/lib/fastclick.js"></script> <!-- NProgress --> <script src="${pageContext.request.contextPath}/static/vendors/nprogress/nprogress.js"></script> <!-- Chart.js --> <script src="${pageContext.request.contextPath}/static/vendors/Chart.js/dist/Chart.min.js"></script> <!-- gauge.js --> <script src="${pageContext.request.contextPath}/static/vendors/gauge.js/dist/gauge.min.js"></script> <!-- bootstrap-progressbar --> <script src="${pageContext.request.contextPath}/static/vendors/bootstrap-progressbar/bootstrap-progressbar.min.js"></script> <!-- iCheck --> <script src="${pageContext.request.contextPath}/static/vendors/iCheck/icheck.min.js"></script> <!-- Skycons --> <script src="${pageContext.request.contextPath}/static/vendors/skycons/skycons.js"></script> <!-- Flot --> <script src="${pageContext.request.contextPath}/static/vendors/Flot/jquery.flot.js"></script> <script src="${pageContext.request.contextPath}/static/vendors/Flot/jquery.flot.pie.js"></script> <script src="${pageContext.request.contextPath}/static/vendors/Flot/jquery.flot.time.js"></script> <script src="${pageContext.request.contextPath}/static/vendors/Flot/jquery.flot.stack.js"></script> <script src="${pageContext.request.contextPath}/static/vendors/Flot/jquery.flot.resize.js"></script> <!-- Flot plugins --> <script src="${pageContext.request.contextPath}/static/vendors/flot.orderbars/js/jquery.flot.orderBars.js"></script> <script src="${pageContext.request.contextPath}/static/vendors/flot-spline/js/jquery.flot.spline.min.js"></script> <script src="${pageContext.request.contextPath}/static/vendors/flot.curvedlines/curvedLines.js"></script> <!-- DateJS --> <script src="${pageContext.request.contextPath}/static/vendors/DateJS/build/date.js"></script> <!-- JQVMap --> <script src="${pageContext.request.contextPath}/static/vendors/jqvmap/dist/jquery.vmap.js"></script> <script src="${pageContext.request.contextPath}/static/vendors/jqvmap/dist/maps/jquery.vmap.world.js"></script> <script src="${pageContext.request.contextPath}/static/vendors/jqvmap/examples/js/jquery.vmap.sampledata.js"></script> <!-- bootstrap-daterangepicker --> <script src="${pageContext.request.contextPath}/static/vendors/moment/min/moment.min.js"></script> <script src="${pageContext.request.contextPath}/static/vendors/bootstrap-daterangepicker/daterangepicker.js"></script> <!-- Custom Theme Scripts --> <script src="${pageContext.request.contextPath}/static/js/custom.min.js"></script>
foot.jsp
<!-- footer content --> <footer> <div class="pull-right"> Gentelella - Bootstrap Admin Template by <a href="https://colorlib.com">Colorlib</a> </div> <div class="clearfix"></div> </footer> <!-- /footer content -->
head.jsp
<!-- top navigation --> <div class="top_nav"> <div class="nav_menu"> <div class="nav toggle"> <a id="menu_toggle"><i class="fa fa-bars"></i></a> </div> <nav class="nav navbar-nav"> <ul class=" navbar-right"> <li class="nav-item dropdown open" style="padding-left: 15px;"> <a href="javascript:;" class="user-profile dropdown-toggle" aria-haspopup="true" id="navbarDropdown" data-toggle="dropdown" aria-expanded="false"> <img src="${pageContext.request.contextPath}/static/images/img.jpg" alt="">John Doe </a> <div class="dropdown-menu dropdown-usermenu pull-right" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="javascript:;"> Profile</a> <a class="dropdown-item" href="javascript:;"> <span class="badge bg-red pull-right">50%</span> <span>Settings</span> </a> <a class="dropdown-item" href="javascript:;">Help</a> <a class="dropdown-item" href="login.html"><i class="fa fa-sign-out pull-right"></i> Log Out</a> </div> </li> <li role="presentation" class="nav-item dropdown open"> <a href="javascript:;" class="dropdown-toggle info-number" id="navbarDropdown1" data-toggle="dropdown" aria-expanded="false"> <i class="fa fa-envelope-o"></i> <span class="badge bg-green">6</span> </a> <ul class="dropdown-menu list-unstyled msg_list" role="menu" aria-labelledby="navbarDropdown1"> <li class="nav-item"> <a class="dropdown-item"> <span class="image"><img src="${pageContext.request.contextPath}/static/images/img.jpg" alt="Profile Image" /></span> <span> <span>John Smith</span> <span class="time">3 mins ago</span> </span> <span class="message"> Film festivals used to be do-or-die moments for movie makers. They were where... </span> </a> </li> <li class="nav-item"> <a class="dropdown-item"> <span class="image"><img src="${pageContext.request.contextPath}/static/images/img.jpg" alt="Profile Image" /></span> <span> <span>John Smith</span> <span class="time">3 mins ago</span> </span> <span class="message"> Film festivals used to be do-or-die moments for movie makers. They were where... </span> </a> </li> <li class="nav-item"> <a class="dropdown-item"> <span class="image"><img src="${pageContext.request.contextPath}/static/images/img.jpg" alt="Profile Image" /></span> <span> <span>John Smith</span> <span class="time">3 mins ago</span> </span> <span class="message"> Film festivals used to be do-or-die moments for movie makers. They were where... </span> </a> </li> <li class="nav-item"> <a class="dropdown-item"> <span class="image"><img src="${pageContext.request.contextPath}/static/images/img.jpg" alt="Profile Image" /></span> <span> <span>John Smith</span> <span class="time">3 mins ago</span> </span> <span class="message"> Film festivals used to be do-or-die moments for movie makers. They were where... </span> </a> </li> <li class="nav-item"> <div class="text-center"> <a class="dropdown-item"> <strong>See All Alerts</strong> <i class="fa fa-angle-right"></i> </a> </div> </li> </ul> </li> </ul> </nav> </div> </div> <!-- /top navigation -->
home.jsp
<div class="right_col" role="main"> <!-- top tiles --> <div class="row" style="display: inline-block;" > <div class="tile_count"> <div class="col-md-2 col-sm-4 tile_stats_count"> <span class="count_top"><i class="fa fa-user"></i> Total Users</span> <div class="count">2500</div> <span class="count_bottom"><i class="green">4% </i> From last Week</span> </div> <div class="col-md-2 col-sm-4 tile_stats_count"> <span class="count_top"><i class="fa fa-clock-o"></i> Average Time</span> <div class="count">123.50</div> <span class="count_bottom"><i class="green"><i class="fa fa-sort-asc"></i>3% </i> From last Week</span> </div> <div class="col-md-2 col-sm-4 tile_stats_count"> <span class="count_top"><i class="fa fa-user"></i> Total Males</span> <div class="count green">2,500</div> <span class="count_bottom"><i class="green"><i class="fa fa-sort-asc"></i>34% </i> From last Week</span> </div> <div class="col-md-2 col-sm-4 tile_stats_count"> <span class="count_top"><i class="fa fa-user"></i> Total Females</span> <div class="count">4,567</div> <span class="count_bottom"><i class="red"><i class="fa fa-sort-desc"></i>12% </i> From last Week</span> </div> <div class="col-md-2 col-sm-4 tile_stats_count"> <span class="count_top"><i class="fa fa-user"></i> Total Collections</span> <div class="count">2,315</div> <span class="count_bottom"><i class="green"><i class="fa fa-sort-asc"></i>34% </i> From last Week</span> </div> <div class="col-md-2 col-sm-4 tile_stats_count"> <span class="count_top"><i class="fa fa-user"></i> Total Connections</span> <div class="count">7,325</div> <span class="count_bottom"><i class="green"><i class="fa fa-sort-asc"></i>34% </i> From last Week</span> </div> </div> </div> <!-- /top tiles --> <div class="row"> <div class="col-md-12 col-sm-12 "> <div class="dashboard_graph"> <div class="row x_title"> <div class="col-md-6"> <h3>Network Activities <small>Graph title sub-title</small></h3> </div> <div class="col-md-6"> <div id="reportrange" class="pull-right" style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc"> <i class="glyphicon glyphicon-calendar fa fa-calendar"></i> <span>December 30, 2014 - January 28, 2015</span> <b class="caret"></b> </div> </div> </div> <div class="col-md-9 col-sm-9 "> <div id="chart_plot_01" class="demo-placeholder"></div> </div> <div class="col-md-3 col-sm-3 bg-white"> <div class="x_title"> <h2>Top Campaign Performance</h2> <div class="clearfix"></div> </div> <div class="col-md-12 col-sm-12 "> <div> <p>Facebook Campaign</p> <div class=""> <div class="progress progress_sm" style="width: 76%;"> <div class="progress-bar bg-green" role="progressbar" data-transitiongoal="80"></div> </div> </div> </div> <div> <p>Twitter Campaign</p> <div class=""> <div class="progress progress_sm" style="width: 76%;"> <div class="progress-bar bg-green" role="progressbar" data-transitiongoal="60"></div> </div> </div> </div> </div> <div class="col-md-12 col-sm-12 "> <div> <p>Conventional Media</p> <div class=""> <div class="progress progress_sm" style="width: 76%;"> <div class="progress-bar bg-green" role="progressbar" data-transitiongoal="40"></div> </div> </div> </div> <div> <p>Bill boards</p> <div class=""> <div class="progress progress_sm" style="width: 76%;"> <div class="progress-bar bg-green" role="progressbar" data-transitiongoal="50"></div> </div> </div> </div> </div> </div> <div class="clearfix"></div> </div> </div> </div> <div class="row"> <div class="col-md-4 col-sm-4 "> <div class="x_panel tile fixed_height_320"> <div class="x_title"> <h2>App Versions</h2> <ul class="nav navbar-right panel_toolbox"> <li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-wrench"></i></a> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <a class="dropdown-item" href="#">Settings 1</a> <a class="dropdown-item" href="#">Settings 2</a> </div> </li> <li><a class="close-link"><i class="fa fa-close"></i></a> </li> </ul> <div class="clearfix"></div> </div> <div class="x_content"> <h4>App Usage across versions</h4> <div class="widget_summary"> <div class="w_left w_25"> <span>0.1.5.2</span> </div> <div class="w_center w_55"> <div class="progress"> <div class="progress-bar bg-green" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 66%;"> <span class="sr-only">60% Complete</span> </div> </div> </div> <div class="w_right w_20"> <span>123k</span> </div> <div class="clearfix"></div> </div> <div class="widget_summary"> <div class="w_left w_25"> <span>0.1.5.3</span> </div> <div class="w_center w_55"> <div class="progress"> <div class="progress-bar bg-green" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 45%;"> <span class="sr-only">60% Complete</span> </div> </div> </div> <div class="w_right w_20"> <span>53k</span> </div> <div class="clearfix"></div> </div> <div class="widget_summary"> <div class="w_left w_25"> <span>0.1.5.4</span> </div> <div class="w_center w_55"> <div class="progress"> <div class="progress-bar bg-green" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 25%;"> <span class="sr-only">60% Complete</span> </div> </div> </div> <div class="w_right w_20"> <span>23k</span> </div> <div class="clearfix"></div> </div> <div class="widget_summary"> <div class="w_left w_25"> <span>0.1.5.5</span> </div> <div class="w_center w_55"> <div class="progress"> <div class="progress-bar bg-green" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 5%;"> <span class="sr-only">60% Complete</span> </div> </div> </div> <div class="w_right w_20"> <span>3k</span> </div> <div class="clearfix"></div> </div> <div class="widget_summary"> <div class="w_left w_25"> <span>0.1.5.6</span> </div> <div class="w_center w_55"> <div class="progress"> <div class="progress-bar bg-green" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 2%;"> <span class="sr-only">60% Complete</span> </div> </div> </div> <div class="w_right w_20"> <span>1k</span> </div> <div class="clearfix"></div> </div> </div> </div> </div> <div class="col-md-4 col-sm-4 "> <div class="x_panel tile fixed_height_320 overflow_hidden"> <div class="x_title"> <h2>Device Usage</h2> <ul class="nav navbar-right panel_toolbox"> <li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-wrench"></i></a> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <a class="dropdown-item" href="#">Settings 1</a> <a class="dropdown-item" href="#">Settings 2</a> </div> </li> <li><a class="close-link"><i class="fa fa-close"></i></a> </li> </ul> <div class="clearfix"></div> </div> <div class="x_content"> <table class="" style="width:100%"> <tr> <th style="width:37%;"> <p>Top 5</p> </th> <th> <div class="col-lg-7 col-md-7 col-sm-7 "> <p class="">Device</p> </div> <div class="col-lg-5 col-md-5 col-sm-5 "> <p class="">Progress</p> </div> </th> </tr> <tr> <td> <canvas class="canvasDoughnut" height="140" width="140" style="margin: 15px 10px 10px 0"></canvas> </td> <td> <table class="tile_info"> <tr> <td> <p><i class="fa fa-square blue"></i>IOS </p> </td> <td>30%</td> </tr> <tr> <td> <p><i class="fa fa-square green"></i>Android </p> </td> <td>10%</td> </tr> <tr> <td> <p><i class="fa fa-square purple"></i>Blackberry </p> </td> <td>20%</td> </tr> <tr> <td> <p><i class="fa fa-square aero"></i>Symbian </p> </td> <td>15%</td> </tr> <tr> <td> <p><i class="fa fa-square red"></i>Others </p> </td> <td>30%</td> </tr> </table> </td> </tr> </table> </div> </div> </div> <div class="col-md-4 col-sm-4 "> <div class="x_panel tile fixed_height_320"> <div class="x_title"> <h2>Quick Settings</h2> <ul class="nav navbar-right panel_toolbox"> <li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-wrench"></i></a> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <a class="dropdown-item" href="#">Settings 1</a> <a class="dropdown-item" href="#">Settings 2</a> </div> </li> <li><a class="close-link"><i class="fa fa-close"></i></a> </li> </ul> <div class="clearfix"></div> </div> <div class="x_content"> <div class="dashboard-widget-content"> <ul class="quick-list"> <li><i class="fa fa-calendar-o"></i><a href="#">Settings</a> </li> <li><i class="fa fa-bars"></i><a href="#">Subscription</a> </li> <li><i class="fa fa-bar-chart"></i><a href="#">Auto Renewal</a> </li> <li><i class="fa fa-line-chart"></i><a href="#">Achievements</a> </li> <li><i class="fa fa-bar-chart"></i><a href="#">Auto Renewal</a> </li> <li><i class="fa fa-line-chart"></i><a href="#">Achievements</a> </li> <li><i class="fa fa-area-chart"></i><a href="#">Logout</a> </li> </ul> <div class="sidebar-widget"> <h4>Profile Completion</h4> <canvas width="150" height="80" id="chart_gauge_01" class="" style="width: 160px; height: 100px;"></canvas> <div class="goal-wrapper"> <span id="gauge-text" class="gauge-value pull-left">0</span> <span class="gauge-value pull-left">%</span> <span id="goal-text" class="goal-value pull-right">100%</span> </div> </div> </div> </div> </div> </div> </div> <div class="row"> <div class="col-md-4 col-sm-4 "> <div class="x_panel"> <div class="x_title"> <h2>Recent Activities <small>Sessions</small></h2> <ul class="nav navbar-right panel_toolbox"> <li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-wrench"></i></a> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <a class="dropdown-item" href="#">Settings 1</a> <a class="dropdown-item" href="#">Settings 2</a> </div> </li> <li><a class="close-link"><i class="fa fa-close"></i></a> </li> </ul> <div class="clearfix"></div> </div> <div class="x_content"> <div class="dashboard-widget-content"> <ul class="list-unstyled timeline widget"> <li> <div class="block"> <div class="block_content"> <h2 class="title"> <a>Who Needs Sundance When You’ve Got Crowdfunding?</a> </h2> <div class="byline"> <span>13 hours ago</span> by <a>Jane Smith</a> </div> <p class="excerpt">Film festivals used to be do-or-die moments for movie makers. They were where you met the producers that could fund your project, and if the buyers liked your flick, they’d pay to Fast-forward and… <a>Read More</a> </p> </div> </div> </li> <li> <div class="block"> <div class="block_content"> <h2 class="title"> <a>Who Needs Sundance When You’ve Got Crowdfunding?</a> </h2> <div class="byline"> <span>13 hours ago</span> by <a>Jane Smith</a> </div> <p class="excerpt">Film festivals used to be do-or-die moments for movie makers. They were where you met the producers that could fund your project, and if the buyers liked your flick, they’d pay to Fast-forward and… <a>Read More</a> </p> </div> </div> </li> <li> <div class="block"> <div class="block_content"> <h2 class="title"> <a>Who Needs Sundance When You’ve Got Crowdfunding?</a> </h2> <div class="byline"> <span>13 hours ago</span> by <a>Jane Smith</a> </div> <p class="excerpt">Film festivals used to be do-or-die moments for movie makers. They were where you met the producers that could fund your project, and if the buyers liked your flick, they’d pay to Fast-forward and… <a>Read More</a> </p> </div> </div> </li> <li> <div class="block"> <div class="block_content"> <h2 class="title"> <a>Who Needs Sundance When You’ve Got Crowdfunding?</a> </h2> <div class="byline"> <span>13 hours ago</span> by <a>Jane Smith</a> </div> <p class="excerpt">Film festivals used to be do-or-die moments for movie makers. They were where you met the producers that could fund your project, and if the buyers liked your flick, they’d pay to Fast-forward and… <a>Read More</a> </p> </div> </div> </li> </ul> </div> </div> </div> </div> <div class="col-md-8 col-sm-8 "> <div class="row"> <div class="col-md-12 col-sm-12 "> <div class="x_panel"> <div class="x_title"> <h2>Visitors location <small>geo-presentation</small></h2> <ul class="nav navbar-right panel_toolbox"> <li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-wrench"></i></a> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <a class="dropdown-item" href="#">Settings 1</a> <a class="dropdown-item" href="#">Settings 2</a> </div> </li> <li><a class="close-link"><i class="fa fa-close"></i></a> </li> </ul> <div class="clearfix"></div> </div> <div class="x_content"> <div class="dashboard-widget-content"> <div class="col-md-4 hidden-small"> <h2 class="line_30">125.7k Views from 60 countries</h2> <table class="countries_list"> <tbody> <tr> <td>United States</td> <td class="fs15 fw700 text-right">33%</td> </tr> <tr> <td>France</td> <td class="fs15 fw700 text-right">27%</td> </tr> <tr> <td>Germany</td> <td class="fs15 fw700 text-right">16%</td> </tr> <tr> <td>Spain</td> <td class="fs15 fw700 text-right">11%</td> </tr> <tr> <td>Britain</td> <td class="fs15 fw700 text-right">10%</td> </tr> </tbody> </table> </div> <div id="world-map-gdp" class="col-md-8 col-sm-12 " style="height:230px;"></div> </div> </div> </div> </div> </div> <div class="row"> <!-- Start to do list --> <div class="col-md-6 col-sm-6 "> <div class="x_panel"> <div class="x_title"> <h2>To Do List <small>Sample tasks</small></h2> <ul class="nav navbar-right panel_toolbox"> <li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-wrench"></i></a> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <a class="dropdown-item" href="#">Settings 1</a> <a class="dropdown-item" href="#">Settings 2</a> </div> </li> <li><a class="close-link"><i class="fa fa-close"></i></a> </li> </ul> <div class="clearfix"></div> </div> <div class="x_content"> <div class=""> <ul class="to_do"> <li> <p> <input type="checkbox" class="flat"> Schedule meeting with new client </p> </li> <li> <p> <input type="checkbox" class="flat"> Create email address for new intern</p> </li> <li> <p> <input type="checkbox" class="flat"> Have IT fix the network printer</p> </li> <li> <p> <input type="checkbox" class="flat"> Copy backups to offsite location</p> </li> <li> <p> <input type="checkbox" class="flat"> Food truck fixie locavors mcsweeney</p> </li> <li> <p> <input type="checkbox" class="flat"> Food truck fixie locavors mcsweeney</p> </li> <li> <p> <input type="checkbox" class="flat"> Create email address for new intern</p> </li> <li> <p> <input type="checkbox" class="flat"> Have IT fix the network printer</p> </li> <li> <p> <input type="checkbox" class="flat"> Copy backups to offsite location</p> </li> </ul> </div> </div> </div> </div> <!-- End to do list --> <!-- start of weather widget --> <div class="col-md-6 col-sm-6 "> <div class="x_panel"> <div class="x_title"> <h2>Daily active users <small>Sessions</small></h2> <ul class="nav navbar-right panel_toolbox"> <li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-wrench"></i></a> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <a class="dropdown-item" href="#">Settings 1</a> <a class="dropdown-item" href="#">Settings 2</a> </div> </li> <li><a class="close-link"><i class="fa fa-close"></i></a> </li> </ul> <div class="clearfix"></div> </div> <div class="x_content"> <div class="row"> <div class="col-sm-12"> <div class="temperature"><b>Monday</b>, 07:30 AM <span>F</span> <span><b>C</b></span> </div> </div> </div> <div class="row"> <div class="col-sm-4"> <div class="weather-icon"> <canvas height="84" width="84" id="partly-cloudy-day"></canvas> </div> </div> <div class="col-sm-8"> <div class="weather-text"> <h2>Texas <br><i>Partly Cloudy Day</i></h2> </div> </div> </div> <div class="col-sm-12"> <div class="weather-text pull-right"> <h3 class="degrees">23</h3> </div> </div> <div class="clearfix"></div> <div class="row weather-days"> <div class="col-sm-2"> <div class="daily-weather"> <h2 class="day">Mon</h2> <h3 class="degrees">25</h3> <canvas id="clear-day" width="32" height="32"></canvas> <h5>15 <i>km/h</i></h5> </div> </div> <div class="col-sm-2"> <div class="daily-weather"> <h2 class="day">Tue</h2> <h3 class="degrees">25</h3> <canvas height="32" width="32" id="rain"></canvas> <h5>12 <i>km/h</i></h5> </div> </div> <div class="col-sm-2"> <div class="daily-weather"> <h2 class="day">Wed</h2> <h3 class="degrees">27</h3> <canvas height="32" width="32" id="snow"></canvas> <h5>14 <i>km/h</i></h5> </div> </div> <div class="col-sm-2"> <div class="daily-weather"> <h2 class="day">Thu</h2> <h3 class="degrees">28</h3> <canvas height="32" width="32" id="sleet"></canvas> <h5>15 <i>km/h</i></h5> </div> </div> <div class="col-sm-2"> <div class="daily-weather"> <h2 class="day">Fri</h2> <h3 class="degrees">28</h3> <canvas height="32" width="32" id="wind"></canvas> <h5>11 <i>km/h</i></h5> </div> </div> <div class="col-sm-2"> <div class="daily-weather"> <h2 class="day">Sat</h2> <h3 class="degrees">26</h3> <canvas height="32" width="32" id="cloudy"></canvas> <h5>10 <i>km/h</i></h5> </div> </div> <div class="clearfix"></div> </div> </div> </div> </div> <!-- end of weather widget --> </div> </div> </div> </div>
menu.jsp
<div class="col-md-3 left_col"> <div class="left_col scroll-view"> <div class="navbar nav_title" style="border: 0;"> <a href="index.html" class="site_title"><i class="fa fa-paw"></i> <span>Gentelella Alela!</span></a> </div> <div class="clearfix"></div> <!-- menu profile quick info --> <div class="profile clearfix"> <div class="profile_pic"> <img src="${pageContext.request.contextPath}/static/images/img.jpg" alt="..." class="img-circle profile_img"> </div> <div class="profile_info"> <span>Welcome,</span> <h2>John Doe</h2> </div> </div> <!-- /menu profile quick info --> <br /> <!-- sidebar menu --> <div id="sidebar-menu" class="main_menu_side hidden-print main_menu"> <div class="menu_section"> <h3>General</h3> <ul class="nav side-menu"> <li><a><i class="fa fa-home"></i> Home <span class="fa fa-chevron-down"></span></a> <ul class="nav child_menu"> <li><a href="index.html">Dashboard</a></li> <li><a href="index2.html">Dashboard2</a></li> <li><a href="index3.html">Dashboard3</a></li> </ul> </li> <li><a><i class="fa fa-edit"></i> Forms <span class="fa fa-chevron-down"></span></a> <ul class="nav child_menu"> <li><a href="form.html">General Form</a></li> <li><a href="form_advanced.html">Advanced Components</a></li> <li><a href="form_validation.html">Form Validation</a></li> <li><a href="form_wizards.html">Form Wizard</a></li> <li><a href="form_upload.html">Form Upload</a></li> <li><a href="form_buttons.html">Form Buttons</a></li> </ul> </li> <li><a><i class="fa fa-desktop"></i> UI Elements <span class="fa fa-chevron-down"></span></a> <ul class="nav child_menu"> <li><a href="general_elements.html">General Elements</a></li> <li><a href="media_gallery.html">Media Gallery</a></li> <li><a href="typography.html">Typography</a></li> <li><a href="icons.html">Icons</a></li> <li><a href="glyphicons.html">Glyphicons</a></li> <li><a href="widgets.html">Widgets</a></li> <li><a href="invoice.html">Invoice</a></li> <li><a href="inbox.html">Inbox</a></li> <li><a href="calendar.html">Calendar</a></li> </ul> </li> <li><a><i class="fa fa-table"></i> Tables <span class="fa fa-chevron-down"></span></a> <ul class="nav child_menu"> <li><a href="tables.html">Tables</a></li> <li><a href="tables_dynamic.html">Table Dynamic</a></li> </ul> </li> <li><a><i class="fa fa-bar-chart-o"></i> Data Presentation <span class="fa fa-chevron-down"></span></a> <ul class="nav child_menu"> <li><a href="chartjs.html">Chart JS</a></li> <li><a href="chartjs2.html">Chart JS2</a></li> <li><a href="morisjs.html">Moris JS</a></li> <li><a href="echarts.html">ECharts</a></li> <li><a href="other_charts.html">Other Charts</a></li> </ul> </li> <li><a><i class="fa fa-clone"></i>Layouts <span class="fa fa-chevron-down"></span></a> <ul class="nav child_menu"> <li><a href="fixed_sidebar.html">Fixed Sidebar</a></li> <li><a href="fixed_footer.html">Fixed Footer</a></li> </ul> </li> </ul> </div> <div class="menu_section"> <h3>Live On</h3> <ul class="nav side-menu"> <li><a><i class="fa fa-bug"></i> Additional Pages <span class="fa fa-chevron-down"></span></a> <ul class="nav child_menu"> <li><a href="e_commerce.html">E-commerce</a></li> <li><a href="projects.html">Projects</a></li> <li><a href="project_detail.html">Project Detail</a></li> <li><a href="contacts.html">Contacts</a></li> <li><a href="profile.html">Profile</a></li> </ul> </li> <li><a><i class="fa fa-windows"></i> Extras <span class="fa fa-chevron-down"></span></a> <ul class="nav child_menu"> <li><a href="page_403.html">403 Error</a></li> <li><a href="page_404.html">404 Error</a></li> <li><a href="page_500.html">500 Error</a></li> <li><a href="plain_page.html">Plain Page</a></li> <li><a href="login.html">Login Page</a></li> <li><a href="pricing_tables.html">Pricing Tables</a></li> </ul> </li> <li><a><i class="fa fa-sitemap"></i> Multilevel Menu <span class="fa fa-chevron-down"></span></a> <ul class="nav child_menu"> <li><a href="#level1_1">Level One</a> <li><a>Level One<span class="fa fa-chevron-down"></span></a> <ul class="nav child_menu"> <li class="sub_menu"><a href="level2.html">Level Two</a> </li> <li><a href="#level2_1">Level Two</a> </li> <li><a href="#level2_2">Level Two</a> </li> </ul> </li> <li><a href="#level1_2">Level One</a> </li> </ul> </li> <li><a href="javascript:void(0)"><i class="fa fa-laptop"></i> Landing Page <span class="label label-success pull-right">Coming Soon</span></a></li> </ul> </div> </div> <!-- /sidebar menu --> <!-- /menu footer buttons --> <div class="sidebar-footer hidden-small"> <a data-toggle="tooltip" data-placement="top" title="Settings"> <span class="glyphicon glyphicon-cog" aria-hidden="true"></span> </a> <a data-toggle="tooltip" data-placement="top" title="FullScreen"> <span class="glyphicon glyphicon-fullscreen" aria-hidden="true"></span> </a> <a data-toggle="tooltip" data-placement="top" title="Lock"> <span class="glyphicon glyphicon-eye-close" aria-hidden="true"></span> </a> <a data-toggle="tooltip" data-placement="top" title="Logout" href="login.html"> <span class="glyphicon glyphicon-off" aria-hidden="true"></span> </a> </div> <!-- /menu footer buttons --> </div> </div>
page.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="t"%> <%@ page session="false" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%-- Created by IntelliJ IDEA. User: Administrator Date: 2020-05-08 Time: 11:10 To change this template use File | Settings | File Templates. --%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- Meta, title, CSS, favicons, etc. --> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" href="${pageContext.request.contextPath}/static/images/favicon.ico" type="image/ico" /> <title>后台管理系统</title> <t:insertAttribute name="css"/> </head> <body class="nav-md"> <div class="container body"> <div class="main_container"> <!-- menu info --> <t:insertAttribute name="menu"/> <!-- /menu info --> <!-- top navigation --> <t:insertAttribute name="header"/> <!-- /top navigation --> <!-- page content --> <t:insertAttribute name="body"/> <!-- /page content --> <!-- footer content --> <t:insertAttribute name="footer"/> <!-- /footer content --> </div> </div> </body> <t:insertAttribute name="js"/> </html>
6. 目录结构

7.执行

8.出现的问题
1.xml无法找到了,不生成到target中,不知道为什么,最后的解决办法只能够把resources加入到输出目录中
2.出现错误说有多个listener,把web.xml中的listener去掉了
<?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.liuhy</groupId>
<artifactId>ssm</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>ssm Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<!--<properties>-->
<tiles.version>3.0.5</tiles.version>
<!--</properties>-->
</properties>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
<!--spring相关-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!--mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<!--数据库事务管理-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.3.18.RELEASE</version>
</dependency>
<!-- mybatis需要和spring整合,所以我们需要一个整合的包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<!--jsp-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tiles/tiles-jsp -->
<!-- tiles -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>${tiles.version}</version>
<exclusions>
<exclusion>
<artifactId>commons-beanutils</artifactId>
<groupId>commons-beanutils</groupId>
</exclusion>
<exclusion>
<artifactId>jcl-over-slf4j</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>${tiles.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>${tiles.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
<version>${tiles.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-api</artifactId>
<version>${tiles.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>ssm</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</pluginManagement>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
</project>

浙公网安备 33010602011771号