SpringMVC-HelloWorld

SpringMVC 概述

  Spring 为展现层提供的基于 MVC 设计理念的优秀的 Web 框架,是目前最主流的 MVC 框架之一;Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架。Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。支持 REST 风格的 URL 请求,采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性。

编写Hello World

步骤:

1. 加入 jar 包
2. 在 web.xml 中配置 DispatcherServlet 
3. 加入 SpringMVC 的配置文件 
4. 编写处理请求的处理器,并标识为处理器 
5. 编写视图

加入jar包

注意:需要添加commons-logging jar,Spring默认依赖common-logging.jar。

配置web.xml

    <!-- 配置DispatcherServlet -->
    <servlet>
        <servlet-name>springDispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 配置DispatcherServlet 的一个初始化参数:配置SpringMVC配置文件的位置和名称 -->
        <!-- 
            实际上也可以不通过contextConfigLocation来配置SpringMVC的配置文件,而使用默认的
            默认的配置文件为:/WEB-INF/<servlet-name>-servlet.xml 
        -->
        
        <!-- <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param> -->
        
        <!-- 
            标记容器是否在启动的时候就加载这个servlet;当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;
            当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载;正数的值越小,启动该servlet的优先级越高。 
        -->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- Map all requests to the DispatcherServlet for handling -->
    <servlet-mapping>
        <servlet-name>springDispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

加入SpringMVC配置文件

1     <!-- 配置自动扫描的包 -->
2     <context:component-scan base-package="com.wpf.springmvc"></context:component-scan>
3     
4     <!-- 配置视图解析器:如何把handler方法返回值解析为实际的物理视图 -->
5     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
6         <property name="prefix" value="/WEB-INF/views/"></property>
7         <property name="suffix" value=".jsp"></property>
8     </bean>

编写处理请求的处理器

 1 @Controller
 2 public class HelloWorld {
 3     
 4     /**
 5      * 1. 使用@RequestMapping 注解来映射请求URL
 6      * 2. 返回值会通过视图解析器解析为实际的物理视图,对于InternalResourceViewResolver视图解析器,会做如下的解析:
 7      * 通过prefix + returnVal + suffix 这样的方式得到实际的物理视图,然后做转发操作
 8      * /WEB-INF/views/success.jsp
 9      * @return
10      */
11     @RequestMapping("/helloworld")
12     public String hello() {
13         System.out.println("Hello World!");
14         return "success";
15     }
16 }

编写视图

原文地址:https://www.cnblogs.com/xhongqing/p/7552978.html