zoukankan      html  css  js  c++  java
  • SpringMVC基础——一个简单的例子

    一、导入 jar 包

    二、配置 web.xml 文件

    <servlet>
      <servlet-name>dispatcherServlet</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>
    </servlet>
    <servlet-mapping>
      <servlet-name>dispatcherServlet</servlet-name>
      <url-pattern>*.action</url-pattern>
    </servlet-mapping>

    说明:

    配置了 SpringMVC 的核心处理器类 org.springframework.web.servlet.DispatcherServlet ,其中 url-pattern 指定了要过滤的请求。

    需要注意的是:DispatcherServlet 默认加载 /WEB-INF/servletName-servler.xml 的 SpringMVC Config 文件,可以通过初始化参数修改其位置和名称。

    三、添加 SpringMVC Config 文件(springmvc-servlet.xml)

    <context:component-scan base-package="com.nucsoft.springmvc.handler"/>
    
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix" value="/WEB-INF/views/"/>
      <property name="suffix" value=".jsp"/>
    </bean>

     说明:

    (1)指定要扫描的基包

    (2)指定视图解析器:prefix + viewName + suffix

    四、添加目标类

    /**
     * @author solverpeng
     * @create 2016-08-01-19:19
     */
    @Controller
    public class HelloWorldHandler {
    
        @RequestMapping("/hello")
        public String hello() {
            System.out.println("hello world...");
            return "hello";
        }
    
    }

    说明:

    (1)请求处理类必须在 IOC 容器中

    (2)@RequestMapping 用来映射请求,其中 value 属性指定映射的 url。可以作用类上,相当于 namespace 的作用。

    (3)返回值最终会被解析为 ModelAndView 对象。结合视图解析器,返回到视图。

    五、SpringMVC 作为一个表示层的框架,是继 Stuts2 之后的又一个优秀的框架,且有 Spring 整个体系作用支撑,使用起来感觉更加的优雅。

    学习 SpringMVC时,要明白它的核心处理器,以及表示层要解决的问题,

    如:获取原生的Servlet资源问题、映射问题、参数获取问题、模型注入问题、格式化问题、数据校验问题、返回值处理问题、视图渲染问题、防止表单重复提交问题、文件上传下载问题等等。

    以及 SpringMVC 整个的运行流程,以及请求的生命周期问题。能否通过自定义的方式来实现我们想要但是 SpringMVC 还没有解决的问题。

    对比于 Struts2,有什么优点、缺点。

    想要学会 SpringMVC ,需要真正弄懂上述这些问题。

  • 相关阅读:
    整数数组中最大子数组的和有溢出如何处理
    返回一个整数数组(环形数组)中最大子数组的和
    cnblogs用户体验评价
    SCRUM报告(一)
    Spring冲刺计划会议
    Spring冲刺计划会议
    团队合作项目----冲刺目标确定
    结队开发
    组队开发----卖书问题
    团队开发---NABC分析
  • 原文地址:https://www.cnblogs.com/solverpeng/p/5727185.html
Copyright © 2011-2022 走看看