精华内容
下载资源
问答
  • springmvc注解

    2017-06-30 19:32:14
    springmvc注解的使用
  • springmvc 注解

    2013-05-07 18:00:59
    springmvc 注解
  • SpringMVC注解

    2015-03-29 21:48:50
    SpringMVC注解@RequestParam全面解析
  • SpringMVC注解式开发搭建环境后端控制器无需实现接口,添加相应注解springmvc配置文件无需注册controllerspringmvc配置文件中添加组件扫描器、注解驱动<mvc:annotation-driven />注解驱动<mvc:annotation-...

    SpringMVC注解式开发

    搭建环境

    1. 后端控制器无需实现接口,添加相应注解
    2. springmvc配置文件无需注册controller
    3. springmvc配置文件中添加组件扫描器、注解驱动<mvc:annotation-driven />

    注解驱动<mvc:annotation-driven />

    • <mvc:annotation-driven /> 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,并提供了:数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)等等

    常用注解

    @Controller、@RequestMappin、@Scope

    注解开发之视图解析器

    可以对返回文件类型的前缀和后缀名进行自动拼接,只需返回文件的文件名。

    <!--注册组件扫描器  -->
    	<context:component-scan base-package="com.sxt.handlers"></context:component-scan>
    <!--注册注解驱动 -->
    	<mvc:annotation-driven />
    <!--注册视图解析器  -->
    	<bean  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    		<property name="prefix" value="/jsp/"></property>
    		<property name="suffix" value=".jsp"></property>
    	</bean>	

    处理器方法常用参数

    • 1HttpServletRequest
    • 2 HttpServletResponse
    • 3 HttpSession
    • 4用于承载数据的Model、Map、ModelMap
    • 5 请求中所携带的请求参数

    接收请求参数

    1 逐个接收 (涉及注解@RequestParam)

    666f3c24cc66426adc40836e653f8103.png

    2 以对象形式整体接收

    4a7ea95fd2195b3fb1585fd7149607ff.png

    3 域属性参数的接收

    fa4fa6609210c14bf228c80e694e6d76.png

    4. 数组或集合参数的接收

    4f74e89a0fe78563dcb0c8799fc8e00d.png

    5 restfull风格,传参(涉及注解@ PathVariable)

    restful风格传参它的参数时作为路径里的一部分。

    ebb84f33017c062409c98ecef785b89b.png

    6 接收json

    需要注解@RequestBody,注册mvc注解驱动,导入jackson包

    JSP发送Ajax:

    6a3dda4889055df033288452fc0c9f35.png

    控制层接收:

    284e0914eece62150ab631c8a13e9b8c.png

    7获取请求头信息

    4062c2e3467768192bc09b1376210626.png

    处理器方法的返回值类型

    ModelAndView

    2938c3925ee8aac56d075da4a4e89c60.png

    String

    facf7aa9c556806d80efb50d43a86a29.png

    void

    9b5b1243b32d466ec1e7450ef025a028.png

    Object

    需要注解@ResponseBody ,注册mvc注解驱动,导入jackson2.5.jar包

    5ac10158c804328ac3ec5f15d339dab8.png
    展开全文
  • springMVC注解

    2014-06-17 15:10:39
    springMVC架构的注解记录笔记,来给大家共享下!
  • springmvc注解方式

    2017-04-25 18:52:15
    springmvc注解方式
  • springMVC注解 框架

    2016-09-14 10:38:32
    springMVC注解 框架
  • SpringMVC 注解和非注解demo。有关注解方式和非注解方式的讲解和demo
  • [SpringMVC] SpringMVC注解

    2017-06-17 18:15:53
    SpringMVC注解 SpringMVC注解Demo 路径传参 跳转与重定向

    [白话] SpringMVC中可以在配置文件spring-mvc.xml中声明你要用的东西;
    也可以用注解(@方式)的方式,告诉它 你写的这个东西 是 这个用途

    SpringMVC注解类型

    优点
    一个控制器类可以处理多个动作
    不需要存储在配置文件中

    controller注解类型

    org.springframework.stereotype.Controller注解类型用于指示spring类的实例是一个控制器
    1. 设置控制器

        @Controller
        public class CustomerController{
    
        }
    

    2. 声明spring-context
    Spring使用扫描机制来找到应用程序中所有基于注解的控制器类
    [白话]你写的注释要让他看到,你就要告诉他指定地方有,去那里找一遍
    为了保证Spring能找到控制器,需要在SpringMVC配置文件中声明spring-context,应用

        <?xml version="1.0" encoding="utf-8"?>
        <beans ...
            xmlns:context="http://wwww.springframework.org/schema/context"
        ...>
        <context:compoent-scan base-package="com.example.controller" />
        //指定控制器类的基本包,所有控制器都在com.example.controller及其子包下
    </beans>
    

    requestMapping注解类型

    要让Spring知道用哪一种方法类处理它的动作,需要使用
    org.springframework.web.bind.annotation.RequestMapping注解类型映射的URL方法
    RequestMapping映射一个请求和一种方法,并由调度程序在接收到对应URL请求时调用
    [白话] 用户想要苹果,告诉它去柜台1拿;用户想要梨,告诉它去柜台2拿
    用户要的动作即请求(request),要的是苹果,对应到 柜台1
    此注释就是说 这个柜台(Controller) 是 放苹果的(处理相应请求)

    使用

    @Controller
    public class CustomerController{
        @RequestMapping(value="/customer_input")
        public String inputCustomer() {
            return "CustomerForm";
        }
    }
    

    属性介绍

    value属性将URL映射到方法,如果只有唯一的属性,则可以省略属性名称

    @RequestMapping("/customer_input")
    //methoed属性指定该方法仅处理那些HTTP方法
    @RequestMapping(value="/order_process",
        method={RequestMethod.POST,RequestMethod.PUT}
    )
    

    url访问

    url/类的RequestMapping/方法的ReqeustMapping

    编写请求处理方法

    每个请求处理方法可以有多个不同类型的参数,和一个多种类型的返回结果

    参数类型

    * javax.servlet.ServletRequest或javax.servlet.http.HttpServletRequest
    * javax.servlet.ServletResponse或javax.servlet.http.HttpServletResponse
    * javax.servlet.http.HttpSession
    * org.springframework.web.context.request.WebRequest或org.springframework.web.context.request.NativeWebRequest
    * java.util.Locale
    * java.io.InputStream或java.io.Reader
    * java.io.OutpoutStream或java.io.Writer
    * java.security.Principal
    * HttpEntity<?>
    * java.util.Map/org.springframework.ui.Model/
    * org.springframework.ui.ModelMap
    * org.springframework.web.servlet.mvc.suppot.RedirectAttributes
    * org.springframework.validation.Errors/
    * org.springframework.validation.BindingResult
    

    命令或表单对象

    * org.springframework.web.bind.suppot.SessionStatus
    * org.springframework.web.util.UriCompoentsBuilder
    * 带@PathVariable,@MatrixVariable注解的对象
    * @RequestParam,@RequestHeader,@RequestBody,@RequestPart
    

    返回类型

    * ModelAndView
    * Model
    * Map包含模型的属性
    * View
    * 代表逻辑视图名的String
    * void
    * 提供对Servlet的访问,以响应HTTP头部和内容HttpEntity或ResponseEntity对象
    * Callable
    * DeferredResult
    * 其他任意类型,Spring将其视作输出给View的对象模型
    

    △org.springframework.ui.Model类型,这不是一个Servlet API类型,而是一个包含Map的SpringMVC类型。每次调用请求处理方法时,SpringMVC都创建Model对象并将各种对象注入Map中

    例子springmvc_first_b

    新增了一个名为index.html的HTML文件,以便SpringMVCServlet的URL模式设置为/时,依然可以访问静态资源
    ProdcutController的saveProduct方法的第二个参数时org.springframework.ui.Model类型;
    无论是否使用,SpringMVC都会在每一个请求处理方法被调用时创建一个Model实例,使用Model的主要母的是添加需要在视图中显示的属性

    应用@Autowired和@Service进行依赖注入

    Autowired注解类型属于org.springframework.beans.factory.annotation包
    为了能作为依赖注入,类必须要注明为@Service(org.springframework.stereotype)
    Service注解类型指示类是一个服务,此外在配置文件中,需要添加一个扫描元素来扫描依赖基本包

    重定向与转发

    • 重定向:
      你请求的东西我这里处理不了,你去B地办理
    • 转发:
      你这个东西我这里办理不了,不过我们公司别的部分可以做,我帮你给他们
    • 区别:
      1. 重定向经过客户端,而转发却没有,转发比重定向更快
      2. 若重定向到一个外部网站,则无法使用转发
      3. 避免在用户加载页面时再次调用同样的动作
        提交表单时候重新加载页面,保存的业务代码再次调用,保存两份数据
      4. 重定向无法轻松地传值给目标页面,而转发可以简单地将属性添加到Model,使得目标视图可以轻松访问
        重定向经过客户端,所以Model的一切都在重定向时丢失;
        Spring3.1版本开始通过flash属性提供了一种供重定向传值的方法
    • 使用
      1. SpringMVC配置文件中添加元素
      2. 在方法上添加一个新的参数类型
        org.springframework.web.servlet.mvc.support.RedirectAttributes

    请求参数和路径变量

    说明

    两者都是url传参
    ①请求参数:url?key1=value1&key2=value2
    取值 httpServletRequest.getParameter(“key”)
    ②路径变量:url/value1/value2
    取值 public void sendProduct(@RequestParam int productId)
    ③问题:会与url冲突

    使用路径变量

    @ReqeustMapping("/product_view/{id}")
    public String viewProduct(@PathVariable Long id,Model model) {
        Product product = productService.get(id);
        model.addAttribute("product",product);
        return "ProductView";
    }
    //可使用多个路径变量
    @RequestMapping("/product_view/{userId}/{orderId}")
    

    动作、路径变量、url冲突解决方案

    <style type="text/css">@import url(css/main.css);</style>
    -->
    <style type="text/css">
        @import url("<c:url value="/css/main.css"/>");
    </style>
    

    例子springmvc_autowiredservice_test

    应用@Autowried flash属性 路径变量

    @ModelAttribute
    @RequestMapping(method=Request.POST)
    public String submitOrder(@ModelAttribute("newOrder") Order order,Model model) {
        ... //输入或创建Order实例将用newOrder键值添加到Model对象中
    }
    

    第二个用途:标注一个非请求的处理方法
    被@ModelAttribute注解的方法会在每次调用该控制器类的请求处理方法时被调用
    意味着,如果一个控制器类有两个请求处理方法,以及一个有@ModelAttribute注解方法
    该方法的调用就回比每个处理请求方法更频繁
    @ModelAttribute注解的方法可以返回一个对象或者一个void类型,如果返回一个对象,则返回的对象会自动添加到Model中

    工程下载

    链接:http://pan.baidu.com/s/1hrJhLi8 密码:1sdl
    若链接失效请留言

    展开全文
  • 资源是springMVC注解和非注解两个版本
  • SPRINGMVC 注解范例程序

    2016-10-28 08:58:22
    SPRINGMVC 注解范例程序
  • 主要介绍了springmvc注解配置实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,440
精华内容 10,176
关键字:

springmvc注解

spring 订阅