1:我先建立了个web项目,

(1)在pom.xml中添加了如下

<dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${spring.version}</version>
        </dependency>
</dependencies>

(2)在web.xml中添加了

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

就报错,说是项目不认识filter过滤器,项目也一直出现小红叉,网上说右键点击项目,然后依照https://blog.csdn.net/qq_25313187/article/details/75041965来做就可以了。但是我点击后并未出现maven  denpendenciies.....网上说我右键项目名,点击maven  --》update object就可以了,我尝试后依然无果,最终才知道,原来我在pom.xml中需要添加<properties>来配置  <version>${spring.version}</version>中的属性·。

2:配好过滤器,我开始写了个servert的映射,配置了一个最简单的servlet的class,run as后项目是可以运行的,于是我在web.xml中配置分发器

<servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>*.wth</url-pattern>
    </servlet-mapping>

发现报错,说未从ServletContext resource中识别到 [/WEB-INF/springmvc-servlet.xml],网上查说是因为需要把web.xml和applicationContext.xml两个文件放在一起,那么我就把applicationContext.xml用参数加了进来,https://blog.csdn.net/zheng911209/article/details/51242525,init是不行的,必须context中做。。。。。未完待续。。。。。。。。。。。。。。。。。。。。。。以上以后继续研究。。。。。。。。。。。。。。。。。

直接从网上找了搭建ssm的教程。首先要建立一个maven项目,

建立后发现没有web.xml文件,于是通过以下方式可自动创建,右击项目名字--》propertis--》Project Facets----》,再选中Dynamic Web Modules,步骤如下所示,点击ok,点击apply,之后取消掉Dynamic Web Modules前面的对号,然后再点击ok即可。

maven搭建好了,就要导入ssm的jar包,数据库连接池,驱动,jstl,servlet api需剔除(即添加scope显示provided),junit(单元测试),以及其他扩展功能所需的jar包了

