我经历了很多答案,并且在Google上搜索了很多,但仍然找不到为什么我的帖子请求不起作用的原因。
这是我的jsp:
<div class="container">
<form class="form-signin" ng-controller="MyController">
<h2 class="form-signin-heading">Please sign in</h2>
<label for="username" class="sr-only">Username</label>
<input type="text" id="username" ng-model="user.name" class="form-control" placeholder="Username" required autofocus>
<label for="password" class="sr-only">Password</label>
<input type="password" ng-model="user.password" id="password" class="form-control" placeholder="Password" required>
<button class="btn btn-lg btn-primary btn-block" ng-click="login()" type="submit">Sign in</button>
</form>
</div>
这是我的控制器:
app.controller('MyController', function($scope, $http) {
$scope.login = function() {
console.log($scope.user);
$http({
method : 'POST',
url : 'login',
data : $scope.user,
headers: {
'Content-Type': 'application/json'
}
}).success(function(data) {
console.log(data);
}).error(function(data) {
console.log(data);
});
console.log("POST done");
};
});
而我的servlet:
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
System.out.println("inside do POST");
Gson gson = new Gson();
JsonParser parser = new JsonParser();
JsonObject obj = (JsonObject) parser
.parse(request.getParameter("data"));
Iterator it = (Iterator) obj.entrySet();
while (it.hasNext()) {
System.out.println(it.next());
}
System.out.println("over");
}
我不断收到此Null指针异常
java.lang.NullPointerException
at java.io.StringReader.<init>(StringReader.java:50)
at com.google.gson.JsonParser.parse(JsonParser.java:45)
at com.zookeeperUI.controller.Login.doPost(Login.java:40)
请告诉我我这里做错了什么。
您的请求不包含名为“ data”的URL参数,因此request.getParameter(“data”)返回null,并且您获得NullPointerException。
您尝试通过URL参数发送Javascript对象,该对象与非浅层对象不太匹配。
我建议将数据作为请求有效负载发送:
JsonObject obj = (JsonObject) parser.parse(request.getReader());
在客户端上,您需要确保数据以正确的JSON格式发送:
$http({
method : 'POST',
url : 'login',
contentType: 'application/json',
data : JSON.stringify($scope.user),
})...
我正在运行一个JSP调用servlet1的应用程序。此servlet1在内部调用servlet2以获取一些数据。Servlet1自己计算一些数据,从servlet2获得一些数据,并将其发送回JSP。 但我得到了以下错误: HTTP状态500- 类型异常报告 留言 说明服务器遇到内部错误(),无法完成此请求。 例外情况 JAVAlang.IllegalStateException:提交响应后无法转发
我研究一个简单的问题已经有相当长的时间了。在包括这个网站在内的许多论坛上搜索了很多,但仍然无法解决这个问题。因此请求您的帮助。 我有一个带有文本区域和提交按钮的JSP页面。 在Servlet类中,我执行以下操作- 因此,在我点击提交按钮后,我的请求将转到servlet,并从servlet返回到原始的jsp,但我无法用servlet输出填充文本区域。我已经尝试了很多方法,就像我在互联网上发现的那样,
我是一名学习使用jsp和Servlet构建Web应用程序的学生。一个月以来,我的Web应用程序项目一直运行良好,但今天它的行为突然变得奇怪了。当我提交jsp页面时,它无法找到我的servlet。我已经使用servlet注释来映射请求。 以下是我的JSP:- 以下是我的servlet:- 以下是我的控制台日志:-
问题内容: 我有这个InputStream: 如何将其转换为ServletInputStream? 我努力了: 但不起作用。 编辑: 我的方法是这样的: 我正在尝试将所有请求都转换为小写。 问题答案: 试试这个代码。
我有这个输入流: 如何将其转换为ServletInputStream? 我试过: 但不工作。 编辑: 我的方法是这样的: 我正在尝试将我的所有请求转换为小写。
我希望我的这个登录页面加载两次,即第一次用户输入username和password,然后从servlet获得响应,然后它将被重定向到带有“messages”的登录jsp页面。 我有两个按钮用于登录和注销。这个脚本可以像我试过的那样通过使用count变量加载两次吗?任何其他方法也将是首选。 附注:我试过使用和但它们不起作用。 login.jsp:-