问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

spring framework mvc怎么用

发布网友 发布时间:2022-11-27 00:16

我来回答

1个回答

热心网友 时间:2023-08-30 09:20

为什么需要Spring MVC
最开始接触网页的时候,是纯的html/css页面,那个时候还是用Dreamweaver来绘制页面。
随着网站开发的深入,开始学习servlet开发,记得最痛苦的就是servlet返回网页的内容是字符串拼接的html页面,整不好就无法显示....
再到后来开学学习SSH,庞大的架构眼花缭乱。Struts繁杂的标签、hibernate搞不清楚的数据表,Spring不知道哪里搞错的bean。
最后随着发展,前端开始占有一席之地,nodejs风生水起,很多业务逻辑开始前置。再也看不到当初的bo、了,取而代之的是各种框架的mvvm,后台减轻压力只负责一些必要的逻辑。
到现在,好像web开发又发展到了一个阶段——前端由于Nodejs的作用,可以支撑一部分业务逻辑,通过转发代理,统一发往后台。后台通过url实现mvc,对性持久化、更深入的逻辑操作等等。Spring MVC在这里就起了很关键的作用....它通过Url拦截请求,自定义业务逻辑,可以返回自定义的view或者模型数据。
当然,上面的鬼扯都是片面的,不代表行业的发展,只是博主管中窥豹而已。
下面步入正题,说说Spring MVC的最小化配置,给入门的朋友引个路。
Spring MVC的最小化配置
需要的jar包
Spring framework spring-context
Spring framework spring-mvc
具体可以参考maven中的引用:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>

web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" 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_3_1.xsd">

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
<!-- 默认是/WEB-INF/applicationContext.xml -->
</context-param>

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

<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/SpringMVC-servlet.xml</param-value>
<!-- 默认是/WEB-INF/[servlet名字]-servlet.xml -->
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

</web-app>

其中,必要的配置就是指定servlet和listener.
ContextLoaderListener指定了IOC容器初始化的方法
DispatcherServlet则定义了mvc的相关内容,并配置拦截的url,如上面所示,所有/开头的请求,都会通过SpringMVC这个servlet进行处理。
他们都需要一个xml文件,默认位置上面已经说过了。
applicationContext.xml
空的,反正咱也没用什么bean。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd">

</beans>

SpringMVC-servlet.xml
里面放一个扫描controller的配置即可。
<?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"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.0.xsd">
<!-- 设置使用注解的类所在的jar包 -->
<context:component-scan base-package="hello" />
</beans>

controller文件
package hello;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {

@RequestMapping("/hello")
public @ResponseBody String test() {
return "hello, world! This com from spring!";
}

}

总结一下:
1 两个maven依赖,spring-context;spring-mvc。maven就会自动下载所有关联的jar包,包括
spring-webmvc
spring-beans
spring-core
spring-expression
spring-web
spring-context
spring-aop
aopalliance
commons-logging
2 一个web.xml文件,配置了listener和servlet
3 两个spring相关的文件,applicationContext.xml和servletName-servlet.xml
4 一个controller文件,配置了拦截的url处理代码
有了这些准备工作,运行后输入
http://localhost:8080/SpringTest/hello

就能得到
hello, world! This com from spring!

这样的信息,恭喜你的SpringMVC搭起来了!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
罗马全面战争怎么样提高元老院评价? 半夜家中镜匾忽然碎了 镜子忽然碎掉怎么解 化能异养型微生物分类 如何判断自养微生物与异养微生物 如何得知某微生物是否为哪种氨基酸的异养型微生物。 滨州市北海振宇电子科技有限责任公司怎么样? 北京振宇科技有限公司怎么样? 上海振宇化工科技有限公司经营范围 商业医保是否值得购买? import org.springframework.boot.web.servlet.ErrorPage; 依赖哪个包,导入的时候会报错 如果0PPOA72手机带了钢化膜与壳摔坏了严重吗? 平时饮食多吃醋,对身体有哪些好处? 两个人怎么才能在一起很久? 经济诈骗犯罪最多判几年 经济诈骗罪判刑标准 计量器具检定每年一次是由个人送检,还是由有关单位来来检定 深圳有几个计量院,就是可以检计量器具的。 我公司是做机械的,有一些卡尺温度计一类的测量工具需要检测,不知道应去什么部门? 我的小精灵作文 狗的单词是什么? 信用卡激活时间限制多少 不要超过有效期 信用卡一般激活有效期 最好不要超过3年时间 lg 34um59-p 34英寸有音箱吗 lg+34um68-p需要什么显卡 lg 34um68-p 34英寸 怎么样 医院用小便验怀孕,会不会检验错误 为什么验尿验不出怀孕 既当明星又当美妆博主的五位艺人!良心又亲民,林允美妆博主鼻祖 为什么印第安人的乐器与中国古老的乐器是那么的相似 米哈游账号申诉会发手机上吗 米游社被注销了怎么找回 win7 word2007图标变小在一张白纸上,怎么破?转的答案话希望切实可行 桌面上的图标的字怎么都变小了?? office2007,word桌面图标变成了这个样子,该怎么处理,看着太别扭了,excel图标正常 我的电脑office 2007图标显示不正常怎么办? 为什么我的桌面上Office2007图标变成这样了,如图但是,还是能打开的,求高手把他给变回来 和平精英僵尸模式怎么没有了 僵尸模式取消原因说明 和平精英里把突变团竟里面的强化战士和猎手融合在一起会怎么样 怎样去除QQ聊天窗口右边的QQ秀? 什么是函数依赖?函数依赖有那几种? 2020年12月24日出生的男孩怎么起名帅气有涵养? 护士专业有几种 被开尔财富骗的钱款真的能追回吗?用什么方式?谢谢! 开尔财富理财诈骗维权有群吗?我被骗了 人的贪嗔从那来的 51单片机不需要配置io模式吗 土豆泥蛋饼怎么做如何做好吃 我和我的宝贝,土豆泥饼怎么做 山东一小伙用微缩模型还原老宅,做微缩景观挣钱吗?