zoukankan      html  css  js  c++  java
  • 前端到后端路径

    大规律:
    页面:事件源-->绑定事件-->处理函数-->数据校验-->发送请求和数据-->处理响应结果展示给用户
    后台: 接收请求-->接收数据-->转发业务层(业务处理)-->持久层(CRUD)-->业务层-->表现层-->页面

    使用ElementUI来构建页面,在页面上引入 js 和 css 文件即可开始使用    
    
    index.css、vue.js、index.js
    
    ```html
    <!-- 引入ElementUI样式 --> 
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme- chalk/index.css"> <script src="https://unpkg.com/vue/dist/vue.js"></script> 
    <!-- 引入ElementUI组件库 --> 
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>
    ```
    
    ​    使用Vue:
    
    ```
    <script src="js/vuejs-2.5.16.js"></script> 
    ``
    
            Vue:
                <html>
                    <head>
                        <script src="vue.js"></script>
                        <script src="axios.js"></script>
                    </head>
                    <body>
                        <div id="app">
                            v-model:作用:将Vue中的数据更新到表单项value属性上
                            v-bind:/:
                            v-if:
                            v-for:遍历
                            v-on:/@:<button @click="fun('这是使用vue绑定的点击事件')">vue的onclick</button>
                        </div>
                        
                        <script>
                            new Vue({
                                el:'#app',
                                datas:{
                                    属性名:属性值,...
                                },
                                //定义方法
                                methods:{
                                    method:function(){},
                                    method2(){
                                        //发送异步请求,axios
                                        axios.get(url?key=value&...)
                                            .then((res)->{})
                                            .catch(()->{})
                                            .finally(()->{});
                                        axios.post(url,data)
                                            .then((res)->{})
                                            .catch(()->{})
                                            .finally(()->{});
                                    }
                                },
                                //钩子函数,VUE对象初始化完成后自动执行
                                created(){
                                
                                },
                        
                                mounted(){
                                
                                }
                            });
                        </script>
                    </body>
                </html>
                
                
        created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
        mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。
        
        其实两者比较好理解,通常created使用的次数多,而mounted通常是在一些插件的使用或者组件的使用中进行操作,比如插件chart.js的使用: var ctx = document.getElementById(ID);通常会有这一步,而如果你写入组件中,你会发现在created中无法对chart进行一些初始化配置,一定要等这个html渲染完后才可以进行,那么mounted就是不二之选。
        ————————————————
        ElementUI:复制粘贴修改   table  form  pagination ...
        
        
        
        》后台 
            表现层(SpringMVC)-->Controller
                @Controller+@ResponseBody / @RestController
                接收页面请求
                    (类+方法)@RequestMapping/@GetMapping/@PostMapping/@DeleteMapping/@PutMapping
                接收页面参数
                    简单数据类型
                        url?id=x&name=y  @RequestParam
                        url/x/y    @PathVariable
                    application/json:@RequestBody
                    接收集合
                转发业务层
                    @Reference
                    @Autowired
                响应结果
                    @ResponseBody
                    
                @RestController
                @RequestMapping("/xxx")
                public class XxxController{
                
                    @Reference / @Autowired
                    private XxxService xxxService;
                    
                    @RequestMapping/@GetMapping/@PostMapping/@DeleteMapping/@PutMapping
                    public xxx methodName(...){
                        
                    }
                }
            业务逻辑
                @Service
                @Transactional
                @Autowired
                
                serverInterface
                    public interface XxxService{
                        public xxx methodName(...);
                    }
                serviceImpl
                @Server
                @Transactional
                public class XxxServiceImpl implements XxxService{
                    public xxx methodName(...){
                        
                    }
                }
            持久层
                Mybatis
                    Mapper.java
                    public interface XxxMapper{
                        public xxx methodName(...);
                    }
                    Mapper.xml
                        规则:
                            (1)映射文件中的namespace要和接口的类全名保持一致
                            (2)映射文件中的statementId(statment:select update delete select)要和接口的方法名一致
                            (3)映射文件中的parameterType要和接口方法的参数一致
                            (4)映射文件中的resultType/resultMap要和接口方法的返回值一致
                            SQL / resultMap / <sql> <where> <if> <selectKey>
        domain
        数据库表
  • 相关阅读:
    leetcode701. Insert into a Binary Search Tree
    leetcode 958. Check Completeness of a Binary Tree 判断是否是完全二叉树 、222. Count Complete Tree Nodes
    leetcode 110. Balanced Binary Tree
    leetcode 104. Maximum Depth of Binary Tree 111. Minimum Depth of Binary Tree
    二叉树
    leetcode 124. Binary Tree Maximum Path Sum 、543. Diameter of Binary Tree(直径)
    5. Longest Palindromic Substring
    128. Longest Consecutive Sequence
    Mac OS下Android Studio的Java not found问题,androidfound
    安卓 AsyncHttpClient
  • 原文地址:https://www.cnblogs.com/aaaazzzz/p/12791143.html
Copyright © 2011-2022 走看看