我正在尝试从servlet中获取数据,并从有角度的Controller中调用此类servlet。但是,控制器似乎没有到达servlet。
我设置了一些错误消息(而不是调试),并且看到该函数已执行,但是未到达servlet(总是收到“无法找到”消息)。
使用im的路径是否可能不正确?我一开始使用/进行了测试,还使用了完整路径(localhost / project / servlet)。
神经控制器
app.controller("userController", function($scope, $http){
$scope.error = "NOT EXECUTED";
var onSuccess = function(response){
$scope.users = response.data;
$scope.error = "EXECUTED BUT NOT PROPERLY";
};
var onError = function(response){
$scope.error = "unable to find the record";
}
var con = $http.get("UserListServlet");
con.then(onSuccess, onError);
})
Servlet
package servlets;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONArray;
import com.google.gson.Gson;
import elementos.Usuario;
@WebServlet(value="/UserListServlet")
public class UserListServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public UserListServlet() {
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
Database db = Database.getInstance();
ArrayList<Usuario> usersList = db.getUsuarios();
JSONArray arrayObj = new JSONArray(usersList);
String jObj = new Gson().toJson(arrayObj);
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(jObj);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
我的目标是从servlet中获取数据,以便我可以轻松地将其显示在主页上。
更新:
在浏览器中,我可以通过“映射”名称(@WebServlet(value =“ / login”)访问其他servlet(登录,进程),但不能使用此名称。我还使用其他名称创建了该servlet,但它不起作用。我找不到有效的方法和无效的方法之间的区别。
答案 0 :(得分:0)
发现了问题(实际上是在做梦)。
在我的学校PC上运行tomcat 8.0创建了“工作”的servlet。在家里,我使用的是tomcat 8.5,但是由于我没有删除tomcat 8.0上的依赖项,因此它根本没有构建(eclipse并没有向我显示错误idk原因)。因此,从技术上讲,从未构建过servlet。