注解开发

作者: 常威爆打来福 | 来源:发表于2018-04-26 20:41 被阅读8次

一 @RequestMapping注解

定义controller方法对应的url,进行处理器映射的使用

1 为了对url进行分类管理,可以定义根路径,最终访问路径url是:根路径+子路径
窄化请求映射

例:图中请求路径 :/items/queryItems

2 限制http请求方法

1 首先在form表单中设置提交方式为post


设置提交方式

2 在controller中限制访问请求为get


限制访问请求
错误页面
3 在controller中限制访问请求为get和post
设置提交方式
成功

二 controller方法返回值

1 返回 ModelAndView

需要方法结束时,定义ModelAndView,将model和view分别进行设置

    public ModelAndView queryItems() throws Exception {
        List<ItemsCustom> list = itemsService.findItemsList(null);
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("items", list);
        modelAndView.setViewName("index");
        return modelAndView;
    }

2 返回 String

(1)如果controller方法返回String,表示返回逻辑视图名。
真正视图(jsp路径)=前缀+逻辑视图+后缀

    @RequestMapping("/queryItems")
    public String queryItems(Model model) throws Exception {
        List<ItemsCustom> list = itemsService.findItemsList(null);
        model.addAttribute("items", list);
        return "index";
    }
测试结果

(2)redirect 重定向
特点:url地址会发生变化。修改提交的request数据无法传到重定向的地址,因为重定向后重新进行request。(request无法共享)

    @RequestMapping(value = "/editItemsSubmit",method = {RequestMethod.GET,RequestMethod.POST})
    public String editItemsSubmit() throws Exception {

        return "redirect:/items/queryItems.action";
    }

(3)forward 页面转发
特点:url地址不会发生变化。request可以共享

    @RequestMapping(value = "/editItemsSubmit",method = {RequestMethod.GET,RequestMethod.POST})
    public String editItemsSubmit() throws Exception {
        return "forward:/items/queryItems.action";
    }
url没有发生变化
(4) 小结
通过上面例子我们可以发现在创建controller方法时,可以携带参数。例如
public String queryItems(Model model) throws Exception
public String queryItems(public String editItemsSubmit(HttpServletRequest request) throws Exception) throws Exception

3 返回 void

在controller方法形参上可以定义request和response,使用request或response指定响应结果
(1)使用request转向页面

request.getRequestDispatcher("url").forward(request,response);

(2)通过response页面重定向

response.sendRedirect("url");

(3)指定响应结果

       response.setCharacterEncoding("utf-8");
        response.setContentType("application/json;charset=utf-8");
        response.getWriter().write("json串");

相关文章

  • 注解开发

    注解开发1 配置文件 service注解 service注解开发时的引用对象代码 测试类 注解开发2 配置文件 s...

  • 七、Spring的Bean管理XML方式与注解方式比较

    XML 和注解: XML :结构清晰. 注解 :开发方便.(属性注入.)实际开发中还有一种 XML和注解结合开发:...

  • Android 注解检测、限制操作

    Android 开发中资源常量限制注解: Android开发中权限申请提示注解: 数值常量注解:

  • 105、【JavaEE】【Mybatis】注解开发

    1、概述 使用注解开发,就不需创建相应的映射配置文件。 注解开发、映射配置文件开发各有优劣。注解开发和 XML 配...

  • SSH框架之Spring进阶IOC注解开发(二)

    第一节:IOC的注解开发 1.1 Spring注解开发入门 在Spring4的版本中,若使用注解除了引入开发包以为...

  • Mybatis高级阶段

    Mybatis基于注解开发 这几年来注解开发越来越流行,Mybatis也可以使用注解开发方式,这样我们就可以减少编...

  • Spring-基础使用

    零、本文纲要 一、Spring基础 相关依赖 xml文件开发 半注解开发 纯注解开发 一、Spring基础 1. ...

  • spring mvc 父子容器

    看本文之前首先需了解 spring注解驱动开发。可以看另外一篇文章spring注解,本文是在spring注解开发的...

  • Java注解

    什么是注解 注解对于开发人员来讲既熟悉又陌生,熟悉是因为只要你是做开发,都会用到注解(常见的@Override);...

  • 深入浅出Java注解

    什么是注解 注解对于开发人员来讲既熟悉又陌生,熟悉是因为只要你是做开发,都会用到注解(常见的@Override);...

网友评论

    本文标题:注解开发

    本文链接:https://www.haomeiwen.com/subject/yixulftx.html