gpt4 book ai didi

java - 我已经完成了私有(private)到公共(public) IP 的端口转发,但在公共(public) IP 中,IT 不会渲染 geoip.js,但它在本地地址上可以正常工作

转载 作者:行者123 更新时间:2023-11-28 08:45:00 25 4
gpt4 key购买 nike

这是我的代码我所做的我已经完成了私有(private)到公共(public) IP 的端口转发,但在公共(public) IP 中,IT 不会渲染 geoip.js,但它在本地地址上可以正常工作

http://61.12.124.234:8080/zipgrocery/home(my public ip)

它不会渲染 geoip.js 并且在本地地址中正常工作。geoip.js 在用户登录时给出城市名称和运行时间

basepage.html



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">

<link rel="icon" href="favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />

<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap-responsive.css">
<link rel="stylesheet" href="css/bootstrap-responsive.min.css">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/jquery.toastmessage.css"
type="text/css" media="all" />
<link rel="stylesheet" href="css/NewHomePage_style.css">

<!-- sliderman.js -->
<script type="text/javascript" src="js/sliderman.1.3.6.js"></script>
<link rel="stylesheet" type="text/css" href="css/sliderman.css" />
<!-- /sliderman.js -->
<script type="text/javascript" src="//j.maxmind.com/js/geoip.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.toastmessage.js"></script>
<script type="text/javascript" src="js/jquery.tabSlideOut.v1.3.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.18.custom.min.js"></script>
<script type="text/javascript" src="js/zipjs.js"></script>
<script type="text/javascript" src="js/jquery.inputhints.min.js"></script>
<script type="text/javascript" src="js/jquery.nivo.slider.pack.js"></script>

<script language="javascript" src="/tweet/jquery.tweet.js"
type="text/javascript"></script>

<script type="text/javascript">
$(document).ready(function() {

/* $("#city-dropdown").click(function(){
$("#user-acc-drop").hide();
$("#drop").slideToggle();
});
*/
$("#city-dropdown-text").val(geoip_city())
var text = $("#city-dropdown-text").val();
$("#txtCityName").val(text);

$("#user-acc").click(function(){
$("#drop").hide();
$("#user-acc-drop").slideToggle();
});

$("#pageHolder").click(function(){
closeMenu();
});

$(document).bind('keydown', function(e) {
if (e.which == 27) {
closeMenu();
}
});

$("#city-dropdown-text").click(function() {
var text = $("#city-dropdown-text").val();
$("#txtCityName").val(text);
});

$("#city-dropdown-text").keyup(function(e) {
var text = $("#city-dropdown-text").val();
$("#txtCityName").val(text);
});

$('#city-dropdown-text-autocomplete').live('click', function() {
var text = $("#city-dropdown-text").val();
$("#txtCityName").val(text);
});

documentReady()
});

function removeClass(){
$("#drop li").removeClass("current");
}

function closeMenu(){
$("#drop").hide();
$("#user-acc-drop").hide();
}
</script>

</head>
<body>
<div class="row-fluid mainContain">

<div class="span12 head">
<div class="span3 logoo">
<a href="#" wicket:id="lnkHomeIcon"><img
src="images/zip-grocery-logo.png" /></a>
</div>
<div class="span6 navBar ">
<div class="span1 menu">GET THE APP!</div>
<div class="span1 menu3" wicket:id="lnkRegister">SIGN UP</div>
<div class="span1 menu2" id="" wicket:id="lnkLogin">LOGIN</div>

<div class="span1 menu2" wicket:id="lnkUser"
style="pointer-events: none;">
<span class="link-user" wicket:id="lbUser"></span>
</div>

<span class="user-acc" id="user-acc" wicket:id="lnkuseracc">
<img src="images/imgArrow.png" />
<ul id="user-acc-drop" class="arrow_box2"
style="display: none; position: absolute;">
<li wicket:id="lnkSettings"><a href="">Setting</a></li>
<li wicket:id="lnkLogout"><a href="">Logout</a></li>
</ul>
</span> <span class="span5 text" id="city-dropdown"> <input
type="text" wicket:id="txtzipcode" id="city-dropdown-text"
class="home-search-zip"> <!-- <span wicket:id="currentLoc" class="city-name">HOBOKEN, NJ(7030)</span>
<img src="images/imgArrow.png"/>
<ul id="drop" class="arrow_box">
<li wicket:id="Hobokencity">Hoboken, NJ</li>
<li wicket:id="JerseyCity">Jersey City, NJ</li>
<li wicket:id="MidtownNYC">Midtown, NYC</li>
</ul>-->
</span>

