栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC

目录

1.什么是MVC

1.1我们为什么要学习springmvc

2.第一个springmvc程序

2.1导入jar包

2.2创建一个子项目

2.3写web.xml

2.4写springmvc的配置文件

2.4.1处理器映射器

2.4.2处理器适配器

2.4.3视图解析器

2.5写Controller层

2.6测试

 2.7注意事项

3.使用注解开发

3.1写web.xml文件

3.2写spring.xml

4.写类实例

4.1@Controller

4.2@RequestMapping这个注解是指定url

5.RestFul风格

5.1@GetMapping注解是通过get请求来获取数据

5.2@postMapping是通过post请求来获取数据

6.转发和重定向

7.传输数据和接受数据

7.1普通类型

7.2接收对象

8.json

8.1导包

8.2乱码问题

8.3返回一个集合

 8.4返回一个时间

 8.5我们这样未免太繁琐我们可以写一个工具类

8.6Fastjosn的使用



1.什么是MVC

VC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。

MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器。

使用的MVC的目的:在于将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如Windows系统资源管理器文件夹内容的显示方式,下面两张图中左边为详细信息显示方式,右边为中等图标显示方式,文件的内容并没有改变,改变的是显示的方式。不管用户使用何种类型的显示方式,文件的内容并没有改变,达到M和V分离的目的。

1.1我们为什么要学习springmvc

1.1.11轻量级,简单易学,和spring兼容好无缝衔接

2.第一个springmvc程序

2.1导入jar包

这里我们选择导入到父工程里面

    
        
            junit
            junit
            4.12
        
        
            org.springframework
            spring-webmvc
            5.1.9.RELEASE
        
        
            javax.servlet
            servlet-api
            2.5
        
        
            javax.servlet.jsp
            jsp-api
            2.2
        
        
            javax.servlet
            jstl
            1.2
        
    

2.2创建一个子项目

 

不要点创建原型,然后点创建web模型就ok了

2.3写web.xml

里面有注释说明,这些代码都是死的拿过去用就ok了



    
  
      springmvc
      org.springframework.web.servlet.DispatcherServlet
      
      
          contextConfigLocation
          classpath:springmvc-servlet.xml
      
      
      1
  
    
    

2.6测试

 2.7注意事项

1.报404的话看看是不是jar少了如果有下面这些依赖就ok

 2.如果上面依赖都有看看,项目结构有没有lib包,如果没有建一个到web-inf下把那些依赖导入到这个lib包下,重启服务器就ok了


3.使用注解开发

3.1写web.xml文件

这里除了绑定spring.xml剩下的都是死的




    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
        
            contextConfigLocation
            classpath:springmvc-servlet.xml
        
        
        1
    
    
    
    
    
    
    


    
        
        
        
        
    
    
    
    
        
            
                
            
            
                
                    
                        
                    
                
            
        
    

 

这个就是解决json乱码的

	
    
        
            
                
            
            
                
                    
                        
                    
                
            
        
    


可以看到已经解决

8.3返回一个集合
 @RequestMapping("/j2")
    @ResponseBody
    private String json2() throws JsonProcessingException {
        ObjectMapper mapper=new ObjectMapper();
        List list=new ArrayList<>();
        Urse urse =new Urse("佳芬1号",19,"男");
        Urse urse2 =new Urse("佳芬2号",19,"男");
        Urse urse3 =new Urse("佳芬3号",19,"男");
        Urse urse4 =new Urse("佳芬4号",19,"男");
        list.add(urse);
        list.add(urse2);
        list.add(urse3);
        list.add(urse4);
        String str = mapper.writevalueAsString(list);
        return str;
    }

 8.4返回一个时间
  @RequestMapping("/j3")
    @ResponseBody
    private String json3() throws JsonProcessingException {
        ObjectMapper mapper=new ObjectMapper();
        Date date=new Date();
        
        SimpleDateFormat sif=new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");

        return mapper.writevalueAsString(sif.format(date));
    }

 8.5我们这样未免太繁琐我们可以写一个工具类
        public static String getJson(Object object) {
            return getJson(object,"yyyy-MM-dd HH:mm:ss");
        }
        public static String getJson(Object object,String dateFormat) {
            ObjectMapper mapper = new ObjectMapper();
            //不使用时间差的方式
            mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
            //自定义日期格式对象
            SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
            //指定日期格式
            mapper.setDateFormat(sdf);
            try {
                return mapper.writevalueAsString(object);
            } catch (JsonProcessingException e) {
                e.printStackTrace();
            }
            return null;
        }
    }

