热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mui与springMVC前后端分离

这个小dome简单来说的前后端分离,通过跨域调用接口来显示数据。前端用到mui框架,主要来显示数据。后端用到Java的springMVC,restful服务来做增删改查管理,这里主要

 

这个小dome简单来说的前后端分离,通过跨域调用接口来显示数据。

前端用到mui框架,主要来显示数据。

后端用到Java的springMVC,restful服务来做增删改查管理,

这里主要实现动态显示商品,剩下那些数据都是写固定的,不是动态的。

先看没有数据的的样子

 

前端的商品显示:

 

 

后台的管理:

 核心代码

package com.lch.kyu.Controller;


import com.lch.kyu.entity.Hungry;
import com.lch.kyu.service.HungryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping(path = "/hungry")
public class HungryCo {

    @Autowired
    HungryService hungryService;

    //查询
    @RequestMapping(path = "", method = RequestMethod.GET)
    public AjaxState getAllHung() {
        List hungries=(hungryService.queryAllHungry());
        for (Hungry h:hungries
             ) {
            System.out.println(h.getName());
        }
        boolean result=hungries!=null;
        return new AjaxState(result?"success":"error",hungries,result?"获得数据成功!":"获得数据失败!");
    }

    //添加
    @RequestMapping(path = "", method = RequestMethod.POST)
    public AjaxState addhungry(@RequestBody Hungry hungry) {
        boolean result=hungryService.addHungry(hungry);

        return new AjaxState(result?"success":"error",hungry,result?"添加成功!":"添加失败");
    }

    //修改
    @RequestMapping(path = "", method = RequestMethod.PUT)
    public AjaxState updatehungry(@RequestBody Hungry hungry) {
        boolean result=hungryService.editHungry(hungry);
        return new AjaxState(result?"success":"error",hungry,result?"修改成功!":"修改失败");
    }

    //删除
    @RequestMapping(path = "/{id}", method = RequestMethod.DELETE)
    public AjaxState deleteHungryid(@PathVariable int id) {
        Boolean result=hungryService.deleteHungry(id);
        return new AjaxState(result?"success":"error",id,result?"删除成功!":"删除失败");
    }


}



class  AjaxState{
    public String state;
    public Object data;
    public String message;

    public AjaxState(String state, Object data, String message) {
        this.state = state;
        this.data = data;
        this.message = message;
    }

    public AjaxState(){}
}
View Code

注意:这里xml配置跨域,这里配置了跨域的端口号,前端那边才正常可以调用接口,要不然会报错。这里就举例了springMVC跨域,其实还有几个方法可以实现的。

                        
    <mvc:cors>
        <mvc:mapping path="/**"
             allowed-origins="http://127.0.0.1:8020,http://192.168.155.1:8020,http://192.168.2.105:8020,http://172.16.1.136:8020"
             allowed-methods="POST,GET, OPTIONS,DELETE,PUT"
             allowed-headers="Content-Type,ContentType,Access-Control-Allow-Headers, Authorization, X-Requested-With"
             allow-credentials="true"/>
    mvc:cors>
View Code

后台xml文件不配置端口号情况,相信做前后端的分离的人都见过这种情况

 

 

mui前端的代码,这里用的模板引擎来渲染页面

DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content=" />
    <title>分布式应用title>
   
    <link href="css/mui.min.css" rel="stylesheet"/>
    <link rel="stylesheet" href="css/Javascript.css" />
    <style>
        
    style>
head>
<body>
    