</div>
</div>

<!--
repalce part by pages
-->
<div id="pageHolder">
<wicket:child></wicket:child>
</div>
<div wicket:id="login">
<div wicket:id="loginPanel" />
</div>

<!-- footer start -->


<div class="span12 footer_bar">
<div class="span12 footer_Pad">
<div class="span12 browse_by">Browse By</div>
<div class="span12 city">City</div>
<table>
<tbody>
<tr>
<td><span class="foot-link" wicket:id="lnkHoboken">Hoboken,
NJ</span></td>
<td><span class="foot-link" wicket:id="lnkJersey">Jersey
City, NJ</span></td>
<td><span class="foot-link" wicket:id="lnkMidtown">Midtown,
NYC</span></td>
</tr>
</tbody>
</table>
<hr>
<div class="span12 cuisine">Cuisine / Specialty Store</div>
<table class="cuisineStore">
<tbody>
<tr>
<td>Asian</td>
<td>Italian</td>
<td>Pharmacy</td>
<td>Groceries</td>
<td>Pizzeria</td>
</tr>
<tr>
<td>BBQ</td>
<td>Deli</td>
<td>Liqour Store</td>
<td>Middle Eastern</td>
<td></td>
</tr>
</tbody>
</table>
<hr>
<div class="span12 links_section">
<div class="span2 links_header">
<a href="" wicket:id="lnkAbout">About Us</a>
</div>
<div class="span2 links_header add">
<a href="">Advertise Here</a>
</div>
<div class="span2 links_header getList">
<a href="">Get Listed</a>
</div>
<div class="span2 links_header work-with">
<a href="" wicket:id="lnkCareers">Work With Us</a>
</div>
<div class="span2 links_header faq">
<a href="" wicket:id="lnkFaq">FAQ</a>
</div>
<div class="span2 links_header contac-us">
<a href="" wicket:id="lnkContactUs ">Contact Us</a>
</div>
</div>

<div class="span12 second_row">
<div class="span3 secondrow_containt">
<a href="">All Rights reserved to ZipGrocery.</a>
</div>
<div class="span3 secondrow_containt2">
<a href="">Privacy Policy.</a>
</div>
<div class="span2 secondrow_containt3">
<a href="">Terms and Conditions.</a>
</div>
</div>
</div>
</div>

<!-- footer end -->

</div>

</body>
</html>


basepage.java



package com.zipgrocery.pages;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteTextField;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;

