1.创建maven工程,导入pom配置文件:
-
同一版本管理:
-
-
引入springMvc的文件:
<!-- SpringMVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <!-- ServletAPI 导入的原因是DispatchServerlet需要用到httpServerlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency> <!-- SpringAOP --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency>
-
实习json传参:
<!-- jackson-databind是jackson的核心包,用于json序列化和反序列化--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.1</version> </dependency>
-
数据库配置:
<!-- 数据库连接--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.31</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.9</version> </dependency> <!--导入hibernate依赖--> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.2.9.Final</version> </dependency>
-
通过spring来整合hibernate:
<!-- 这个依赖是 Spring 整合 Hibernate 所使用的模块,可以将 Hibernate 加入 Spring 的事务管理--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency>
2.将maven项目转变成web项目
-
第一步
-
第二步 添加路径
-
2.1重新加载maven后打开项目结构找到Modules中的web(没有需要刷新maven尝试!)
-
- 2.2 添加web.xml配置文件。(同时项目会自动生成静态资源文件)
- 注意路径问题需要和你项目结构一致
- 需要在\WEB-INF前面加上\src\main\webapp
- 整体路径如下:
3.进行对web.xml文件进行配置springMvc和spring(配置的是web.xml中的内容)
-
加载springMvc
<!-- spring MVC config start--> <servlet> <servlet-name>dispatcherServlet</servlet-name> <!--通过java的反射机制加载--> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <!-- 此处指向的的是SpringMVC的配置文件 --> <param-value>classpath:springMvc.xml</param-value> </init-param> <!--让我们springmvc DispatcherServlet优先被加载--> <load-on-startup>1</load-on-startup> </servlet> <!--客户端发送所有请求 都会达到我们的 DdispatcherServlet 静态资源 控制器中,请求--> <servlet-mapping> <servlet-name>dispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- spring MVC config end-->
-
加载spring
<!--加载Spring的配置文件到上下文中去--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring.xml</param-value> </context-param> <!-- Spring监听器 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
-
配置字符集转化和过滤
<!-- 字符集过滤 --> <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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
4.配置springMvc(配置springMcv.xml中的内容)
-
开启扫描(也就是扫描注解)
<!-- 开启扫描组件也就是注解--> <context:component-scan base-package="jishenao.kj.controller"/>
-
开启Mvc的注解驱动(主要用与加载handlerMppering、handlerAdapter、以及ViewAndModel这些springMvc的组件)
<!-- 开启mvc的注解驱动--> <mvc:annotation-driven/>
-
配置视图解析
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/pages/"/> <property name="suffix" value=".html"/> </bean>
-
处理静态资源文件(放行js以及css)
<!-- 配置静态资源映射--> <mvc:resources mapping="/pages/**" location="/pages/"/>
-
设置视图控制器
<!-- 设置视图控制器 :为当前的请求直接设置试图名称实现页面跳转 --> <mvc:view-controller path="/" view-name="index"></mvc:view-controller>
5.配置spring(配置spring.xml中的内容)
-
配置spring的注解扫描
<context:component-scan base-package="jishenao.kj"> <!--以注解的形式排除对Controller的扫描,也就是说不要带有Conroller的包--> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
-
spring中加载hibernate
-
引入数据库配置
<!-- 引入数据库propreties文件--> <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder> <!-- 配置数据源--> <bean id="dataSouce" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driver}"></property> <property name="url" value="${jdbc.url}"></property> <property name="username" value="${jdbc.username}"></property> <property name="password" value="${jdbc.password}"></property> </bean>
-
整合hibernate配置
<!-- 配置 Hibernate 的 SessionFactory 实例: 通过 Spring 提供的 LocalSessionFactoryBean 进行配置 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <!-- 配置数据源属性 --> <property name="dataSource" ref="dataSouce"></property> <!-- 配置 hibernate 配置文件的位置及名称 --> <property name="configLocations" value="classpath:hibernate.cfg.xml"></property> <property name="packagesToScan" value="jishenao.kj.entity"></property> <!-- 配置 hibernate 映射文件的位置及名称, 可以使用通配符 (这个是使用xml方式需要引入的property) --> <!-- <property name="mappingLocations"--> <!-- value="classpath:com/gong/spring/hibernate/entities/*.hbm.xml"></property>--> </bean>
-
开启声明式事务
<!-- 实现声明式事务--> <bean id="hibernateTransactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!-- 开启注解驱动--> <tx:annotation-driven transaction-manager="hibernateTransactionManager"></tx:annotation-driven>
-
-
配置Tomcat
-
找到TomcatService,进入配置页面
-
添加war项目
-
实现热更新
-
1.创建首页
-
2.配置springMvc中的页面映射
-
-
开启项目
-
-
项目结构