Java 如何使我的网站与servlet通信?
我已经创建了一个web应用程序,它获取JqTree“坐标”,并将这些坐标Java 如何使我的网站与servlet通信?,java,ajax,html,servlets,Java,Ajax,Html,Servlets,我已经创建了一个web应用程序,它获取JqTree“坐标”,并将这些坐标var POSITIONS发送到我的服务器,由我的servlet获取,该servlet将创建一个包含这些“坐标”的文件,但是,我不知道如何进行此通信。你能帮我吗 提前谢谢 我在下面做了一张图表来解释我的想法 1-用户更改树 2-通过此代码立即获得位置 $(document).ready(function() { var POSITIONS; //var data is a dynamic JSON file that
var POSITIONS
发送到我的服务器,由我的servlet获取,该servlet将创建一个包含这些“坐标”的文件,但是,我不知道如何进行此通信。你能帮我吗
提前谢谢
我在下面做了一张图表来解释我的想法
1-用户更改树
2-通过此代码立即获得位置
$(document).ready(function() {
var POSITIONS;
//var data is a dynamic JSON file that should be created in the backend.
var data = [{
label: 'node1',
id: 1,
children: [{
label: 'child1',
id: 2
}, {
label: 'child2',
id: 3
}]
}, {
label: 'node2',
id: 4,
children: [{
label: 'child3',
id: 5
}]
}];
$('#tree1').tree({
data: data,
autoOpen: true,
dragAndDrop: true
});
console.log($('#tree1').tree('toJson')); //This will give you the loading jqtree structure.
$('#tree1').bind(
'tree.move',
function(event) {
event.preventDefault();
// do the move first, and _then_ POST back.
event.move_info.do_move();
console.log($(this).tree('toJson')); //this will give you the latest tree.
POSITIONS = $(this).tree('toJson');
alert(POSITIONS);
$.post('http://MyServer', {
tree: $(this).tree('toJson')
});
alert("done"); //this will post the json of the latest tree structure.
}
);
});
3-那么它应该由AJAX发送
$(function() {
alert("file has been successfully sent");
var data = new FormData();
data.append("custom_css", POSITIONS);
$.ajax({
url: 'myserver',
type: 'POST',
data: data,
cache: false,
dataType: 'json',
processData: false,
contentType: false,
success: function(response) {
alert("file has been successfully sent");
},
error: function(jqXHR, textStatus, errorThrown) {
alert('ERRORS: ' + textStatus);
}
});
});
4-最终被我的servlet接收并保存到一个文本文件:Positions.txt
package com.srccodes.example;
导入java.io.IOException;
导入java.io.PrintWriter;
导入javax.servlet.ServletException;
导入javax.servlet.annotation.WebServlet;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
/**
*Servlet实现类HelloWorld
*/
@WebServlet(“/HelloWorld”)
公共类HelloWorld扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
/**
*@参见HttpServlet#HttpServlet()
*/
公共HelloWorld(){
超级();
//TODO自动生成的构造函数存根
}
/**
*@参见HttpServlet#doGet(HttpServletRequest请求,HttpServletResponse响应)
*/
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
response.setContentType(“text/html”);
PrintWriter PrintWriter=response.getWriter();
printWriter.println(“你好,世界!”);
String position=“JQTREE POSITIONS”;
PrintWriter=新的PrintWriter(“Positions.txt”、“UTF-8”);
作者:println(职位);
writer.close();
}
/**
*@请参阅HttpServlet#doPost(HttpServletRequest请求,HttpServletResponse响应)
*/
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)引发ServletException、IOException{
//TODO自动生成的方法存根
}
}
“/HelloWorld”
doPost()
方法doPost()
方法中,从“custom\u css”
变量中检索数据,如<代码>请求.getParameter(“自定义css”)抱歉,我没有在线,但我现在要测试:)+1抱歉,但我仍然有一些疑问:1-我如何从
var Positions
,2-我应该将我的页面放在哪个目录中3-我必须将其导出为war文件并将其放在我的服务器(而不是桌面服务器)告诉我你需要知道的关于我正在做的事情,我搜索了很多,但是没有人谈论细节。我想,我给了你答案:request.getParameter(“custom_css”)将为你提供var位置数据。像你通常为web应用程序所做的那样,将整个事情部署为一场战争。
package com.srccodes.example;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloWorld
*/
@WebServlet("/HelloWorld")
public class HelloWorld extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloWorld() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter printWriter = response.getWriter();
printWriter.println("<h1>Hello World!</h1>");
String position = "JQTREE POSITIONS";
PrintWriter writer = new PrintWriter("Positions.txt", "UTF-8");
writer.println(position);
writer.close();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
$.ajax({
url: '/HelloWorld',
type: 'POST',
data: data,
cache: false,
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getParameter("custom_css")
// Proceed with your business logic here, using above data
//
//
//
//
}