import com.visural.wicket.component.dialog.Dialog;
import com.zipgrocery.ZipSession;
import com.zipgrocery.data.Zip;
import com.zipgrocery.panels.LoginPanel;
public class ZBasePage extends WebPage{

/**
*
*/
private static final long serialVersionUID = -4591920443207458425L;
private AjaxFallbackLink lnkLogin;
private Link<String> lnkLogout;
private Link<String> lnkOrders;
private AjaxFallbackLink lnkRegister;
private Link<String> lnkUser;
private Link<String> lnkSettings;
private Link<String> lnkMerchantEdit;
private Link<String> lnkMerchantLogout;
private Link<String> lnkAbout;
private Link<String> currentcity;
private Dialog loginBox;
private LoginPanel loginPanel;
private AjaxFallbackLink lnkHoboken,lnkJersey,lnkMidtown;
private AjaxFallbackLink Hobokencity,JerseyCity,MidtownNYC;
private List<Component> componentList = new ArrayList<Component>();
private String zipcode="07030";
public ZBasePage() {

//navigation for logo
add(new Link<String>("lnkHomeIcon") {

@Override
public void onClick() {
PageParameters params = new PageParameters();
params.set("zipcode", ZipSession.get().getAttribute("currentZip"));
setResponsePage(ZHomePage.class, params);
}
});

/*render all location or zip
List<String> zoneName=Zip.getZoneNames();
for(int i=0;i<zoneName.size();i++){
System.out.println(zoneName.get(i));
}*/

// add search field
final AutoCompleteTextField<String> txtZipcode = new AutoCompleteTextField<String>(
"txtzipcode", new Model<String>() {
private static final long serialVersionUID = 1L;

@Override
public String getObject() {
return getZipcode();
}
@Override
public void setObject(String object) {
setZipcode(object);
}

}) {
private static final long serialVersionUID = 1L;

@Override
protected Iterator<String> getChoices(String input) {
return Zip.getUniqueZipsAndZones(input).iterator();
}
};

add(txtZipcode)

;


//navigation links edit by
lnkAbout = new Link<String>("lnkAbout") {

@Override
public void onClick() {
setResponsePage(FaqPage.class);
}

@Override
public boolean isVisible() {
return !ZipSession.get().MerchantisValid();
}
};
lnkAbout.setOutputMarkupPlaceholderTag(true);
add(lnkAbout);



/* final Model<String> lnkuseraccmodel = new Model<String>();
final WebMarkupContainer lnkuseracc=new WebMarkupContainer("lnkuseracc",lnkuseraccmodel);
lnkuseracc.setOutputMarkupId(true);
lnkuseracc.setOutputMarkupPlaceholderTag(true);

add(lnkuseracc);
*/

final WebMarkupContainer lnkuseracc = new WebMarkupContainer("lnkuseracc");
lnkuseracc.setOutputMarkupPlaceholderTag(true);
add(lnkuseracc);

if(ZipSession.get().getCustomer() != null)
lnkuseracc.setVisible(true);
else
lnkuseracc.setVisible(false);

lnkUser = new Link<String>("lnkUser") {
@Override
public void onClick() {
}
};

lnkUser.setOutputMarkupId(true);
add(lnkUser);


//current user
lnkUser.add(new Label("lbUser", new AbstractReadOnlyModel<String>() {

@Override
public String getObject() {

if(lnkuseracc!=null && ZipSession.get().getCustomer() != null)
lnkuseracc.setVisible(true);
return ZipSession.get().getCustomer() == null ? "" : ZipSession.get().getCustomer().getEmail();
}
}).setEscapeModelStrings(false));
lnkUser.setOutputMarkupId(true);

//current city

/*currentcity.add(new Label("currentcity", new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {

return " ";
}
}).setEscapeModelStrings(false));
currentcity.setOutputMarkupId(true);
add(currentcity);*/

//logout link
lnkLogout = new Link<String>("lnkLogout") {

@Override
public void onClick() {
ZipSession.get().invalidate();
setResponsePage(ZHomePage.class);
}

@Override
public boolean isVisible() {
return ZipSession.get().isValid();
}
};
lnkLogout.setOutputMarkupId(true);
lnkLogout.setOutputMarkupPlaceholderTag(true);
lnkuseracc.add(lnkLogout);

lnkSettings = new Link<String>("lnkSettings") {

@Override
public void onClick() {
setResponsePage(CustomerProfilePage.class);
}

@Override
public boolean isVisible() {
return ZipSession.get().isValid();
}
};
lnkSettings.setOutputMarkupId(true);
lnkSettings.setOutputMarkupPlaceholderTag(true);
lnkuseracc.add(lnkSettings);

/*login code start here */
lnkLogin = new AjaxFallbackLink("lnkLogin") {

@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
ajaxRequestTarget.add(loginPanel);
ajaxRequestTarget.add(loginBox);
loginBox.open(ajaxRequestTarget);
ajaxRequestTarget.appendJavaScript("documentReady()");
}

@Override
public boolean isVisible() {
return !ZipSession.get().isValid();
}
};
add(lnkLogin);


lnkRegister = new AjaxFallbackLink<String>("lnkRegister") {

@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
setResponsePage(CustomerProfilePage.class);
}

@Override
public boolean isVisible() {
return !ZipSession.get().isValid();
}
};
add(lnkRegister);

//login dialog
loginBox = new Dialog("login");
loginPanel = new LoginPanel("loginPanel", loginBox, getRefreshables());
loginPanel.setOutputMarkupId(true);
loginBox.add(loginPanel);
add(loginBox);
/*login code end here*/

