java.lang.NullPointerException servlet
java.lang.NullPointerException servlet
我向servlet发送了一个ajax请求,它显示500内部服务器错误,java.lang.NullPointerException
。 但它成功发布{"单词":"值"}。如果它使用 AJAX 调用成功从客户端发布数据,它应该是我的 servlet 的东西。但无法弄清楚它到底是什么。
阿贾克斯调用
function sendAjax() {
// get inputs
var word = {
word:$('#word').val()
}
$.ajax({
url: "WordQuest",
type: 'POST',
dataType: 'json',
data: JSON.stringify(word),
contentType: 'application/json',
mimeType: 'application/json',
success: function (data) {
$('#shuffled').append(data);
},
error:function(data,status,er) {
alert("error: "+data+" status: "+status+" er:"+er);
}
});
Servlet
public class WordQuest extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
String requset_word = request.getParameter("word");
WordShuffle cls = new WordShuffle();
String shuffled_word = cls.shuffle(requset_word);
response.setContentType("application/json");
PrintWriter out = response.getWriter();
out.print(shuffled_word);
out.flush();
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
doGet(request, response);
}
}
这是堆栈跟踪
java.lang.NullPointerException
at WordShuffle.str_to_arr(WordShuffle.java:22)
at WordShuffle.shuffle(WordShuffle.java:11)
at WordQuest.doGet(WordQuest.java:20)
at WordQuest.doPost(WordQuest.java:32)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
这是
错误的
data: JSON.stringify(word),
你应该只做
data: word,
我相信jQuery.ajax() API声明数据必须使用jQuery.param()转换为查询字符串,并且内容类型必须是"application/x-www-form-urlencoded"
段落"向服务器发送数据"http://api.jquery.com/jQuery.ajax/
当我进行以下更改时,它在 Resin 应用程序服务器中对我有用:
1) 变量字 = { word:$('#word').val()}
2)数据:jQuery.param(word),
或发送 as JSON 字符串2) data: {word:JSON.stringify(word)},
3) 内容类型: 'application/x-www-form-urlencoded',
相关文章:
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 当值更改时,在servlet中自动获取textarea值,无需单击按钮
- servlet中的请求对象,而不是从jsp接收参数值
- JSON分析错误:Java中AJAX、Javascript和Servlet的意外EOF
- 在servlet中提交两个表单
- 我们如何在互联网断开连接或用户关闭选项卡/浏览器时调用注销servlet
- 如何从servlet获取数据到ajax成功
- 使用Jquery$.ajax将json数据传递给servlet(doPost)
- servlet和代理servlet之间的区别
- Servlet仅在单击JavaScript警报消息后重定向
- 在Servlet填充的表中选择多行
- 如何区分javascript中的servlet响应
- 需要确认我对Servlet vs RESTful网页的理解's的差异
- 为什么我得到responseText(通过Ajax从Servlet到javaScript)和额外的字符
- 将jsp重定向到servlet,然后重定向到下一页
- Java servlet代码未被调用
- Servlet未将参数发送到.jsp文件
- Servlet对浏览器上显示的纯文本Javascript的响应
- 在javascript中获取servlet值,并使用ajax将该值分配给一个文本框
- 从 Servlet 调用 Javascript 函数