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 ,需要真正弄懂上述这些问题。

  • 相关阅读:
    ad域的那些事儿
    关于vs无法创建虚拟目录的问题
    关于Java链接c#的webapi的注意事项
    创建.net framework webapi出现“Web 服务器被配置为不列出此目录的内容。”错误
    vs2017专业版和企业版的密钥
    数据库‘master’中拒绝CREATE DATABASE权限
    vue局部路由守卫使用
    记一次关于vantUI 下拉列表list加载数据的问题
    vue中使用require动态拼接img路径
    记录一次关于el-tree中让内容与左边有距离的爬坑记录
  • 原文地址:https://www.cnblogs.com/solverpeng/p/5727185.html
Copyright © 2011-2022 走看看