java项目发布到服务器之后,中间的链接地址为什么还是localhost?

图片描述

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>后台管理系统</title>
<link href="/ehouse/css/admin/login.css" rel="stylesheet">
</head>
<body>
    <div class="container">
        <div class="login">
            <h1>盛世翌豪后台管理系统</h1>
                <p>
                    <input type="text" id="name" value="admin"
                        placeholder="用户名">
                </p>
                <p>
                    <input type="password" id="password" value=""
                        placeholder="密码">
                </p>
                
                <p class="submit">
                    <input type="submit" id="commit" value="登陆">
                </p>
        </div>

        
    </div>
    
</body>
</html>
<script type="text/javascript" src="/ehouse/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$("#commit").click(function(){
    var name =$("#name").val();
      var password = $("#password").val();
      
       if(name =='admin'&&password =='ehouse'){
       
           location.href="<%=basePath%>admin/login.html";
   }else{
        alert("用户名或密码不正确");
   }
   
});

</script>
阅读 4.8k
5 个回答

你可能用了某些代理。

用相对路径替换绝对路径便可,像这样

// location.href="<%=basePath%>admin/login.html";
location.href="/admin/login.html";

顺便提醒一下,把用户名和密码写在 javascript 里是很不妥当的,任何人都有可能看到它们

if(name =='admin'&&password =='ehouse'){

哥们,你这用户名密码都JS校验了还用什么java去做啊?太不安全了吧

你检查下本地的host文件是不是改动了。

建议你检查一下,服务器上是否有 nginx / apache 之类的反向代理,如果有,把反向代理的请求头设置和请求进来的请求头一致,这个跟Java应该没啥关系了

新手上路,请多包涵

4L的答案应该是正解,在nginx配置文件里面,location块下加上
`
proxy_set_header Host $host;
proxy_set_header X_Real_IP $remote_addr;
`

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