SpringMVC

Spring MVC是Spring提供的一个强大而灵活的web框架。借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单。这些控制器一般不直接处理请求,而是将其委托给Spring上下文中的其他bean,通过Spring的依赖注入功能,这些bean被注入到控制器中。

Spring MVC主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。他的两个核心是两个核心:

处理器映射:选择使用哪个控制器来处理请求

视图解析器:选择结果应该如何渲染

通过以上两点,Spring MVC保证了如何选择控制处理请求和如何选择视图展现输出之间的松耦合。

1.file   new   project   选择maven    先勾选这个

然后找到箭头所指

点击Next

修改完成后点击Finish

这里出现的需要你手动更改一下  Maven 的路径 用户设置文件和本地maven仓库   可以找到你本机对应maven 的路径

这个是我电脑设置的maven仓库

然后点击完成,如图是正在给本地仓库下载包

下载完成之后,看一看咱们的main 文件里有没有java,test,resources 文件夹 没有的话就一一创建。然后使用下图的方法修改对应包的颜色

接下来打开pom.xml 文件  导入依赖   下方是我导入的所有依赖

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.19.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.18</version>
</dependency> <dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.11.0</version>
</dependency> </dependencies>

下载完成后,可以看到External Library下多了很多文件

接下来就是添加MVC框架,项目总包上右击 后   点击Add framework support

将Spring 及以下的Spring MVC 进行勾选    如图  然后点击ok  如果Spring 及Spring MVC 找不到接着往下看 有解决方法

如果在Add framework support中找不到Spring,那是因为项目中可能已经存在Spring相关文件,但不一定是完善的。因此我们要将已经存在的Spring给删掉,重新添加,方法如下:

点击File,选择Project Structure,选择Facets,就会看到有一个Spring啦,右击它,点删除,然后再重新Add framework support,Spring就好了。

添加完成MVC框架后,如图会出现多出来的两个配置xml文件

这个是我当前的所有目录

接下来先点击打开web.xml,这是自动生成的,我的上面是直接报错   下方紧接着有提供代码   直接复制粘贴

 1 <?xml version="1.0" encoding="UTF-8"?>
2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
5 version="3.1">
6
7 <display-name>Archetype Created Web Application</display-name>
8 <!--welcome pages-->
9 <welcome-file-list>
10 <welcome-file>index.jsp</welcome-file>
11 </welcome-file-list>
12
13 <!--配置springmvc DispatcherServlet-->
14 <servlet>
15 <servlet-name>springMVC</servlet-name>
16 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
17 <init-param>
18 <!--配置dispatcher.xml作为mvc的配置文件-->
19 <param-name>contextConfigLocation</param-name>
20 <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
21 </init-param>
22 <load-on-startup>1</load-on-startup>
23 <async-supported>true</async-supported>
24 </servlet>
25
26 <!--<servlet>-->
27 <!--<servlet-name>EmpServlet</servlet-name>-->
28 <!--<servlet-class>com.gx.filter.EmpServlet</servlet-class>-->
29 <!--</servlet>-->
30
31 <servlet-mapping>
32 <servlet-name>springMVC</servlet-name>
33 <url-pattern>/</url-pattern>
34 </servlet-mapping>
35 <!--把applicationContext.xml加入到配置文件中-->
36 <context-param>
37 <param-name>contextConfigLocation</param-name>
38 <param-value>/WEB-INF/applicationContext.xml</param-value>
39 </context-param>
40 <listener>
41 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
42 </listener>
43 </web-app>

配置dispatcher-servlet.xml,负责mvc的配置代码如下

<?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:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--此文件负责整个mvc中的配置--> <!--启用spring的一些annotation -->
<context:annotation-config/> <!-- 配置注解驱动 可以将request参数与绑定到controller参数上 -->
<mvc:annotation-driven/> <!--静态资源映射-->
<!--本项目把静态资源放在了webapp的statics目录下,资源映射如下-->
<mvc:resources mapping="/css/**" location="/static/css/"/>
<mvc:resources mapping="/js/**" location="/static/js/"/>
<mvc:resources mapping="/image/**" location="/static/images/"/>
<mvc:default-servlet-handler /> <!--这句要加上,要不然可能会访问不到静态资源,具体作用自行百度--> <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀(如果最后一个还是表示文件夹,则最后的斜杠不要漏了) 使用JSP-->
<!-- 默认的视图解析器 在上边的解析错误时使用 (默认使用html)- -->
<bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/views/"/><!--设置JSP文件的目录位置-->
<property name="suffix" value=".jsp"/>
<property name="exposeContextBeansAsAttributes" value="true"/>
</bean> <!-- 自动扫描装配 -->
<context:component-scan base-package="com.Demo.controller"/> </beans>

配置applicationContext.xml,负责一些非MVC组件的配置,代码送上

<?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"
xsi:schemaLocation="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.xsd"> <context:component-scan base-package="com.Demo"/> </beans>

到此,咱们整个mvc框架配置就结束了,然后就可以敲代码了。

使用idea基于maven创建SpringMVC项目_非凡的博客-CSDN博客 转载于非凡的博客   原博客链接

最新文章

  1. TODO:macOS编译PHP7.1
  2. koala预编译工具的使用
  3. Entity Framework Model First下改变数据库脚本的生成方式
  4. Python学习笔记——字典
  5. QC11客户端安装
  6. EF架构~在ef中支持IQueryable级别的Contains被翻译成了Exists,性能可以接受!
  7. sdutoj 2610 Boring Counting
  8. PSP0级 周活动总结表+时间记录日志+缺陷记录日志 表格模板
  9. Android进阶笔记16:ListView篇之ListView刷新显示(全局 和 局部)
  10. 函数组:FACS(FI/CO接口的FI服务)
  11. win10应用安装位置修改方法
  12. 消息队列feed程序实现中的问题
  13. javascript类型系统之Array
  14. 我是一个云Hosts文件,用来干啥你懂的
  15. Jfreet 自动删除生成的图片
  16. Unsupervised Learning and Text Mining of Emotion Terms Using R
  17. 流API--缩减操作
  18. 用kali执行arp攻击-----------使对方断网
  19. SPOJ 1811 LCS - Longest Common Substring
  20. FC游戏 《三国志2-霸王的大陆》攻略

热门文章

  1. Java实现适配器模式
  2. 什么是CAP?
  3. Linux中awk的用法
  4. hdu 1556 Color the ball 线段树 区间更新
  5. 浅读tomcat架构设计之Pipeline-Valve管道(4)
  6. CentOS-Docker安装RabbitMQ(单点)
  7. Sublime3 markdown preview 修改输出的html页面默认宽度
  8. ftp错误&amp;&amp;详解方案
  9. DRF之JWT认证
  10. 为什么使用 LSTM 训练速度远大于 SimpleRNN?