1.创建项目,引入JAR包
项目中需添加Spring的四个核心JAR包:
spring-beans-4.3.6.RELEASE.jar
spring-context-4.3.6.RELEASE.jar
spring-core-4.3.6.RELEASE.jar
spring-expression-4.3.6.RELEASE.jar
两个Spring MVC框架所需JAR包:
spring-web-4.3.6.RELEASE.jar
spring-webmvc-4.3.6.RELEASE.jar
2.在web.xml中配置Spring MVC的前端控制器DispatcherServlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
version="3.1" metadata-complete="true">
<!-- 配置前端控制器 -->
<servlet>
<!-- 配置前端过滤器 -->
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<!-- 初始化时加载配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<!-- Spring MVC配置文件的地址 -->
<param-value>classpath:springmvc-config.xml</param-value>
</init-param>
<!-- 表示容器在启动时立即加载Servlet -->
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 拦截器,这里表示拦截所有请求,并交由DispatcherServlet处理-->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
3.创建一个控制类FirstController,该类需要实现Controller接口
package chapter11;
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 FirstController implements Controller{
@Override
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
//创建ModelAndView对象
ModelAndView mav=new ModelAndView();
//向模型对象中添加数据
mav.addObject("mmm", "spring mvc 程序实现aaa");
//设置逻辑视图名
//这里设置jsp页面地址,将jsp页面添加到mav即odelAndView对象中,然后带着jsp页面,return返回给请求者
mav.setViewName("/WEB-INF/jsp/first.jsp");
//返回ModelAndView对象
return mav;
}
}
4.创建Spring MVC的配置文件,配置控制器映射信息,在src目录下,创建配置文件springmvc-config.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">
<!-- 配置处理器Handler,映射"/firstController"请求 -->
<!-- 定义一个名称为/Controller的Bean,该Bean会将FirstController映射到/Controller请求中 -->
<bean name="/Controller" class="chapter11.FirstController"></bean>
<!--spring 4.0以后不需要配置 处理器映射器 处理器适配器 视图解析器-->
<!-- 处理器映射器,将处理器Handler的name作位url进行查找 -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
<!-- 处理器适配器,配置对处理器中的HandleRequert()方法进行调用 -->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>
<!-- 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"></bean>
</beans>
5.创建jsp页面,在WEB-INF目录下,创建jsp文件夹,并在文件夹中创建first.jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- EL表达式 -->
<!--EL表达式介绍
Expression Language表达式语言
是一种在JSP页面获取数据的简单方式(只能获取数据,不能设置数据)
在JSP2.0开始引入概念
在JSP页面的任何静态部分均可通过:${expression}来获取到指定表达式的值 -->
<!-- EL只能从四大域中获取属性
1 pageContext.setAttribute("name", "linjie");
2 request.setAttribute("name", "lucy");
3 session.setAttribute("name", "king");
4 application.setAttribute("name", "bilibili");
使用applicationScope即可指定application域中的name输出,当然其他域也是类似
pageScope:从page范围域属性空间中查找指定的key
requestScope:从request范围域属性空间中查找指定的key
sessionScope:从session范围域属性空间中查找指定的key
applicationScope:从application范围域属性空间中查找指定的key
-->
${mmm}
</body>
</html>