看集合和时间用json转字符串

  @RequestMapping("/j2")
    @ResponseBody
    private String json2() throws JsonProcessingException {

        List list=new ArrayList<>();
        Urse urse =new Urse("佳芬1号",19,"男");
        Urse urse2 =new Urse("佳芬2号",19,"男");
        Urse urse3 =new Urse("佳芬3号",19,"男");
        Urse urse4 =new Urse("佳芬4号",19,"男");
        list.add(urse);
        list.add(urse2);
        list.add(urse3);
        list.add(urse4);

        return jsonutil.getJson(list);
    }
    @RequestMapping("/j3")
    @ResponseBody
    private String json3() throws JsonProcessingException {

       Date date=new Date();
        return jsonutil.getJson(date);
    }

 

 这样我们代码就简洁很多了

8.6Fastjosn的使用

也是先导包,这个是阿里巴巴写的,支持国产

  
            com.alibaba
            fastjson
            1.2.60
        

然后来看实际的使用

 @RequestMapping("/j2")
    @ResponseBody
    private String json2() throws JsonProcessingException {

        List list=new ArrayList<>();
        Urse urse =new Urse("佳芬1号",19,"男");
        Urse urse2 =new Urse("佳芬2号",19,"男");
        Urse urse3 =new Urse("佳芬3号",19,"男");
        Urse urse4 =new Urse("佳芬4号",19,"男");
        list.add(urse);
        list.add(urse2);
        list.add(urse3);
        list.add(urse4);
        String str = JSON.toJSonString(list);

        return str;
    }
   @RequestMapping("/j3")
    @ResponseBody
    private String json3() throws JsonProcessingException {

       Date date=new Date();
       String str=JSON.toJSonStringWithDateFormat(date,"yyyy-MM-dd HH:mm:ss");
        return str;
    }

 

 我们在来玩一个好玩的

   @RequestMapping("/j2")
    private String json2() throws JsonProcessingException {

        List list = new ArrayList<>();
        Urse urse = new Urse("佳芬1号", 19, "男");
        Urse urse2 = new Urse("佳芬2号", 19, "男");
        Urse urse3 = new Urse("佳芬3号", 19, "男");
        Urse urse4 = new Urse("佳芬4号", 19, "男");
        list.add(urse);
        list.add(urse2);
        list.add(urse3);
        list.add(urse4);
        System.out.println("*******Java对象 转 JSON字符串*******");
        String str1 = JSON.toJSonString(list);
        System.out.println("JSON.toJSonString(list)==>"+str1);
        String str2 = JSON.toJSonString(urse2);
        System.out.println("JSON.toJSonString(user1)==>"+str2);

        System.out.println("n****** JSON字符串 转 Java对象*******");
       Urse jp_user1=JSON.parseObject(str2,Urse.class);
        System.out.println("JSON.parseObject(str2,User.class)==>"+jp_user1);

        System.out.println("n****** Java对象 转 JSON对象 ******");
        JSonObject jsonObject1 = (JSONObject) JSON.toJSON(urse2);
        System.out.println("(JSONObject) JSON.toJSON(user2)==>"+jsonObject1.getString("name"));

        System.out.println("n****** JSON对象 转 Java对象 ******");
        Urse to_java_user = JSON.toJavaObject(jsonObject1, Urse.class);
        System.out.println("JSON.toJavaObject(jsonObject1, User.class)==>"+to_java_user);
        return "hello";
    }

 后面就是整合ssm了springmvc到此结束

最后非常感谢狂神做的学习视频

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/292038.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号