【SpringMVC-基础篇-环境搭建】

1. 准备环境,本学习过程使用的spring 3.0.5的版本

 首先准备开发需要的jar包,请到spring-framework-3.0.5.RELEASE-dependencies.zip和spring- framework-3.0.5.RELEASE-with-docs中查找如下jar包:

 1.1 org.springframework.asm-3.0.5.RELEASE.jar

 1.2 org.springframework.beans-3.0.5.RELEASE.jar

 1.3 org.springframework.context-3.0.5.RELEASE.jar

 1.4 org.springframework.core-3.0.5.RELEASE.jar

 1.5 org.springframework.expression-3.0.5.RELEASE.jar

 1.6 org.springframework.web.portlet-3.0.5.RELEASE.jar

 1.7 org.springframework.web.servlet-3.0.5.RELEASE.jar

 1.8 org.springframework.web-3.0.5.RELEASE.jar

 1.9 commons-logging-1.1.1.jar :教程中没有引入这个包,我们这不必须引入,否者会报错。

 注意:  org.springframework.web.servlet-3.0.5.RELEASE.jar在后面的版本中也叫做:

       org.springframework.web.webmvc-3.2.0.RELEASE.jar

       如果不知道用哪些包,可以将spring的所有包都条件到项目中。

2. 项目结构

                    【SpringMVC-基础篇-环境搭建】

3. 项目基本组成文件

 3.1 web.xml文件

 3.2 spring mvc的配置文件,默认在WEB-INF下,叫做[servlet-name]-servlet.xml

 3.3 控制器类文件

 3.4 视图显示的jsp文件

4. 关键代码

 4.1 web.xml配置文件

<?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" version= "3.0">
        
      <welcome-file-list >
          <welcome-file >/WEB-INF/ jsp/index.jsp</welcome-file >
      </welcome-file-list >
        
      <display-name >SpringMVC </display-name >
      <servlet >
          <servlet-name >dispatcher </servlet-name >
          <servlet-class >org.springframework.web.servlet.DispatcherServlet </servlet-class >
              <init-param > 
                  <param-name >contextConfigLocation </param-name > 
                  <param-value >/WEB-INF/dispatcher-servlet.xml </param-value > 
              </init-param >
                  
              <!-- load-on-startup:表示启动容器时初始化Servlet -->
              <load-on-startup >1 </load-on-startup > 
       </servlet >
       <servlet-mapping >
           <servlet-name >dispatcher </servlet-name >
           
           <!-- url-pattern:表示哪些请求交给Spring Web MVC处理, 
                "/" : 定义默认servlet的映射
                "*. html":表示拦截所有以.html为扩展名的请求  -->
           <url-pattern >/</url-pattern > 
       </servlet-mapping >
  </web-app>

 4.2 dispatcher-servlet.xml 配置文件

 
<?xml version="1.0" encoding= "UTF-8"?>
<beans xmlns= "http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">
    <!-- JSR-303 support will be detected on classpath and enabled automatically -->
    <context:component-scan base-package= "org.springframework.samples.web.controller" />
    <!-- 有了context:component-scan可以省略context:annotation-config -->
    <mvc:annotation-driven />
   
    <bean id ="viewResolver" 
          class= "org.springframework.web.servlet.view.InternalResourceViewResolver" >
        <property name ="viewClass" value= "org.springframework.web.servlet.view.JstlView" />
        <property name ="prefix" value="/WEB-INF/jsp/"/>
        <property name ="suffix" value=".jsp"/>
    </bean >
</beans>

 4.3 控制器类文件

package org.springframework.samples.web.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/login")
public class HelloWorldController {
      
      @RequestMapping("/index")
      public String springIndex(Model model) {
                   model. addAttribute("message", "Hello indexS! Who are you ?");
                   return "index";
      }
      
      @RequestMapping("/helloWorld")
      public String helloWorld(Model model) {
             model. addAttribute("message", "Hello World! Who are you ?");
             return "helloWorld";
      }
}

 4.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 >Hello World </title > 
      </head > 
      <body >
             <a href ="login/helloWorld"> login/helloWorld</ a>
      </body > 
</html>

 4.5 spring mvc跳转的界面

 <%@ 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 >Hello World </title > 
      </head >
      <body >
            ${message}
      </body > 
</html>

 

   到此,一个简单的SpringMVC的基础框架就已经搭建完成。希望开始学习SpringMVC的朋友能有个好的开头。

 

   在后续业余时间中,还会继续更新SpringMVC的相关文章,包括参数传递,页面跳转路径等

你可能感兴趣的:(springMVC,springMVC)