热门关键字:
jquery > jquery教程 > java > 开始学SpringMVC之入门篇

开始学SpringMVC之入门篇

367
作者:管理员
发布时间:2020/4/15 18:41:53
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=1313

本文属于SpringMVC的入门篇,属于基础知识,仅供学习分享使用,如有不足之处,还请指正。

什么是SpringMVC ?

SpringMVC是一个基于Spring的MVC框架,继承了Spring的优秀特点,目前是使用率最高的Java EE Web MVC框架。

SpringMVC优势有哪些?

  1. SpringMVC运行速度会比Struts快一些(SpringMVC是单例模式,线程不安全,所以不要使用成员变量,Struts是多线程的方式,线程间是安全的)
  2. SpringMVC更加简洁,开发效率更高;层次清晰,便于阅读

SpringMVC体系结构

如下图所示:

开始学SpringMVC之入门篇

 

 

SpringMVC环境搭建

1. 新建一个Web工程【Dynamic Web Project】

File-->New-->Dynamic Web Project,按照步骤执行即可。如下图所示:

开始学SpringMVC之入门篇

2. 导入SpringMVC需要的Jar(Java Archive)包

需要导入的Jar包共8个,分为三个部分,如下所示:

//日志包 commons-logging-1.1.1.jar //spring核心包 spring-aop-4.0.6.RELEASE.jar
spring-beans-4.0.6.RELEASE.jar
spring-context-4.0.6.RELEASE.jar
spring-core-4.0.6.RELEASE.jar
spring-expression-4.0.6.RELEASE.jar //WebMVC包 spring-web-4.0.6.RELEASE.jar
spring-webmvc-4.0.6.RELEASE.jar

3. 配置web.xml

主要是配置核心控制器,如下图所示:

 1 <?xml version="1.0" encoding="UTF-8"?>  2 <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">  3 <!-- SpringMVC是使用Servlet来做控制器的,默认在/WEB-INF/[servlet-name]-servlet.xml这个路径,如:dispatcher-servlet.xml -->  4 <!-- 为什么用的时候才报错?Tomcat启动的时候不报错?  5  Sturts只要配置报错了,启动的时候就会报错,SpringMVC是在第一次访问的时候才创建Servlet  6 -->  7 <servlet>  8 <servlet-name>dispatcher</servlet-name>  9 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 10 <!-- 以下语句配置,在tomcat启动时,启动核心控制器 --> 11 <load-on-startup>1</load-on-startup> 12 <!-- /WEB-INF/dispater-servlet.xml --> 13 </servlet> 14 <servlet-mapping> 15 <servlet-name>dispatcher</servlet-name> 16 <!-- 请求入口 --> 17 <url-pattern>/</url-pattern> 18 </servlet-mapping> 19 20 <display-name>FirstSpringMvc</display-name> 21 <welcome-file-list> 22 <welcome-file>index.html</welcome-file> 23 <welcome-file>index.htm</welcome-file> 24 <welcome-file>index.jsp</welcome-file> 25 <welcome-file>default.html</welcome-file> 26 <welcome-file>default.htm</welcome-file> 27 <welcome-file>default.jsp</welcome-file> 28 </welcome-file-list> 29 </web-app>

4. 新建一个类实现Cotroller接口

一个Controller只有一个handleRequest方法需要实现,用来处理页面的请求

 1 package com.hex.springmvc;  2  3 import javax.servlet.http.HttpServletRequest;  4 import javax.servlet.http.HttpServletResponse;  5  6 import org.springframework.web.servlet.ModelAndView;  7 import org.springframework.web.servlet.mvc.Controller;  8  9 /** 10  * 实现Controller接口 11  * @author Administrator 12  * 13 */ 14 public class HelloWorldController implements Controller { 15 16  @Override 17 public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception { 18 ModelAndView mav=new ModelAndView(); 19 mav.addObject("msg", "Hello World,你好,SpringMVC"); 20 mav.setViewName("WEB-INF/jsp/HelloWorld.jsp"); 21 System.out.println("控制器被执行了!!!"); 22 return mav; 23  } 24 25 }

5. 新增Controller配置文件

