[英]sending Json information from Servlet to Javascript
我想創建一個Web應用程序,以查找每個人每次都在的地方附近最近的超市。
因此,我創建了一個jsp頁面,其中有一個地圖,其中包含我所在位置的坐標,還有一個js,用於顯示超市信息和地圖中的標記。 在我的js中,我試圖用json形式從Servlet獲取所有最近的超市信息。 但是當我運行它時,它沒有出現。 你真的可以幫我嗎?
//這是我的js:
function main1() {
$.ajax({
url: 'Myservlet',
type: 'json',
data: {
latitude: pos[0],
longitude: pos[1],
map: map
},
success: function(data){
drawMap(data);
drawTable(data);
}
});
}
function drawMap(data){
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < data.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(data[i].latd, data[i].longd),
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(data[i].name, data[i].region);
infowindow.open(map, marker);
}
})(marker, i));
}
}
//在我的Servlet中
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import package1.DB.*;
import com.google.gson.Gson;
import java.lang.*;
public class MyServlet extends HttpServlet {
public MyServlet(){
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html; charset=ISO-8859-7");
PrintWriter out = new PrintWriter(response.getWriter(), true);
List<Markets> super_markets;
try{
DB db=new DB();
super_markets=db.getNearestMarkets(request.getParameter("latitude"),request.getParameter("longitude"));
String json = new Gson().toJson(super_markets);
response.getWriter().write(json);
} catch (Exception ex) {
out.println("Exception: " + ex.getMessage());
out.println("</body>");
out.println("</html>");
}
}
}// End of class
您需要告訴servlet容器應將哪些路徑路由到servlet。 您可以使用web.xml文件或Servlet類中的注釋來執行此操作。 例如:
@WebServlet({"/Myservlet/*"})
public class MyServlet extends HttpServlet {
...
}
請注意,在您的JavaScript中,您正在使用“ Myservlet”,其中您的類名是MyServlet。 類名不必與您使用的URL一致,但這可能會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.