zoukankan      html  css  js  c++  java
  • vue初探(构建一个axios+java项目)

    在组件vue文件中变量都是整个作用域,不可使用this。在js文件,this用于指代data中的变量。

    一. 环境搭建

    1.安装node.js,从node.js官网下载并安装node,安装过程很简单,一路“下一步”就可以了(傻瓜式安装)。安装完成之后,打开命令行工具(win+r,然后输入cmd),输入 node -v,如下图,如果出现相应的版本号,则说明安装成功。

    2.安装淘宝镜像。windows下安装。。

      linux下安装。。。

    打开命令行工具,把这个(npm install -g cnpm --registry= https://registry.npm.taobao.org)复制(这里要手动复制就是用鼠标右键那个,具体为啥不多解释),安装这里是因为我们用的npm的服务器是外国,有的时候我们安装“依赖”的时候很很慢很慢超级慢,所以就用这个cnpm来安装我们说需要的“依赖”。安装完成之后输入 cnpm -v,如下图,如果出现相应的版本号,则说明安装成功。
     
    • 安装webpack,打开命令行工具输入:npm install webpack -g,安装完成之后输入 webpack -v,如下图,如果出现相应的版本号,则说明安装成功。

       
    • 安装vue-cli脚手架构建工具,打开命令行工具输入:npm install vue-cli -g,安装完成之后输入 vue -V(注意这里是大写的“V”),如下图,如果出现相应的版本号,则说明安装成功。
    二. 构建一个axios+java项目
    • 在硬盘上找一个文件夹放工程用的。这里有两种方式指定到相关目录:①cd 目录路径 ②如果以安装git的,在相关目录右键选择Git Bash Here
    • 安装vue脚手架输入:vue init webpack exprice ,注意这里的“exprice” 是项目的名称可以说是随便的起名,但是需要主要的是“不能用中文”。

      $ vue init webpack exprice --------------------- 这个是那个安装vue脚手架的命令
      This will install Vue 2.x version of the template. ---------------------这里说明将要创建一个vue 2.x版本的项目
      For Vue 1.x use: vue init webpack#1.0 exprice
      ? Project name (exprice) ---------------------项目名称
      ? Project name exprice
      ? Project description (A Vue.js project) ---------------------项目描述
      ? Project description A Vue.js project
      ? Author Datura --------------------- 项目创建者
      ? Author Datura
      ? Vue build (Use arrow keys)
      ? Vue build standalone
      ? Install vue-router? (Y/n) --------------------- 是否安装Vue路由,也就是以后是spa(但页面应用需要的模块)
      ? Install vue-router? Yes
      ? Use ESLint to lint your code? (Y/n) n ---------------------是否启用eslint检测规则,这里个人建议选no
      ? Use ESLint to lint your code? No
      ? Setup unit tests with Karma + Mocha? (Y/n)
      ? Setup unit tests with Karma + Mocha? Yes
      ? Setup e2e tests with Nightwatch? (Y/n)
      ? Setup e2e tests with Nightwatch? Yes
      vue-cli · Generated "exprice".


    3.<重点>cd 命令进入创建的工程目录,首先cd exprice(这里是自己建工程的名字);
    4.在package.json文件,加入axios
      "dependencies": {
        "axios": "^0.17.0",
        "vue": "^2.5.2",
        "vue-router": "^3.0.1"
      },

    5 . 在config下的index.js配置代理,将proxyTable{}配置为
       proxyTable: {
          /**
           * npm代理,解决调试接口中,跨域问题
           * */
          '/api': {
            target: 'http://192.168.1.91:8090', // 接口地址
            changeOrigin: true,
            pathRewrite: {
              '^/api': ''
            }
          }
    
        },

    6. 在src下的main.js引入axios,

    // The Vue build version to load with the `import` command
    // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
    import Vue from 'vue'
    import App from './App'
    import router from './router'
    Vue.config.productionTip = false;
    
    import axios from 'axios';
    let axiosIns = axios.create({
      // 发布
      baseURL:'/',
      // 开发
      baseURL: '/api/',
    });
    Vue.prototype.$http = axiosIns;
    
    /* eslint-disable no-new */
    new Vue({
      el: '#app',
      router,
      template: '<App/>',
      components: { App }
    })

    7. 在hello.vue 中添加表单和方法,这样vue前端就配置完了。

    <template>
      <div class="hello">
         <input type="text" v-model="tip"/>
            <input type="button" @click = "aa"/>
      </div>
    </template>
    
    <script>
    export default {
      name: 'HelloWorld',
      data () {
        return {
          msg: 'Welcome to Your Vue.js App',
          tip :''
        }
      },
         methods:{
             aa(){
               let self = this;
                this.$http.post('/vprocesslogin',
                 {tip:self.tip})
                 .then(function (response) {
                if (response.data.success) {
                   console.log(response);
                 }
               })
             }
           }
    }
    </script>
    8. 安装axios 依赖npm install axios --save
    9.安装项目依赖:npm install,因为自动构建过程中已存在package.json文件,所以这里直接安装依赖就行。
    10。npm run dev 即可运行。

    8. java后台配置

    tomcat配置server.xml的Context的path要配为“/”

    <Context path="/" docBase="*******" debug="0" reloadable="true" crossContext="true" />

    struts配置,写一个jsonaction,添加json拦截器。其他写法保持原ssh框架不变。

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
            "http://struts.apache.org/dtds/struts-2.3.dtd">
    <!-- Struts2配置文件的根元素 -->
    <struts>  
        <package name="struts-demo" extends="struts-main">    
        <interceptors>
            <interceptor-stack name="demostack">
                <interceptor-ref name="defaultStack" />
                <interceptor-ref name="json"/>
            </interceptor-stack>
        </interceptors>    
            <action name="vprocesslogin" class="vLoginAction" method="vprocesslogin"> 
                 <result type="json" /> 
                 <interceptor-ref name="demostack" />
            </action> 
        </package>
    </struts>

    这样后台action就能收到vue前台提交上来的数据

        public String getTip() {
            return tip;
        }
    
        public void setTip(String tip) {
            this.tip = tip;
        }
    
        public String getForwardUrl() {
            return forwardUrl;
        }
    
        public void setForwardUrl(String forwardUrl) {
            this.forwardUrl = forwardUrl;
        }
    
        public String execute() throws Exception
        {
            return SUCCESS;
        }
    
        public void vprocesslogin() throws Exception
        {
            System.out.println(tip);
            System.out.println(tip);
            tip = "erty";
            System.out.println(tip);
        }


  • 相关阅读:
    小组互评以及自评
    构建之法的第十、十一、十二章读书笔记
    调研------典型用户及场景
    “吃神么,买神么”的第二个Sprint计划(总结)
    自动化单元测试工具 EvoSuite 的简单使用 【转载】
    2018(秋)软工作业 6:团队项目-软件设计
    2018(秋)软工作业 5:结对项目之词频统计——增强功能
    2018(秋)软工作业 4:结对项目之词频统计——基本功能
    2018(秋)软工作业 3:个人编程练习
    软件工程教学计划(2018-秋季)
  • 原文地址:https://www.cnblogs.com/mobaids/p/7789256.html
Copyright © 2011-2022 走看看