SpringMVC有一个默认的配置文件,默认在/WEB-INF/[servlet-name]-servlet.xml这个路径,如:dispatcher-servlet.xml。

一个bean就表示一个Controller,用id属性来唯一表示。如下所示:

1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans 5  http://www.springframework.org/schema/beans/spring-beans.xsd"> 6 <bean id="/HelloWorld" class="com.hex.springmvc.HelloWorldController"></bean> 7 </beans>

6. 新增JSP(Java Server Pages)页面

${msg}表示接收Controller传递过来的参数内容,如下所示:

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"  2  pageEncoding="UTF-8"%>  3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  4 <html>  5 <head>  6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  7 <title>SpringMVC欢迎你</title>  8 </head>  9 <body> 10 <h1>欢迎信息</h1> 11 <h1>${msg}</h1> 12 </body> 13 </html>

7. 访问

启动Tomact,打开浏览器,输入网址http://localhost:8080/FirstSpringMvc/HelloWorld,如下所示,则表示成功

开始学SpringMVC之入门篇

8. 文件结构

整个文件结构,如下图所示:

开始学SpringMVC之入门篇

SpringMVC对静态资源的支持

在配置核心控制器时<url-pattern>/</url-pattern>,会导致SpringMVC框架下,静态资源无法访问(css,js,img),则需要配置对静态资源的支持,如下所示:

 1 <?xml version="1.0" encoding="UTF-8"?>  2 <beans xmlns="http://www.springframework.org/schema/beans"  3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  4  xmlns:mvc="http://www.springframework.org/schema/mvc"  5 xsi:schemaLocation="http://www.springframework.org/schema/beans  6  http://www.springframework.org/schema/beans/spring-beans.xsd  7  http://www.springframework.org/schema/mvc  8  http://www.springframework.org/schema/mvc/spring-mvc.xsd">  9 <!-- 静态资源的支持 --> 10 <mvc:default-servlet-handler/> 11 <bean id="/HelloWorld" class="com.hex.springmvc.HelloWorldController"></bean> 12 </beans>

配置过后,图片就可以访问了,如下所示:

开始学SpringMVC之入门篇

备注

 如山间清爽的风,如古城温暖的光

本文属于SpringMVC的入门篇,属于基础知识,仅供学习分享使用,如有不足之处,还请指正。

什么是SpringMVC ?

SpringMVC是一个基于Spring的MVC框架,继承了Spring的优秀特点,目前是使用率最高的Java EE Web MVC框架。

SpringMVC优势有哪些?

  1. SpringMVC运行速度会比Struts快一些(SpringMVC是单例模式,线程不安全,所以不要使用成员变量,Struts是多线程的方式,线程间是安全的)
  2. SpringMVC更加简洁,开发效率更高;层次清晰,便于阅读

SpringMVC体系结构

如下图所示:

开始学SpringMVC之入门篇

 

 

SpringMVC环境搭建

1. 新建一个Web工程【Dynamic Web Project】

File-->New-->Dynamic Web Project,按照步骤执行即可。如下图所示:

开始学SpringMVC之入门篇

2. 导入SpringMVC需要的Jar(Java Archive)包

需要导入的Jar包共8个,分为三个部分,如下所示:

//日志包 commons-logging-1.1.1.jar //spring核心包 spring-aop-4.0.6.RELEASE.jar
spring-beans-4.0.6.RELEASE.jar
spring-context-4.0.6.RELEASE.jar
spring-core-4.0.6.RELEASE.jar
spring-expression-4.0.6.RELEASE.jar //WebMVC包 spring-web-4.0.6.RELEASE.jar
spring-webmvc-4.0.6.RELEASE.jar

3. 配置web.xml