在百度输入maven rep(或者直接访问该网址http://mvnrepository.com/),然后输入spring需引入spring  web  mvc,spring jdbc,spring  aspects。

mybatis需引入mybatis,spring mybatis(这是mybatis和spring的整合)

数据库连接池(c3p0). ,mysql的驱动(MySQL connector)

2:jar包导入完后,可以导入bootstrap,写一些漂亮的样式。官网写bootstrap,http://www.bootcss.com/

3:在web。xml中配置spring,springmvc,指定编码,

启动spring的容器

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:applicationContext.xml</param-value>

</context-param>

<listener>

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

</listener>

springmvc要配置,其中   <init-param>指定springmvc相关的xml文件,如果不想要<init-param>,可直接在classpath下放名字为(servlet的name-servert).xml文件即可。如下即springmvc-servlet.xml

<servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>*.wts</url-pattern>
    </servlet-mapping>

编码过滤器

<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>
    </filter>
    <filter-mapping>
        <filter-name>encoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    使用restful风格的uri,将页面普通的post请求转为指定的delete或者是put

<filter>

<filter-name>HiddenHttpMethodFilter</filter-name>

<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>HiddenHttpMethodFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<filter>
        <filter-name>HttpPutFormContentFilter</filter-name>
        <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class>
    </filter>

<filter-mapping>
        <filter-name>HttpPutFormContentFilter</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

4:配置springmvc的xml文件

(如果不用maven方式则需要导入以下jar包,)

https://www.cnblogs.com/mibloom/p/9871652.html

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
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-4.0.xsd">

</beans>

这句代表只扫描controller包<context:component-scan base-package="cn.wtsr.core.web.controller" />

包含网站跳转逻辑的控制,配置,假设src/main/java下有很多的包,com.wth.cn.xxx,utils、controller、dao、bean、service、test,

默认是扫描所有的,配置这个use-default-filters="false"和<context:include-filter我们只扫描controller

<context:component-scan base-package="com.wth" use-default-filters="false" />

<!--只扫描控制器>

<context:include-filter type="annotation"  expression="org.springframework.stereotype.Controller">

<!-配置视图解析器,方便页面返回->

<!-- 模型视图解析 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
        <property name="prefix" value="/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

两个标准配置就是如下:

《!---将springmvc不能处理的请求交给tomcat----》(springmvc就可以处理动态静态资源了)

<mvc:default-servlet-handler/>

《!---能支持springmvc更高级的一些功能,JSR303校验,快捷的ajax,映射动态请求--------》

<mvc:annotation-driven/>

5:配置spring的xml(spring的配置文件主要是配置和业务逻辑有关的)

(1)<!--数据源,事务控制,xxx-->

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${jdbc.driverClass}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
    </bean>
    引入外部的properties文件

<context:property-placeholder   location="classpath:数据库初始化参数的properties文件">

(2) 配置和mybatis的整合

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<!---配置数据源----->
        <property name="dataSource" ref="dataSource" />
  <!--------- 配置mapper文件的路径------------->
        <property name="mapperLocations" value="classpath:cn/wtsr/core/web/mapper/*.xml"/>(此路径根据项目路径写,不固定)
        <property name="typeAliasesPackage" value="cn.wtsr.core.web.dao,cn.wtsr.core.web.mapper"/>

  <!----------指定mybatis要用到的全局变量------------>

  <property name="configLocation" value="classpath:mybatis-config.xml">
    </bean>

(3)配置扫描器,将mybatis接口的实现加入到ioc容器中

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<!-------扫描所有dao接口的实现,加入到ioc容器中------>
        <property name="basePackage" value="cn.wtsr.core.web.dao" />
    </bean>

(4)事务控制的配置

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>

<!--开启基于注解的事物,使用xml配置形式的事务(必要主要的都是使用配置式)---->

<aop:config>

<!--切入点表达式>

  <aop:pointcunt   expression="execution(* xxxxx.services..*(..) )   id="txPoint"/>..下的*就是该包下所有类,..是指在该包下有子包也可以识别

  <aop:advisor advice-ref="txAdvice" point-ref="txPoint">

</aop:config>

<!---配置事物增强,事物如何切入-->

<tx:advice id="txAdvice"   transaction-manager="transactionManager">
  <tx:attributes>

    <tx:method  name="*"/>所有方法都是事物方法

    <tx:method name="get*" read-only="true"/>以get开始的所有方法

  </tx:attributes>

</tx:advice>

总结:配置文件的核心点(数据源,与mybatis的整合,事物控制)

6:mybatis的逆向工程mybatis-config.xml该xml文件是配置数据库全局变量的,如果不在是这个里面配置,在sqlFactory中配置也是可以的。

<!DOCTYPE configuration

  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

''http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

  <settings>

    <setting name="mapUnderscoreToCamelCase" value="true">

  </settings>

  <typeAliases>

    <package name="com.atguigu.crud.bean"/>

  </typeAliases>

</configuration>

从web到搭建ssm环境的更多相关文章

  1. 这一次,我连 web.xml 都不要了,纯 Java 搭建 SSM 环境!

    在 Spring Boot 项目中,正常来说是不存在 XML 配置,这是因为 Spring Boot 不推荐使用 XML ,注意,并非不支持,Spring Boot 推荐开发者使用 Java 配置来搭 ...

  2. 搭建ssm环境

    在eclipse下搭建ssm框架. 1.新建maven项目. 2.添加jar包依赖 3.修改web.xml配置文件 <?xml version="1.0" encoding= ...

  3. Maven学习 八 采用Maven搭建SSM环境

    第一步:创建一个Maven项目 项目的打包方式选择,war 第二步:在webapp下面创建java web项目的目录结构,并配置web.xml文件 <?xml version="1.0 ...

  4. 搭建SSM环境(淘淘商城)

    本文用到的资料: 链接:https://pan.baidu.com/s/1Pk_aI_PRbqRFP9i3o9Xodg 提取码:o4o4 1.1. 数据库 1.1.1. 使用navicat创建数据库连 ...

  5. 搭建 ssm 环境

    <!-- 引入外部jdbc配置文件 --> <context:property-placeholder location="classpath:dbconfig.prope ...

  6. maven/eclipse搭建ssm(spring+spring mvc+mybatis)

    maven/eclipse搭建ssm(spring+spring mvc+mybatis) 前言 本文旨在利用maven搭建ssm环境,而关于maven的具体内容,大家可以去阅读<Maven 实 ...

  7. 利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)

    前言 本文旨在利用maven搭建ssm环境,而关于maven的具体内容,大家可以去阅读<Maven 实战>.其实园内这方面文章已有不少,那么为什么我还要重复造轮子呢?我只是想记录自己的实践 ...

  8. maven搭建ssm

    前言 本文旨在利用maven搭建ssm环境,而关于maven的具体内容,大家可以去阅读<Maven 实战>.其实园内这方面文章已有不少,那么为什么我还要重复造轮子呢?我只是想记录自己的实践 ...

  9. Spring Boot2 系列教程(一)纯 Java 搭建 SSM 项目

    在 Spring Boot 项目中,正常来说是不存在 XML 配置,这是因为 Spring Boot 不推荐使用 XML ,注意,并非不支持,Spring Boot 推荐开发者使用 Java 配置来搭 ...