<div id="zui">
         
         <header class="mui-bar mui-bar-nav mui-bar-nav-bg herder-color">
               全国
             <a id="icon-menu" class="mui-action-back mui-pull-left">
                         
             a>
                     <a class="mui-action-back mui-icon mui-icon-home mui-pull-right mui-a-color  color">a>
            <h1 class="mui-title" id="mycss1">
                
                <div class="mui-input-row ">
                        <input type="search" class="mui-input-clear" placeholder="输入商户名,产品名">
                div>
            h1>
        header>
    
        <ul class="mui-table-view" id="center">
            <li class="mui-table-view-cell" id="tubiao">
                <div class="tjie">
                    
                        <div class="tu1">
                            
                                <img src="img/tb1.jpg" width="44" height="44"/>
                                
                                <div>美食div>    
                        div>
                                
                        <div class="tu1">
                            
                                <img src="img/tb2.jpg" width="44" height="44"/>
                                
                                <div>猫眼电影div>    
                        div>
                    
                        <div class="tu1">
                                <img src="img/tb3.jpg" width="44" height="44"/>
                                
                                <div>酒店div>    
                        div>
                        <div class="tu1">
                                <img src="img/tb4.jpg" width="44" height="44"/>
                                
                                <div>休闲娱乐div>    
                        div>
                        <div class="tu1">
                                <img src="img/tb5.jpg" width="44" height="44"/>
                                
                                <div>外卖div>
                        div>
                div>
                
                    <div class="tjie">
                    
                        <div class="tu1">
                            
                                <img src="img/tb6.jpg" width="44" height="44"/>
                                
                                <div>火锅div>    
                        div>
                                
                        <div class="tu1">
                            
                                <img src="img/tb7.jpg" width="44" height="44"/>
                                
                                <div>丽人div>    
                        div>
                    
                        <div class="tu1">
                                <img src="img/tb8.jpg" width="44" height="44"/>
                                
                                <div>购物div>    
                        div>
                        <div class="tu1">
                                <img src="img/tb9.jpg" width="44" height="44"/>
                                
                                <div>周边游div>    
                        div>
                        <div class="tu1">
                                <img src="img/tb10.jpg" width="44" height="44"/>
                                
                                <div>KTVdiv>
                        div>
                div>
                
                
            li>
           
        ul>
        
        <div id="dayi">
            <div class="dayi-o">
                <div class="dayi-right">
                    <div class="tt">好礼天天送div>
                    <div class="ren">人人有奖领div>
                div>
                <div class="dayi-left">
                    <img src="img/tb11.jpg" width="55" height="55"/>
                div>
            div>
            
            <div class="dayi-o1">
                <div class="dayi-right">
                    <div class="tt">100%中奖div>
                    <div class="ren1">送超豪华红包div>
                div>
                <div class="dayi-left">
                    <img src="img/tb12.jpg" width="55" height="55"/>
                div>
            div>
            
        div>
        
    <script src="js/jquery-1.11.3.min.js">script>
    <script src="artTemplate3/template.js" type="text/Javascript" charset="utf-8">script>
     <script src="js/mui.min.js">script>
        
        <ul class="mui-table-view" id="tab">
        ul>
              <script type="text/html" id="huns">
                  {{each list as pdt}}  
                        <li class="mui-table-view-cell mui-media">
            
                               <div class="bj"><img src="images/{{pdt.pic}}" class="da" ></div>
                               <div class="name ">{{pdt.name}}</div>
                               <div class="address mui-ellipsis">{{pdt.address}}</div>
                               <div class="price">{{pdt.price | round:''}}/人</span>
                                       <span class="qian">
                                        <del>
                                            199
                                        </del>
                                    </span>
                               </div>
                               
                              
                                <div class="volume">已售:{{pdt.volume}}</div>
                        </li>                         
                  {{/each}}
               script>

        
        
        <div id="footer">
           <nav class="mui-bar mui-bar-tab" id="foonter1">
                    <a class="mui-tab-item mui-active" href="#tabbar"  id="xin">
                        <span class="mui-icon mui-icon-home">span>
                        <span class="mui-tab-label">首页span>
                    a>
                    <a class="mui-tab-item" href="#tabbar-with-chat">
                        <span class="mui-icon mui-icon-email"><span class="mui-badge">88span>span>
                        <span class="mui-tab-label">添加span>
                    a>
                    <a class="mui-tab-item" href="#tabbar-with-contact">
                        <span class="mui-icon mui-icon-contact"><span class="mui-badge">12span>span>
                        <span class="mui-tab-label">我的span>
                    a>
                    <a class="mui-tab-item" href="#tabbar-with-map">
                        <span class="mui-icon mui-icon-gear">span>
                        <span class="mui-tab-label">设置span>
                    a>
            nav>
        div>
        
        
   div>
   
    <script type="text/Javascript" charset="utf-8">
    
