【发布时间】:2012-08-01 05:38:07
【问题描述】:
我的文件夹结构:
Servlet:
@WebServlet(name = "KPItoGSON", urlPatterns = {"/KPItoGSON/*"})
public class KPItoGSON extends HttpServlet {
/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
/*
* TODO output your page here. You may use following sample code.
*/
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet KPItoGSON</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet KPItoGSON at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP
* <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
Gson gson = new Gson();
HttpServletRequest req = (HttpServletRequest) request;
KPIListController klc = (KPIListController) req.getSession().getAttribute("kpilist");
String json = gson.toJson(klc);
Logger.getLogger(KPItoGSON.class.getName()).warning("The value is"+klc.getKPI().get(1).getUSTER());
Logger.getLogger(KPItoGSON.class.getName()).info("The json "+json);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
}
JQuery:
function onButtonClickOrCertainTime(){
$.get('KPItoGSON', function(responseText) { //
alert(responseText);
});
}
错误:
/GISPages/KPI/KPItoGSON 404 (Not Found)
我正在尝试 BalusC 的 this 示例。通过此示例,我想从数据库中获取新数据到 javascript 变量中并制作一些图表。我不习惯 servlet :(。使用 jQuery 向 servlet 发送请求有什么问题?因为我每次都想要新数据按钮或使用数据库中的函数 onButtonClickOrCertainTime 轮询使用 GSON 和 Servlet 方式更好还是jstl可能?
【问题讨论】:
-
我正在远离 jstl,因为它已经被评估为 js 变量,所以认为它对实时系统没有用(在没有页面重新加载的情况下获取数据)。我可能错了,请纠正我。阅读:stackoverflow.com/questions/3342984/…
-
只是说您可以将 gson 存储在简单的隐藏输入文本中,并在需要时使用 f:ajax 刷新...
-
@Daniel 也在尝试使用 servlet :)
标签: jquery jsf-2 jstl servlet-3.0