所有的文件在Git上面都能找到,由于把代码搞上来看的很不舒服,结构不清晰。

第一步:确定环境

  • IDEA

  • MySQL 5.7.19

  • Tomcat 9

  • Maven 3.6

第二步:创建数据库

  参考GIT上面的SQL文件

 

第三步:新建Maven项目,基本目录搭建

  1.导入Springmvc,Mybatis,spring,Junit相关依赖

  2.建立基本结构和配置架构  

  • com.cll.pojo  
  • com.cll.dao
  • com.cll.service
  • com.cll.controller
  • mybatis-config.xml
  • appplicationContext.xml
  • database.properties
  • spring-dao.xml
  • spring-service.xml
  • spring-mvc.xml

第四步:编写Controller,和JSP文件(这些都很简单了,可以直接到Git上面下载)。

第五:主要来讲一下配置文件的分层。

  1.首先:application.xml.将其分为三层导入,整合speing配置文件。

    

   <import resource="spring-dao.xml"/>
   <import resource="spring-service.xml"/>
  <import resource="spring-mvc.xml"/>

  2.spring-dao.xml.这是Spring整合Mybatis的配置文件。

    

 <!-- 1.关联数据库文件 -->
<context:property-placeholder location="classpath:database.properties"/>
<!-- 2.数据库连接池 -->
<!-- 3.配置SqlSessionFactory对象 -->
<!-- 4.配置扫描Dao接口包,动态实现Dao接口注入到spring容器中 -->

  3.spring-service层。spring整合service层的配置文件

  3.1 扫描service相关的bean

   3.2 将***serviceImpl注入到IOC容器中

   3.4 配置事务管理器,注入数据库连接池。

到这里Spring层的配置结束,开始SpringMVC的配置。

4.web.xml

    4.1配置DispatcherFilter,并且关联总的配置文件applicationContext.xml

<init-param>
<param-name>contextConfigLocation</param-name>
<!--一定要注意:我们这里加载的是总的配置文件,之前被这里坑了!-->
<param-value>classpath:applicationContext.xml</param-value>
</init-param>

   4.2解决乱码,创建过滤器。

<!--encodingFilter-->
<filter>
<filter-name>encodingFilter</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>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

   4.3设置session过期时间  

<session-config>
<session-timeout>15</session-timeout>
</session-config> </web-app>

  5.spring-mvc.xml

    5.1开启现在常用的注解开发驱动

<mvc:annotation-driven />

    5.2静态资源默认Servlet配置

 <mvc:default-servlet-handler/>

      5.3配置视图解析器

   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>

     5.4配置web相关的bean

   <context:component-scan base-package="com.kuang.controller" />  

好的,这基本就是配置文件的分层了。

Git地址:https://github.com/lele-Chang/order/tree/master/ssm

通过一个非常简单的SSM项目来将SpringMVC配置整理清晰。的更多相关文章

  1. vs2015制作一个超级简单的MVC项目

    使用vs2015制作一个超级简单的MVC项目   本文链接:https://blog.csdn.net/qq_40919762/article/details/100705314 直奔主题一,创建一个 ...

  2. 当你的SSM项目中的springmvc.xml发生第一行错误解决方案

    当你新建了一个SSM项目,你复制网上的xml文件来配置或者你下载了一个SSM项目打开发现xml文件错误,打开是第一行报错的时候你是不是很懵逼 或者是这样 总之就是xml文件中<?xml vers ...

  3. 一个简单的ssm项目

    准备说明jdk.tomcat.idea.mave配置请看我前两篇,这里说下mysql以及我的mysql图像化工具 数据库 项目概览 项目构建--------搭建一个简单的mave的web项目,构建步骤 ...

  4. (一)使用IDEA新建一个最简单的JavaWeb项目,Maven管理

    1.项目环境 IDEA:2016.2 JDK:1.8.0_76 Maven:3.2.5 2.File-->New-->Project-->Maven 3.选择Project SDK: ...

  5. 基于Idea从零搭建一个最简单的vue项目

    一.需要了解的基本知识 node.js Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装.N ...

  6. 一个很简单的SpringCloud项目,集成Feign、Hystrix

    Feign的功能:这是个消费者,根据服务注册在Eureka的ID去找到该服务,并调用接口Hystrix的功能:熔断器,假如A服务需要调用B服务的/cities接口获取数据,那就在A服务的control ...

  7. 使用IDEA导入一个Maven风格的SSM项目

    转自: 方法一: (我用的这种,导入的方法 File->New->Project from existing sources)(同理,important也是一样的) https://how ...

  8. 搭建一个maven管理的ssm项目需要配置那些文件

    链接:https://blog.csdn.net/java987654/article/details/80746866

  9. ssm项目快速搭建(配置)

    核心jar包 <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncod ...

  10. 配置一个简单的传统SSM项目

    背景 我们知道,从2002年开始,Spring一直在飞速的发展,如今已经成为了在Java EE开发中的标准,早期的项目都是传统的Spring-SpringMVC-Mybatis项目,打成一个war包丢 ...

随机推荐

  1. Python面向对象之多态和鸭子类型

    [一]多态 [1]什么是多态 多态指的是一类事物有多种形态 [2]示例 比如动物有多种形态:猫.狗.猪 import abc class Animal(metaclass=abc.ABCMeta): ...

  2. vscode 对js文件不格式化的修正方案 settings.json

    修正1 "javascript.format.enable": true, // 这里false 改true 修正2 注释掉这个地方 // "[javascript]&q ...

  3. gcc编译stm32 f103出现错误init.c:(.text.__libc_init_array+0x20): undefined reference to `_init'

    解决方法: 方法一:去掉makefile中的编译选项:-nostartfiles 方法二:方法一不凑效的情况下,添加编译选型:--specs=nano.specs

  4. 03.Java数据结构问题

    目录介绍 3.0.0.1 在arrayList中System.arraycopy()和Arrays.copyOf()方法区别联系?System.arraycopy()和Arrays.copyOf()代 ...

  5. 你是怎么处理vue项目中的错误的?

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.错误类型 任何一个框架,对于错误的处理都是一种必备的能力 在Vue 中,则是定义了一套对应的错误处理规则给到使用者,且在源代码级别,对 ...

  6. 快速上手系列:webservice

    不同公司的系统交互,用webservice可以起到安全的作用. Webservice使用方法如下:   客户端: 这个是要打成jar包,给别人的用的,里面只是接口,没有实现.   用Webservic ...

  7. .NET分布式Orleans - 4 - 计时器和提醒

    Timer是什么 Timer 是一种用于创建定期粒度行为的机制. 与标准的 .NET System.Threading.Timer 类相似,Orleans 的 Timer 允许在一段时间后执行特定的操 ...

  8. JS 为什么0==““ 会是true

    0 是逻辑的 false 1 是逻辑的 true空字符串是逻辑的 false null 是逻辑的 false NaN==任何 都是false 所以:空字符串是逻辑的 false , 0是逻辑的fals ...

  9. DenseBox:思想超前的早期Anchor-free研究 | CVPR 2015

    DenseBox检测算法的设计十分超前,如今很多Anchor-free方法有其影子,如果当时不是比Faster R-CNN晚了一点出现,可能目标检测领域很早就开始往Anchor-free的方向发展了 ...

  10. 关于Dockerfile部署nginx,访问静态资源403Forbidden问题

    今天项目遇到一个问题,服务器部署的nginx,在访问静态图片返回403 Forbidden. 容器是采用Dockerfile部署的,代码如下: FROM nginx:latest MAINTAINER ...