SPRING 第一个小程序 HELLO

   刚开始学习SPRING,也是第一次写博客,没有人指导,网上找资料,更费劲,但是印象更深刻,其中错了一些地方,都百度解决,现在贴出来,望不吝赐教

1.首先是配置文件WEB.XML

<?xml version="1.0" encoding="UTF-8"?>  
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"   
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee   
    http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"   
    id="WebApp_ID" version="3.1">  
    <!-- 定义Spring MVC的前端控制器 -->  
  <servlet>  
    <servlet-name>springmvc</servlet-name>  
    <servlet-class>  
        org.springframework.web.servlet.DispatcherServlet  
    </servlet-class>  
    <init-param>  
      <param-name>contextConfigLocation</param-name>  
      <param-value>/WEB-INF/springmvc-servlet.xml</param-value>  
    </init-param>  
    <load-on-startup>1</load-on-startup>  
  </servlet>  
  <!-- 让Spring MVC的前端控制器拦截所有请求 -->  
  <servlet-mapping>  
    <servlet-name>springmvc</servlet-name>  
    <url-pattern>/</url-pattern>  
  </servlet-mapping>  

</web-app>  

这是属于servlet的配置,TOMCAT会访问此文件,根据URL路径中的路径来拦截需要响应哪些请求,<url-pattern>/</url-pattern>   代表接收所有请求,映射 org.springframework.web.servlet.DispatcherServlet  类来处理请求,同事加载/WEB-INF/springmvc-servlet.xml文件到context中

2.spring上下文文件配置springmvc-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>  
<beans:beans xmlns="http://www.springframework.org/schema/mvc 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:p="http://www.springframework.org/schema/p"
  xmlns:beans="http://www.springframework.org/schema/beans"


    xsi:schemaLocation=" 
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-5.0.xsd  
        http://www.springframework.org/schema/beans  
        http://www.springframework.org/schema/beans/spring-beans.xsd  
        http://www.springframework.org/schema/mvc  
        http://www.springframework.org/schema/mvc/spring-mvc.xsd       
        http://www.springframework.org/schema/context  
        http://www.springframework.org/schema/context/spring-context.xsd">  
          
    <!-- spring可以自动去扫描base-pack下面的包或者子包下面的java文件,  
    <span style="white-space:pre;">   </span>如果扫描到有Spring的相关注解的类,则把这些类注册为Spring的bean -->  
    <context:component-scan base-package="org.springmvc.controller"/>  
      
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/"  p:suffix=".jsp" />  


</beans:beans>

说明:上下文会扫描 base-package="org.springmvc.controller" 包中的所有类文件,查找注解是@Controllter的类并将它作为Controllter控制器,

DispatcherServlet  会寻找对应的Controllter 然后进入Controllter文件中

3.HomeControllter

package com.lyf.controller;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;


@Controller
@RequestMapping("/")
public class HomeController {
@RequestMapping("index")
public ModelAndView index(){
ModelAndView modelAndView = new ModelAndView("home");
return modelAndView;
}

}


根据注解找到对应的处理函数,并且返回一个ModelAndView的类对象,Dispatcher找着对应的视图解析器,解析此JSP视图,返回给客户端


4.index.jsp

<%@ 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>welcome</title>  
</head>  
<body>  
<!-- 页面可以访问Controller传递传递出来的message -->  
${requestScope.message}  
</body>  
</html>  


5.运行

http://localhost:8080/DemoSpringMVC/index

SPRING 第一个小程序 HELLO

说的不对之处还请指教