In this series of tutorials, we will introduce SpringMVC in detail. I believe that after completing this series of tutorials, you will be able to use it freely in actual development.
Before introducing what SpringMVC is, let’s first take a look at the basic architecture of Spring. As shown below:
We can see that in the basic architecture of Spring, the Spring Web MVC circled in red is the protagonist of this series, SpringMVC, which belongs to Spring It is a component of the basic architecture and is a follow-up product of SpringFrameWork. It has been integrated into Spring Web Flow, so when we integrate it with Spring later, there is almost no need for any other configuration.
SpringMVC is an MVC framework similar to Struts2. In actual development, it receives the browser's request response, processes the data, and then returns the page for display, but it is much easier to get started than Struts2. And due to the security issues exposed by Struts2, SpringMVC has become the preferred framework for most enterprises.
Without saying much, let’s take a look at the magic of SpringMVC directly through an example.
ps: Download link for the source code of this blog: http://pan.baidu.com/s/1c1OJi5E Password: 9hnc
Here we have added all the jar packages of Spring 3.2, which just proves that SpringMVC mentioned above is part of the Spring architecture. Note: it must be circled in red ovals spring-webmvc-3.2.0.RELEASE.jar
Create a new springmvc.xml file in the src directory and add the following Code:
<?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.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> </beans>
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>SpringMVC_01</display-name> <!-- 配置前端控制器DispatcherServlet --> <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> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
package com.ys.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; public class HelloController implements Controller{ @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView modelView = new ModelAndView(); //类似于 request.setAttribute() modelView.addObject("name","张三"); modelView.setViewName("/WEB-INF/view/index.jsp"); return modelView; } }
In springmvc.xml Add the following code to the file:
<!-- 配置Handler --> <bean name="/hello.do" class="com.ys.controller.HelloController" /> <!-- 配置处理器映射器 将bean的name作为url进行查找,需要在配置Handler时指定bean name(就是url)--> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" /> <!-- 配置处理器适配器,所有适配器都得实现 HandlerAdapter接口 --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /> <!-- 配置视图解析器 进行jsp解析,默认使用jstl标签,classpath下得有jstl的包--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" />
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> hello:${name} </body> </html>
Following the above steps, I believe you have built a simple instance of SpringMVC, so why do you write it like this? Please see the next blog for breakdown! ! !
The above is the detailed content of Detailed explanation of SpringMVC. For more information, please follow other related articles on the PHP Chinese website!