var app = {
    //http://192.168.7.193:8020
    //http://192.168.155.1:8020
    init: function() {

        //为模板引擎定义辅助函数
        template.helper("round",function(value,mark){
            return (mark||"")+Math.round(value);
        }); //为模板引擎定义辅助函数
        this.query();
        
        this.sha();
    },    
    
    
    sha:function(){
        
        $("#xin").click(function(){
        
            /* location.href= location.reload();*/
            location.reload();
        });
            
    },
    
    query: function() {
        //192.168.155.1
        $.ajax("http://172.16.1.136:8080/hungry",{
            //type:请求方式
            type:"get" ,
            //服务器向客户端发送数据的类型,如:text,json
            dataType:"Json" ,
            success:function(data) {
                //alert(data);
                //console.log(data);
                $("#tab tr:not(:first)").remove();
                // $(data.data).each(function(index,hungry) {
                //     $("#tab").append(""+hungry.id+""+hungry.name+""+hungry.price+""+hungry.volume+""+hungry.address+"") ;
                // });
                $("#tab").append(template("huns",{list:data.data}));

            }
        });
    },
    
          
}
app.init();
    script>
body>
html>
View Code

后台的页面的页面代码

 View Code

 

 大概把学的重点的东西列出来了,写了一次就加深自已的记忆。菜鸟笔记


推荐阅读
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • 本文探讨了浏览器的同源策略限制及其对 AJAX 请求的影响,并详细介绍了如何在 Spring Boot 应用中优雅地处理跨域请求,特别是当请求包含自定义 Headers 时的解决方案。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 在寻找轻量级Ruby Web框架的过程中,您可能会遇到Sinatra和Ramaze。两者都以简洁、轻便著称,但它们之间存在一些关键区别。本文将探讨这些差异,并提供详细的分析,帮助您做出最佳选择。 ... [详细]
  • springMVC JRS303验证 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • EasyMock实战指南
    本文介绍了如何使用EasyMock进行单元测试,特别是当测试对象的合作者依赖于外部资源或尚未实现时。通过具体的示例,展示了EasyMock在模拟对象行为方面的强大功能。 ... [详细]
  • 本文探讨如何利用Java反射技术来模拟Webwork框架中的URL解析过程。通过这一实践,读者可以更好地理解Webwork及其后续版本Struts2的工作原理,尤其是它们在MVC架构下的角色。 ... [详细]
  • 本文介绍了如何通过扩展 Panel 控件来实现滚动条位置的自动保存和恢复。类似于 Page 的 MaintainScrollPositionOnPostBack 属性,我们将在自定义的 TBPanel 控件中添加相同的功能。 ... [详细]
  • 尽管PHP是一种强大且灵活的Web开发语言,但开发者在使用过程中常会陷入一些典型的陷阱。本文旨在列出PHP开发中最为常见的10种错误,并提供相应的预防建议。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 掌握Mosek矩阵运算,轻松应对优化挑战
    本篇文章继续深入探讨Mosek学习笔记系列,特别是矩阵运算部分,这对于优化问题的解决至关重要。通过本文,您将了解到如何高效地使用Mosek进行矩阵初始化、线性代数运算及约束域的设定。 ... [详细]
  • 本文探讨了在React项目中实现子组件向父组件传递数据的方法,包括通过回调函数和使用React状态管理工具。 ... [详细]
  • 本文将详细探讨 Linux 系统中的 netstat 命令,该命令用于查看网络状态和连接情况。通过了解 IP 地址和端口的基本概念,我们将更好地理解如何利用 netstat 命令来监控和管理网络服务。 ... [详细]
author-avatar
ZQ我是疯癫小karmenRJ
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有