​背景故事 ​

​搭建实例​

​基本环境​

​搭建spring项目​

​引入框架支持​

​配置运行启动项目​

​开始搭建​

​搭建方式1:xml搭建配置​

​搭建方式2:注解​

​后续感悟​



背景故事 

今天女朋友来了大姨妈,因为有事晚一个小时给她点红糖姜茶,她闹着要分手,这种无理取闹多了之后,心情也暗了下来,思索了未来人生的一些步伐,片刻回神便打电话给骑手,让骑手换配送地址,直接送到我办公室,然后我就边喝着这杯茶,打开周杰伦的《退后》,单曲循环,想着要写点东西忘掉这事,便想把这边博客给写出来。

搭建实例

基本环境

搭建spring项目

因为springMvc是spring里的一个核心,所以需要搭建的就是spring项目Spring框架搭建实例

需要导入的核心包为

<?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.lingaolu</groupId>
<artifactId>springMvc</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>demo</module>
</modules>

<dependencies>
<!-- 单元测试包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
</dependency>
<!-- Spring核心包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.0</version>
</dependency>
<!-- servlet核心包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<!-- JSP核心包,我们使用jsp页面 -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<!-- JSTL核心包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
</project>

引入框架支持

因为是web项目,所以引入web支持

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_注解

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_SpringMvc_02

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_spring_03

配置运行启动项目

不会的可以看这个tomcat部署项目以及与IDEA集成,直接看IDEA集成

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_搭建_04

启动访问成功

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_配置_05

开始搭建

创建spring的核心配置文件spring.xml,文件名可以随便取

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_搭建_06

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">


</beans>

在web.xml中配置springMvc的核心配置

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_spring_07

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">

<!-- 配置DispatcherServlet:这个是springMvc的核心,请求分发器,前端控制器 -->
<servlet>
<servlet-name>springMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- DispatcherServlet要绑定Spring的配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.xml</param-value>
</init-param>
<!-- 启动级别:1 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>

建立我们要测试用的JSP文件

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_配置_08

<%--
Created by IntelliJ IDEA.
User: Administrator
Date: 2020/11/17
Time: 21:41
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
${msg}
</body>
</html>




打开项目结构,因为是用tomcat启动,所以把包都丢进去,不然有可能找不到包访问的时候回报错,具体导入看这个IDEA maven项目部署到tomcat的jar包找不到问题



springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_配置_09




springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_SpringMvc_10



springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_spring_11



springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_注解_12



搭建方式1:xml搭建配置

spring核心文件配置视图解析器

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_搭建_13

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">

<!-- 处理器映射器,可以不配,会自动配置 -->
<!-- <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>-->
<!-- 处理器适配器,可以不配,会自动配置 -->
<!--<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>-->
<!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="jsp/"/>
<!-- 后缀 -->
<property name="suffix" value=".jsp"/>
</bean>
</beans>

编写类,实现MVC的控制接口Controller

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_配置_14

Spring核心配置文件注入我们的类

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_注解_15

启动访问,成功

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_注解_16

搭建方式2:注解

核心配置文件开启注解相关配置

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_spring_17

<?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:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">

<!-- 自动扫描包,让指定包下的注解生效,有IOC容器统一管理 -->
<context:component-scan base-package="com.lingaolu.controller"/>
<!-- spring mvc不要处理静态资源 -->
<mvc:default-servlet-handler/>
<!-- 开启注解驱动,自动把处理器映射器和处理器适配器注入 -->
<mvc:annotation-driven/>

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/jsp/"/>
<!-- 后缀 -->
<property name="suffix" value=".jsp"/>
</bean>

</beans>

测试类使用注解

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_SpringMvc_18

package com.lingaolu.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;


@Controller
@RequestMapping("/aa")
public class TestController{

@RequestMapping("/bb")
public String test(Model model){
model.addAttribute("msg","注解返回bb");
return "hello";
}

@RequestMapping("/cc")
public String test1(Model model){
model.addAttribute("msg","注解返回cc");
return "hello";
}

}



启动测试

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_SpringMvc_19

springMvc的搭建实例,我甩手就丢给了刚分手的女朋友_搭建_20



后续感悟



红糖姜茶不知不觉喝完了,本篇博客写到这里也接近了尾声,貌似是在暗示着这片文章是为了这杯茶量身定制的,心情也舒缓了许多



女友发消息给我,说她可能是心情烦躁,任性了一点,让我原谅她,但是她所不明白的是,有些原谅如果太多,也许就失去了生活本身的意义,最终2人也许就成了凑合在一起的形式走肉,我想了想回复,这篇文章点赞量达到15以上,我就选择原谅,所以我把决定权交给了广大的网友。