随机推荐

  1. Spring4.x 基础

    把以下 jar 包加入到工程的 classpath 下: 搭建Spring开发环境 Spring 的配置文件: 一个典型的 Spring 项目需要创建一个或多个 Bean 配置文件, 这些配置文件用于 ...

  2. Linux SSH & SCP命令

    SSH SSH为建立在应用层和传输层基础上的安全协议 sshd服务使用SSH协议进行远程控制,或在计算机之间传送文件.而实现此功能的telnet(远程桌面) 是不安全的,使用明文传送密码 ssh ss ...

  3. 将Elasticsearch的快照备份到HDFS

    1.安装Elasticsearch插件repository-hdfs 下载地址:https://artifacts.elastic.co/downloads/elasticsearch-plugins ...

  4. [转] webpack之plugin内部运行机制

    简介 webpack作为当前最为流行的模块打包工具,几乎所有的主流前端开发框架(React.Vue等)都会将其作为默认的模块加载和打包工具.通过简单的配置项,使用各种相关的loader和plugin, ...

  5. TypeScript学习笔记 (一)基础特性

    一. 字符串新特性 1. 多行字符串 var str = ``; 2. 字符串模板 var world = "world"; var str = `hello ${world}`; ...

  6. Codeforces 594D REQ 线段树

    REQ 把询问离线, 我们从n 到 1遍历过去的时候, 把(1 - 1 / p)乘在最靠近当前位置的地方, 然后区间求乘积就好啦. #include<bits/stdc++.h> #def ...

  7. spark学习之路1--用IDEA编写第一个基于java的程序打包,放standalone集群,client和cluster模式上运行

    1,首先确保hadoop和spark已经运行.(如果是基于yarn,hdfs的需要启动hadoop,否则hadoop不需要启动). 2.打开idea,创建maven工程.编辑pom.xml文件.增加d ...

  8. Java中字符串比较的问题

    package com.hxl; import java.util.Scanner; public class Test { public static void main(String[] args ...

  9. Excel表列名称(给定一个正整数,返回它在 Excel 表中相对应的列名称。)

    例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ... 示例 1: 输入: 1 输出: "A ...

  10. 20165319 《JAVA程序设计》第一周学习总结

    教材内容学习总结 1.了解了基础的JAVA历史 2.学会了JDK的安装 3.学会了JAVA的基本应用 git的学习以及代码相关 1.学会了git在Windows系统上的安装以及linux系统的安装 2 ...