gpt4 book ai didi

java - 没有刷新页面的JSP套接字

转载 作者:行者123 更新时间:2023-12-03 11:55:30 25 4
gpt4 key购买 nike

所以我正在尝试使用 TCP 套接字在 JSP 页面上创建客户端进行通信,我遇到的问题是每次我在页面中提交表单时,它都会刷新页面并创建一个新的客户端套接字,从而删除我的信息以前有 (nomeUtilizador)。我搜索了无需刷新即可提交表单的方法,并尝试了(AJAX),但实际上从未成功...

也许还有其他方法可以解决这个问题,比如让套接字只创建一次......或者变量 nomeUtilizador 可用于每次刷新......

<%              private void ClienteTCP(String host, int port) {

try {
s = new Socket(host, port);
System.err.println("Ligacao estabelecida");
in = new ObjectInputStream(s.getInputStream());
out = new ObjectOutputStream(s.getOutputStream());
System.err.println("Streams criadas");
} catch (UnknownHostException uhEx) {
System.err.println("UnknownHostException");
} catch (IOException ioEx) {

} catch (Exception e) {

}
}
ClienteTCP("localhost", 6000);
String nomeUtilizador = (String) session.getAttribute("nomeUtilizador");
String xmlUtilizador = "C:/Users/leonel/workspace/ParqueEstacionamento/WebContent/xml_clientes/"
+ nomeUtilizador.replaceAll("\\s+", "") + ".xml";
criarDocument(xmlUtilizador);
ArrayList<String> listaParques = getParques();
%><form name="botoes" id="botoes" method="post"
action="parqueOnline.jsp" onsubmit="submitForm()">
<input TYPE="HIDDEN" NAME="buttonName"> <input type="button"
name="botao" value="Estacionar" onclick="showDiv();"> <input
type="submit" name="botao" value="Pagar" onclick="pagar();">
<input type="submit" name="botao" value="Sair" onclick="sair();">
<br />
<div id="escolherParque" style="display: none;" class="escolherParque">
<label>Parques</label> <select name="parque">
<option value=""></option>
<%
for (int i = 0; i < listaParques.size(); i++) {
%>
<option value=<%=listaParques.get(i)%>><%=listaParques.get(i)%></option>
<%
}
%>
</select> <input type="submit" name="estacionar"
value="Escolha o Parque onde quer estacionar.."
onclick="escolherParque();">
</div>
</form>

<%
String botao = request.getParameter("buttonName");
if (botao != null) {
//do more stuff %>

最佳答案

如果变量是 session 变量,则使用您提交的代码,它仍可用于下一次刷新。唯一的问题是,如果您发送 TCP 消息的服务器通过通信知道该变量,它将不再知道它,因为您创建了一个新客户端。 (考虑到您使用的是并发服务器)

一种解决方案是再次发送该变量,然后对服务器进行编程以接收它。

关于java - 没有刷新页面的JSP套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31500952/

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