主要是配置核心控制器,如下图所示:

 1 <?xml version="1.0" encoding="UTF-8"?>  2 <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">  3 <!-- SpringMVC是使用Servlet来做控制器的,默认在/WEB-INF/[servlet-name]-servlet.xml这个路径,如:dispatcher-servlet.xml -->  4 <!-- 为什么用的时候才报错?Tomcat启动的时候不报错?  5  Sturts只要配置报错了,启动的时候就会报错,SpringMVC是在第一次访问的时候才创建Servlet  6 -->  7 <servlet>  8 <servlet-name>dispatcher</servlet-name>  9 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 10 <!-- 以下语句配置,在tomcat启动时,启动核心控制器 --> 11 <load-on-startup>1</load-on-startup> 12 <!-- /WEB-INF/dispater-servlet.xml --> 13 </servlet> 14 <servlet-mapping> 15 <servlet-name>dispatcher</servlet-name> 16 <!-- 请求入口 --> 17 <url-pattern>/</url-pattern> 18 </servlet-mapping> 19 20 <display-name>FirstSpringMvc</display-name> 21 <welcome-file-list> 22 <welcome-file>index.html</welcome-file> 23 <welcome-file>index.htm</welcome-file> 24 <welcome-file>index.jsp</welcome-file> 25 <welcome-file>default.html</welcome-file> 26 <welcome-file>default.htm</welcome-file> 27 <welcome-file>default.jsp</welcome-file> 28 </welcome-file-list> 29 </web-app>

4. 新建一个类实现Cotroller接口

一个Controller只有一个handleRequest方法需要实现,用来处理页面的请求

 1 package com.hex.springmvc;  2  3 import javax.servlet.http.HttpServletRequest;  4 import javax.servlet.http.HttpServletResponse;  5  6 import org.springframework.web.servlet.ModelAndView;  7 import org.springframework.web.servlet.mvc.Controller;  8  9 /** 10  * 实现Controller接口 11  * @author Administrator 12  * 13 */ 14 public class HelloWorldController implements Controller { 15 16  @Override 17 public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception { 18 ModelAndView mav=new ModelAndView(); 19 mav.addObject("msg", "Hello World,你好,SpringMVC"); 20 mav.setViewName("WEB-INF/jsp/HelloWorld.jsp"); 21 System.out.println("控制器被执行了!!!"); 22 return mav; 23  } 24 25 }

5. 新增Controller配置文件

SpringMVC有一个默认的配置文件,默认在/WEB-INF/[servlet-name]-servlet.xml这个路径,如:dispatcher-servlet.xml。

一个bean就表示一个Controller,用id属性来唯一表示。如下所示:

1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans 5  http://www.springframework.org/schema/beans/spring-beans.xsd"> 6 <bean id="/HelloWorld" class="com.hex.springmvc.HelloWorldController"></bean> 7 </beans>

6. 新增JSP(Java Server Pages)页面

${msg}表示接收Controller传递过来的参数内容,如下所示:

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"  2  pageEncoding="UTF-8"%>  3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  4 <html>  5 <head>  6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  7 <title>SpringMVC欢迎你</title>  8 </head>  9 <body> 10 <h1>欢迎信息</h1> 11 <h1>${msg}</h1> 12 </body> 13 </html>

7. 访问

启动Tomact,打开浏览器,输入网址http://localhost:8080/FirstSpringMvc/HelloWorld,如下所示,则表示成功

开始学SpringMVC之入门篇

8. 文件结构

整个文件结构,如下图所示:

开始学SpringMVC之入门篇

SpringMVC对静态资源的支持

在配置核心控制器时<url-pattern>/</url-pattern>,会导致SpringMVC框架下,静态资源无法访问(css,js,img),则需要配置对静态资源的支持,如下所示:

 1 <?xml version="1.0" encoding="UTF-8"?>  2 <beans xmlns="http://www.springframework.org/schema/beans"  3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  4  xmlns:mvc="http://www.springframework.org/schema/mvc"  5 xsi:schemaLocation="http://www.springframework.org/schema/beans  6  http://www.springframework.org/schema/beans/spring-beans.xsd  7  http://www.springframework.org/schema/mvc  8  http://www.springframework.org/schema/mvc/spring-mvc.xsd">  9 <!-- 静态资源的支持 --> 10 <mvc:default-servlet-handler/> 11 <bean id="/HelloWorld" class="com.hex.springmvc.HelloWorldController"></bean> 12 </beans>

配置过后,图片就可以访问了,如下所示:

开始学SpringMVC之入门篇

备注

 如山间清爽的风,如古城温暖的光





如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:jQuery
友荐云推荐