/*footer menu code*/
lnkHoboken = new AjaxFallbackLink("lnkHoboken") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
mearchentListByCity("Hoboken");
}
};
add(lnkHoboken);

lnkJersey = new AjaxFallbackLink("lnkJersey") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
mearchentListByCity("Jersey City");
}
};
add(lnkJersey);

lnkMidtown = new AjaxFallbackLink("lnkMidtown") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
mearchentListByCity("Midtown NYC");
}
};
add(lnkMidtown);

//contact us link
add(new Link<String>("lnkContactUs") {

@Override
public void onClick() {
setResponsePage(ContactUsPage.class);
}
});
//end of contact us

//faq link
add(new Link<String>("lnkFaq") {

@Override
public void onClick() {
setResponsePage(FaqPage.class);
}
});
//end of faq
//career link
add(new Link<String>("lnkCareers") {

@Override
public void onClick() {
setResponsePage(CareerPage.class);
}
});
//end of career

/*code for city selection*/
String defaultCity = "Hoboken";
if(ZipSession.get().getZipcode()!=null && ZipSession.get().getZipcode().length()>0){
if(ZipSession.get().getZipcode().equals("07030")){
defaultCity ="HOBOKEN";
}else{
defaultCity = ZipSession.get().getZipcode();
}
}
/* final Model<String> model = new Model<String>(defaultCity);
final Label currentCityLbl=new Label("currentLoc",model);
currentCityLbl.setOutputMarkupId(true);
currentCityLbl.setOutputMarkupPlaceholderTag(true);
add(currentCityLbl);

Hobokencity = new AjaxFallbackLink("Hobokencity") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
//mearchentListByCity("Hoboken");
ZipSession.get().setZipcode("Hoboken");
model.setObject("Hoboken");
currentCityLbl.setDefaultModel(model);
ajaxRequestTarget.addComponent(currentCityLbl);
}
};
JerseyCity = new AjaxFallbackLink("JerseyCity") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
//mearchentListByCity("Jersey City");
ZipSession.get().setZipcode("Jersey City");
model.setObject("Jersey City");
currentCityLbl.setDefaultModel(model);
ajaxRequestTarget.addComponent(currentCityLbl);
}
};
MidtownNYC = new AjaxFallbackLink("MidtownNYC") {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
//mearchentListByCity("Midtown NYC");
ZipSession.get().setZipcode("Midtown NYC");
model.setObject("Midtown NYC");
currentCityLbl.setDefaultModel(model);
ajaxRequestTarget.addComponent(currentCityLbl);
}
};
add(Hobokencity);
add(JerseyCity);
add(MidtownNYC);*/
}

protected void mearchentListByCity(String city){
PageParameters pageParameters = new PageParameters();
try{
pageParameters.add("citySearch",true);
pageParameters.add("zipcode",city);
}catch(Exception e){
e.printStackTrace();
}
setResponsePage(HomePage.class, pageParameters);
}

protected final List<Component> getRefreshables() {

for (Component c : componentList) {
if (c != null) {
c.setOutputMarkupId(true);
c.setOutputMarkupPlaceholderTag(true);
}
}
componentList.add(lnkLogout);
componentList.add(lnkSettings);
componentList.add(lnkLogin);
componentList.add(lnkRegister);
/*componentList.add(lnkOrders);*/
componentList.add(lnkUser);
return componentList;
}

public String getZipcode() {
return zipcode;
}

public void setZipcode(String zipcode) {
this.zipcode = zipcode;
}

}

帮我摆脱这个困境............

最佳答案

如果我调用 URL j.maxmind.com/js/geoip.js(没有像代码中那样的双斜杠),我只会得到一个显示“未经授权”的网站。

浏览了一下documentation后访问该网站,您会发现必须注册每个域才能使用此服务。我想你只需要注册你的公共(public)IP/域名(或者他们想要的任何东西)。

关于java - 我已经完成了私有(private)到公共(public) IP 的端口转发,但在公共(public) IP 中,IT 不会渲染 geoip.js,但它在本地地址上可以正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19948289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com