一、 SpringMVC 原理
SpringMVC 是 Spring 框架中的一个模块,是用来实现基于 Java 技术的 Web 应用程序开发的。下面介绍 SpringMVC 的原理。
- 请求 dispatcherServlet
当用户请求一个页面时,dispatcherServlet 是 SpringMVC 的入口点。dispatcherServlet 是一个 servlet,其类似于一个大管家,用来协调各种不同组件的请求处理。
- 处理器映射器
处理器映射器是用来处理用户请求与具体控制器之间的映射。SpringMVC 采用注解或者配置 XML 的方式来进行映射。
- 处理器适配器
处理器适配器根据请求的 URL 找到具体的控制器,并调用控制器中相应的方法。处理器适配器起到了一个适配的作用,具体协调哪个类那个方法进行处理。
- 控制器
控制器是处理器适配器找到的类。控制器中的方法会根据传进来的参数进行相应的处理,在这个过程中完成功能实现。
- 视图解析器
视图解析器根据方法返回的视图名,解析成相应的视图。视图解析器将逻辑视图名解析成为实际的物理视图地址。
- View
View 是视图层对象,主要负责渲染页面以及返回响应给客户端。
二、 示例
下面介绍如何使用 SpringMVC 和搭建一些简单的 Web 应用程序。
第一个示例,展示了如何配置 SpringMVC,使得可以返回一个简单的 String。
- 引入依赖
需要通过引入 SpringMVC 的依赖,来使用 SpringMVC。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
- 配置 DispatcherServlet
在 web.xml 文件中,配置 DispatcherServlet。
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
- 配置 Controller
@Controller
@RequestMapping("/")
public class MainController {
@RequestMapping(method = RequestMethod.GET)
public String printHello(ModelMap model) {
model.addAttribute("message", "Hello SpringMVC Framework!");
return "hello";
}
}
- 配置模板引擎
在 mvc-dispatcher-servlet.xml 中,配置模板引擎。
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
- 配置视图
在 /WEB-INF/pages/ 目录下创建 hello.jsp 文件。文件内容如下:
<html>
<body>
<h2>${message}</h2>
</body>
</html>
运行代码,访问 URL:http://localhost:8080/,即可在页面上看到“Hello SpringMVC Framework!”。
第二个示例,展示了一个简单的表单提交,以及返回结果。
- 配置表单
表单页面包含了一个输入框和一个提交按钮。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表单页</title>
</head>
<body>
<form action="show" method="post">
<input type="text" name="name">
<input type="submit" value="提交">
</form>
</body>
</html>
- 配置 Controller
Controller 包含了一个方法来接受表单提交,并返回结果。
@Controller
public class MainController {
@RequestMapping("show")
public ModelAndView show(String name) {
ModelAndView modelAndView = new ModelAndView("result");
modelAndView.addObject("name", name);
return modelAndView;
}
}
- 配置视图
在 /WEB-INF/pages/ 目录下创建 result.jsp 文件。文件内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>结果页</title>
</head>
<body>
<h2>你输入的名字是:${name}</h2>
</body>
</html>
运行代码,访问 URL:http://localhost:8080/index.jsp,即可提交表单并在结果页面得到返回结果。
以上就是 SpringMVC 的基本原理以及简单的示例,希望可以帮到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:这一次搞懂SpringMVC原理说明 - Python技术站