我自己是一名从事了多年开发的JAVA老程序员,今年年初我花了一个月整理了一份最适合2019年学习的java学习干货,可以送给每一位喜欢java的小伙伴,想要获取的可以关注我的头条号并在后台私信我:【交流】,即可免费获取。
Spring MVC 是Spring框架中用于Web应用开发得一个模块,是Spring提供得一个基于MVC设计模式得优秀得Web开发框架,本质上相当于servlet。在MVC设计模式中,SpringMVC作为控制器(Controller)来建立模型与视图得数据交互,是结构最清晰得MVC Model2实现,可称为一个典型得MVC框架。Spring MVC得结构比较复杂,下面我们通过搭建MVC得环境,并实现简单例子来了解Spring mvc。
1.1Spring MVC搭建环境流程
以上为我maven pom配置文件导入的架包,记得版本一定要对应,否则容易引发未知错误。
Spring MVC配置:
2.1在web.xml中配置Servlet,定义DispatcherServlet:
Spring MVC是基于Servlet得,那DispatcherServlet是整个Sping mvc框架得核心,它负责截获请求并将其分派给相应得处理器处理。首先就得进行DispatcherServlet配置,我们在web.xml中进行操作:
在配置得时候,我们通过contextConfigLocation参数来指定Spring MVC配置文件得位置,此处使用Spring资源路径得方式进行指定(classpath:springmvc-servlet.xml)
2.2创建Spring MVC得配置文件–视图解析器
在resources目录下面新建名叫springmvc-servlet.xml得配置文件
3.创建Controller(处理请求得控制器,等于servlet)
在同级目录下创建controller包,创建一个名叫IndexController的层
4.创建view层(我们用JSP作为视图进行测试)
在第二步我们配置了视图解析器,根据定义的prefix(前缀)–WEB-INF/jsp/和suffix(后缀).jsp,我们在WEB-INF下创建jsp包,定义index.jsp
控制器IndexController返回的逻辑视图名称为index,通过视图解析器,会将视图逻辑名解析为/WEB-INF/jsp/index.jsp,得到真正的视图名。
5.部署运行(Tomcat)
前面所有工作完成后,在idea中部署tomcat
最后进行测试,在控制台输入http://localhost:8080/ch09spingmvcshili_war/index1
下面我们通过一张图来了解下Springmvc的请求流程
首先用户发送到请求到前端控制器(DispatcherServlet),前端控制处理器根据请求信息(URL)来选择哪个控制器(Controller)来进行处理,并把请求委托给它
页面控制器接收到请求后,进行业务处理,处理完毕后返回一个ModelAndView
前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的真正视图,并把模型数据传入以便将视图进行渲染。
2.1Spring MVC框架的特点
2.2MVC的参数传递
前面我们搭建了MVC的环境以及实现了controller和view的映射,简单的实现了页面导航,下面我们来实现把view层的数据传递以及controller把值传给前台
需要注意的是?后面的username必须对应方法名字,才能获取到,这里我们只是测试拼接,运行正确会在页面上显示,admin!!
2.2.1view层传输数据到controller
使用一个form表单做示范,例如我现在要把form表单上text得值在后台进行处理,并且把你输入得值打印到另外一个页面上进行显示:
index.jsp:
indexs.jsp:
我们把需要得页面和后台准备好之后开始测试,启动tomcat:
从这里可以看到,我们测试成功了。
上面为我整个项目得所有架包,文件上传得架包可以不加!!主要添加得还是spring得核心架包。
2.编写配置文件
前面我们已经会编写Springmvc得配置文件了,现在我们只需要配置Spring和mybatis得配置文件了,下面直接贴代码
mybatis-config.xml:
和log4j.properties:
applicationContext.xml:
编写完得项目结构如图:
最后我们只要有在springmvc-servlet.xml中把spring导入进去
springmvc-servlet.xml:
这样我们得配置文件就编写成功了。
4. 运行测试
我们使用一个简单得登陆来测试ssm部署是否成功,首先编写登陆需要得mapper层和biz层,这里不做示范,下面贴上controller层得代码:
login.jsp:
最后我们进行测试
这样我们得smm项目部署成功,如果有什么疑问,可以私聊把项目发你!!
3.1静态资源文件得引用
我们会发现如果要引入jss文件或者css,会发现它们无法起效得,因为web.xml中得DispatcherServlet请求映射会拦截所有web容器得请求,现在我们在mvc得配置文件中进行映射:
首先在webapp下面创建静态资源包
再springmvc-servlet.xml中添加:
实际引用:
这里也必须要加项目得绝对路径!!这样就配置成功了
作者: 马男波杰克
来源:CSDN