2021-09-15 第一个Spring MVC应用

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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值