Spring MVC简介 及HelloWorld简单实现
2020-01-14 15:26
465 查看
二、Spring MVC 学习
1、Spring MVC简介及简单实现
1.1 Spring MVC简介
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,是Spring 框架的重要模块,将包含业务数据的模块与显示模块的视图解耦,借助于Spring 的容器技术,可以非常方便的搭建Web 项目。
1.2 Spring MVC初始化
SpringMVC项目启动时要完成Spring 容器的初始化和SpringMVC配置的初始化
参考自(https://www.geek-share.com/detail/2687007080.html)
1.3 Spring MVC处理HTTP请求的流程
具体步骤:
- 发起请求到前端控制器(DispatcherServlet)
- 前端控制器请求HandlerMapping查找 Handler (可以根据xml配置、注解进行查找)
- 处理器映射器HandlerMapping向前端控制器返回Handler,HandlerMapping会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象,多个HandlerInterceptor拦截器对象),通过这种策略模式,很容易添加新的映射策略
- 前端控制器调用处理器适配器去执行Handler
- 处理器适配器HandlerAdapter将会根据适配的结果去执行Handler
- Handler执行完成给适配器返回ModelAndView
- 处理器适配器向前端控制器返回ModelAndView (ModelAndView是springmvc框架的一个底层对象,包括 Model和view)
- 前端控制器请求视图解析器去进行视图解析 (根据逻辑视图名解析成真正的视图(jsp)),通过这种策略很容易更换其他视图技术,只需要更改视图解析器即可
- 视图解析器向前端控制器返回View
- 前端控制器进行视图渲染 (视图渲染将模型数据(在ModelAndView对象中)填充到request域)
- 前端控制器向用户响应结果 参考自(https://www.geek-share.com/detail/2691053900.html)
1.4 HelloWord 简单实现
①配置文件
需要的JAR包
web.xml配置文件
<!-- 配置中央处理器 --> <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <!-- 配置映射路径 --> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
springmvc.xml配置文件
<?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 http://www.springframework.org/schema/beans/spring-beans-4.3.xsd"> <!-- 配置自定义Controller --> <bean class="com.tcwong.controller.HelloController" name="/hello"></bean> <!-- 配置处理器映射器 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean> <!-- 配置Controller适配器 --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean> </beans>
controller类
public class HelloController implements Controller { [@Override](https://my.oschina.net/u/1162528) public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { ModelAndView view = new ModelAndView(); view.setViewName("/index.jsp"); return view; } }
增加jsp 页面
网页显示
②基于注解
springmvc.xml 文件
<?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/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd"> <!-- 注册扫描 --> <context:component-scan base-package="com.tcwong.*"></context:component-scan> <!-- mvc注解开启 --> <mvc:annotation-driven></mvc:annotation-driven> </beans>
controller 类
[@Controller](https://my.oschina.net/u/1774615) @RequestMapping("/hello") public class HelloController { @RequestMapping("/h1") public ModelAndView hello1(){ ModelAndView mv = new ModelAndView(); mv.setViewName("/index.jsp"); System.out.println("h1触发"); return mv; } @RequestMapping("/h2") public ModelAndView hello2(){ ModelAndView mv= new ModelAndView(); mv.setViewName("/index.jsp"); System.out.println("h2触发"); return mv; } }
转载于:https://my.oschina.net/tcwong/blog/3039809
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- [置顶] Spring mvc通过xml配置文件方式实现简单HelloWorld
- Spring mvc基于注解方式实现简单HelloWorld
- JAVA SPRING MVC 实现一个简单的页面显示功能
- spring mvc实现简单上传文件
- Nginx之一:实现简单HTTP模块helloworld
- 简单的RPC编程实践——HelloWorld的实现
- Esper入门简介:四、 由上篇三我们实现个简单的报警作用吧
- (转载)Apache commons exec 简介和简单ping命令方法调用实现
- 自己实现简单的AOP(一)简介
- C#中的IEnumerable简介及简单实现实例
- Spring MVC入门-----简单实现Spring MVC
- Nginx之一:实现简单HTTP模块helloworld
- Spring MVC实现一次简单的CRUD示例
- 用spring mvc实现简单的页面跳转
- Struts2.0 (开发之一)--简介与简单登录的实现--CTO
- 基于XML配置的Spring MVC 简单的HelloWorld实例应用
- Nginx之一:实现简单HTTP模块helloworld
- Nginx之一:实现简单HTTP模块helloworld
- dwr实现简单的helloWorld
- Ice中间件学习 02 【简单实现HelloWorld】