我一直在研究很多關於servlets的信息,並且我創建了一個應該從我的web應用程序接收一些位置的信息,但是由於我缺乏servlet的經驗,我沒有想法如何解決它。另外我不知道我應該把我的HTML應用放在哪裏,我聽說它應該在WebContent文件夾中,並且它在那裏,但它不起作用。你可以幫幫我嗎?
更新:我想上傳一些資料,將通過我的servlet轉化爲txt
文件,以避免上傳每說一個文件:」 ...... 我已經創建了一個應該得到從我的web應用程序一些位置......」
服務器:Apache Tomcat上7.0
Eclipse的EE火星
提前致謝。我的ajax POST沒有被髮送到我的servlet
我整個項目是在這裏:DropBox
PS:我下面貼只爲觀察片斷,但如果我不能使用腳本,因爲我沒有在庫的企業,希望看到它在此PostScript上方的鏈接上檢查它。
我的HTML與AJAX
<body>
<div id="navgrid">
<div id="header">Header</div>
<div id="tree1">
<ul class="jqtree_common jqtree-tree">
<li class="jqtree_common jqtree-folder">
<div class="jqtree-element jqtree_common"><a class="jqtree_common jqtree-toggler">â–¼</a><span class="jqtree_common jqtree-title jqtree-title-folder">node1</span>
</div>
<ul class="jqtree_common ">
<li class="jqtree_common">
<div class="jqtree-element jqtree_common"><span class="jqtree-title jqtree_common">child1</span>
</div>
</li>
<li class="jqtree_common">
<div class="jqtree-element jqtree_common"><span class="jqtree-title jqtree_common">child2</span>
</div>
</li>
</ul>
</li>
<li class="jqtree_common jqtree-folder">
<div class="jqtree-element jqtree_common"><a class="jqtree_common jqtree-toggler">â–¼</a><span class="jqtree_common jqtree-title jqtree-title-folder">node2</span>
</div>
<ul class="jqtree_common ">
<li class="jqtree_common">
<div class="jqtree-element jqtree_common"><span class="jqtree-title jqtree_common">child3</span>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<script type="text/javascript">
</script>
<script>
$(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://sistema.agrosys.com.br/sistema/labs/CSS_HTML/', {
tree: $(this).tree('toJson')
});
alert("done"); //this will post the json of the latest tree structure.
}
);
var data = new FormData();
data.append("JqTree", POSITIONS);
alert('Sending: ' + POSITIONS);
$.ajax({
url: '/JqTree',
type: 'POST',
data: data,
cache: false,
dataType: 'json',
processData: false,
contentType: false,
success: function(response) {
alert("file has been successfully sent\n\n" + POSITIONS);
},
error: function(jqXHR, textStatus, errorThrown) {
alert('ERRORS: ' + textStatus);
}
});
});
</script>
</body>
我的servlet
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Hello extends HttpServlet {
private static final long serialVersionUID = 1L;
public Hello() {}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
out.print("<html><body>");
out.print("<h3>Hello Servlet</h3>");
out.print("</body></html>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String position = request.getParameter("JqTree");
PrintWriter writer = new PrintWriter("Positions.txt", "UTF-8");
writer.println(position);
writer.close();
}
}
和我的web.xml
你應該真的在這裏給出足夠的代碼來重現問題,例如所有的樣式聲明都沒有用。最明顯的一點是你的ajax調用的url。那是對的嗎?如果打電話,您可以檢查服務器訪問日誌嗎? –
@JPMoresmau好的,我現在就修復它。 – Kyle
@JPMoresmau修復;),希望它更整潔更清晰 – Kyle