zoukankan      html  css  js  c++  java
  • springmvc之Hello World及常用注解

    博客已迁移到CSDN《https://blog.csdn.net/qq_33375499

     

    步骤:

    • 加入jar包
    • 在web.xml 中配置DispacherServlet
    • 加入SpringMVC 配置文件springmvc.xml
    • 编写请求处理器(action/controller)
    • 编写视图

    在web.xml 中配置DispatcherServlet

    <!-- 配置DispatcherServlet -->
    <servlet>
        <servlet-name>springDispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet></servlet-class>
        <!-- 配置DispatcherServlet的一个初始化参数:配置springmvc文件的名称和位置 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>
        <!-- 在当前应用被加载的时候创建 -->
        <load-on-start>1</load-on-start>
    </servlet>
    <servlet-mapping>
        <servlet-name>springDisPatcherServlet</servlet-name>
        <!-- 应答所以请求 -->
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    

    加入SpringMVC配置文件springmvc.xml

    创建xml,选择beans/context/mvc

    <!--启用spring的一些annotation -->
    <context:annotation-config/>
    
    <!-- 配置注解驱动 可以将request参数与绑定到controller参数上 -->
    <mvc:annotation-driven/>
    
    <!-- 静态资源默认servlet配置 -->
    <mvc:default-servlet-handler/>
    
    <!-- 配置自动扫描的包:解析action(controller) -->
    <context:component-scan base-package="com.xxx.xxx"></context:component-scan>
    
    <!-- 配置视图解析器: 如何把handler 方法返回的值解析成实习的物理视图 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 前缀 -->
        <property name="prefix" value="/WEB-INF/views"></property>
        <!-- 后缀 -->
        <property name="suffix" value=".jsp"></property>
    </bean>
    

    RequestMapping 注解

    1.Spring MVC 使用@RequestMapping 注解为控制器指定可以处理那些URL请求

    2.在控制器的类定义及方法定义出都可以标注

    @RequestMapping

    - 类定义出:提供初步的请求映射信息。相对于WEB应用的根目录
    - 方法处:提供近异步的细分映射信息。相对于类定义处的URL。若类定义处未标注@RequestMapping,则方法标记的URL相对于WEB应用的跟目录
    

    3.DispacherServlet截获请求后,就通过控制器上@RequestMapping提供的映射信息确定请求所对应的处理方法

    4.@RequestMapping 的value、method(POST,GET)、params{}及headers{"head=value1"}分别表示请求URL、请求方法、请求参数及请求头的映射条件。

    5.params及headers支持简单的表达式

    - param1:表示请求必须包含名为param1的请求参数
    - !param1:表示请求不能包含名为param1的请求参数
    - param1 != value1:表示请求包含名为param1的请求参数,但其值不能为value1
    - {"param1=value1","param2"}:请求必须包含名为param1和param2的两个请求参数,且param1参数的值必须为value1
    

    6.@RequestMapping 映射请求支持Ant 风格的URL

    Ant 风格资源地址支持3种匹配符

    - ?:匹配文件名中的一个字符,如:/user/createUser??匹配/user/createUserAA等
    - * :匹配文件名种的任意字符,如:/user/*/createUser匹配/user/aaa/createUser等
    - **:匹配多层路径,如:/user/**/createUser匹配/user/createUser、/user/aaa/bbb/createUser等
    

    7.@PathVariable 映射URL绑定的占位符

    - 带占位符的RUL是Spring3.0 新增的功能,该功能在SpringMVC向 REST 目标挺进发展过程中具有里程碑的意义
    - 通过@PathVariable 可以将URL中占位符参数绑定到控制处理方法的入参中:URL中的{xxx}占位符可以通过@PathVariable("xxx")绑定到操作方法的入参中
            @RequestMapping("/deleteUser/{userid}")
            public String deleteUser(@PathVariable("userid")Integer userid){
                ...
            }
    

    8.@CookieValue 注解:映射一个Cookie值

            @RequestMapping("/testCookieValue")
            public String testCookieValue(@CookieValue("cookieKey")String cookieValue){
                ...
            }
    

    9.使用POJO对象绑定请求参数值

    Spring MVC 会按请求参数名和POJO 属性名进行自动匹配,自动为该对象填充属性值。支持 级联属性(属性是一个对象,属性的属性)。如:dept.deptid/dept.address.tel等
            @RequestMapping("/testPojo")
            public String testPojo(User user){ // 前端提交表单
                ...
            }
  • 相关阅读:
    无法打开内核设备"\.Globalvmx86": 系统找不到指定的文件问题记录
    docker使用switch to Linux Containers切换不成windows问题
    js设计模式——发布订阅模式
    剑指offer系列——求1+2+…+n
    【转载】CSS3弹性盒布局方式
    【转载】.btc勒索病毒删除+还原文件(Dharma家族新成员)
    【转载】chrome浏览器的跨域设置——包括版本49前后两种设置
    【转载】SVN使用教程总结
    【转载】vue.js移动端app
    【转载】将web项目打包成手机app的方法
  • 原文地址:https://www.cnblogs.com/www-123456/p/10864276.html
Copyright © 2011-2022 走看看