SpringMVC基础

整理一下关于我用到的springMVC的东西

1 执行过程

a 发送请求后被DispatchServlet截取

b DispatchServlet对请求URL进行解析,得到资源标识符(URL),然后根据资源标识符HandlerMapper,将请求映射到处理器HandlerExecutionChain

c DispatchServlet根据获得的Handler选择一个HandlerAdapter适配器处理

d Handler对数据处理后返回一个 ModelAndView()对象给DispatchServlet;

e DispathcherServlet 通过ViewResolver视图解析器将视图转化为真正的View

h . DispatcherServlet 通过 model 解析出 ModelAndView()中的参数进行解析最终展现出完整的 view 并返回给
客户端;

2 Restful风格的实现:如下,

controller中如下即可:主要是@PathVariable注解的使用,用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数


    @RequestMapping("/item/{itemId}")
    public String getItem(@PathVariable Long itemId, Model model){

        Item item = new Item(itemService.getTbItemById(itemId));

        TbItemDesc desc = itemService.getTbItemDescById(itemId);

        model.addAttribute("item", item);
        model.addAttribute("itemDesc", desc);
        return "item";
    }

还需要在web.xml中的DispatcherServlet设置


<servlet>
        <servlet-name>taotao-item-web</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring/springmvc*.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>taotao-item-web</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>

1 常用注解

@PathVarable

用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数

@RequestParam

填写参数(如form表格中的数据)

常用属性 defaultValue 表示设置默认值,required 铜过boolean设置是否是必须要传入的参数,value 值表示接受的传入的参数类型。

@RequestMapping

请求url路径

常用属性 value,method,produces=MediaType.APPLICATION_JSON_UTF8_VALUE(jsonp时用到)

@ReponseBody 返回json使用
@RequestBody 接收json用
原文地址:https://www.cnblogs.com/zzl521/p/10122131.html