• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xiaopengzi
V2EX  ›  程序员

jsp 页面+引入的 vue.js 令人头皮发麻我快窒息了 求救~~ 无论是大佬还是帅哥,帮我看看吧 555

  •  
  •   xiaopengzi · Sep 19, 2019 · 6261 views
    This topic created in 2609 days ago, the information mentioned may be changed or developed.
    首先有一个 jsp 页面,也配置相关路径 就叫他 one.jsp 吧

    这个页面大概长这样:
    <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
    <c:set var="root" value="<%=request.getContextPath()%>"></c:set>
    <!DOCTYPE html>
    <html class="orl">
    <head>
    <meta charset="UTF-8">
    <title>title</title>
    <%@include file="/WEB-INF/view/wechat/wxInclude.jsp"%>

    </head>
    <body>
    这里还有 jsp 的东西,
    <div id="app">
    引入的 vue 引入了路由,做了好几个组件
    </div>
    <script>
    console.log('${root}') //这个打印出来是项目的根径
    </script>
    各种 js 引入
    </body>
    </html>

    本地调试的时候
    我给 vue 的 axios 配置
    axios.defaults.baseURL = 'http://127.0.0.1:8087/';
    //axios.defaults.baseURL = './';
    Vue.prototype.$http = axios;
    然后请求
    var url = 'jxe/wechat/queryEmployeesByDepartmentId';
    this.$http.post(url,{
    'id': 492
    }).then(function(res){
    })

    就可以愉快的玩耍了,
    那么我现在要上线,

    该怎么办了?我犯了什么错么?求打醒 求指导
    Supplement 1  ·  Sep 20, 2019
    做惯了前后端分离的项目,以前只要打包出来扔到服务器上就完事了,

    现在这在 jsp 里引入 vue.js ,
    最关键的是数据接口都不是向外暴露的(不知道这句话有没有问题?),

    在用 ajax 获取数据的时候,
    对 axios.defaults.baseURL 就不知道怎么操作了,,
    后端也只会说告诉说页面加载不出来,锅扣到我头上,



    哎
    18 replies  •  2019-09-20 17:31:34 +08:00
    azh7138m
    azh7138m
    Sep 19, 2019
    1
    > 我犯了什么错么?

    语文没学好。
    Caballarii
    Caballarii
    Sep 19, 2019
    2
    什么问题的不说,解决啥
    o0
    o0
    Sep 19, 2019
    3
    没用 cli 的话,直接往测试服务器上扔吧。
    AreYou0k
    AreYou0k
    Sep 19, 2019❤️1
    4
    应该是替换一下 baseURL 吧
    arrow8899
    arrow8899
    Sep 19, 2019
    5
    本地怎么运行的?没搞明白你怎么把 jsp 和 vue 文件混在一起的
    chenlaocong
    chenlaocong
    Sep 19, 2019
    6
    我以前也改过 Vue 和 jsp 混合的代码
    chenlaocong
    chenlaocong
    Sep 19, 2019❤️1
    7
    你前端可以读取 url 的地址 判断是线上的还是本地的地址,再根据 url 修改请求地址
    redbuck
    redbuck
    Sep 19, 2019
    8
    改过.net 的 mvc 模板页面(.cshtml 那种,类似 jsp)

    看到一堆编辑器都不认识的语法头都大了。
    干脆用 webpack 写了多页构建配置。
    每个 entry 生成一个 cshtml,一个对应的 js,cshtml 空荡荡的,只引用一个 layout (后端的框架页面)以及那个 js。
    这样我就只要写熟悉的 js,vue,后端模板完全无关。
    xiaopengzi
    xiaopengzi
    OP
    Sep 20, 2019
    9
    @AreYou0k 敢问老哥,上线得时候 baseURl 换成什么?我可以获取到整个 jsp 所在的项目根目录,因为我也不懂在汤姆猫里上线之后到底是个什么情况,
    xiaopengzi
    xiaopengzi
    OP
    Sep 20, 2019
    10
    @redbuck 感谢老哥提供的思路,值的研究鼓捣一下
    xiaopengzi
    xiaopengzi
    OP
    Sep 20, 2019
    11
    @chenlaocong 我昨天下班之后要 baseURL 用 windows.laction 之类的方法,拼了一个完整的地址出来,本地没问题,不知道线上会怎么样,今天试一下
    xiaopengzi
    xiaopengzi
    OP
    Sep 20, 2019
    12
    @azh7138m 是我没表达清楚 不好意思 老铁,
    因为我也可能太大胆了,在公司老旧的 jsp 项目里面引入 vue

    (我做的都是只给微信浏览器访问的东西,引入一些 ui 也比较方便,交互写起来简单很多),
    所以,这样做可能本身就是一个错
    AreYou0k
    AreYou0k
    Sep 20, 2019❤️1
    13
    @xiaopengzi 你可以改成 localhost:8087 或者 0.0.0.0:8087 试试, 实在不行问后台.这个一般是上线后后台或者运维提供的
    azh7138m
    azh7138m
    Sep 20, 2019
    14
    @AreYou0k baseURL 当然是配置接入层 /服务器地址,这个就是请端发请求的时候用到的

    vue 不就是宣称自己 Progressive 吗?你这做法就是它着重处理的场景,其他框架通常不能与上个世纪的技术优雅共存。
    azh7138m
    azh7138m
    Sep 20, 2019
    15
    @azh7138m 前端发请求
    LongMaoz
    LongMaoz
    Sep 20, 2019❤️3
    16
    可能这就是屎山的起源吧
    Jie0zero
    Jie0zero
    Sep 20, 2019❤️1
    17
    上线...
    baseURL 去掉域名部分就好了,会自动读服务器本地域名的
    sadfQED2
    sadfQED2
    Sep 20, 2019 via Android
    18
    @LongMaoz 哈哈哈,下一个接手的人不知道内心什么感受
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   993 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 22:26 · PVG 06:26 · LAX 14:26 · JFK 17:26
    ♥ Do have faith in what you're doing.