Java Servlet 字符串到 JQuery Ajax 输出乱码

Posted

技术标签:

【中文标题】Java Servlet 字符串到 JQuery Ajax 输出乱码【英文标题】:Java Servlet String to JQuery Ajax Outputting Gibberish 【发布时间】:2017-12-18 18:52:18 【问题描述】:

所以我问了这个问题:404 Not Found Error on GET/POST Request from Client to Java Servlet

我想通了,但是,我在客户端得到的输出是一堆乱码。但是当我仔细观察时,乱码类似于我的 java servlet 文件,所以我做对了;它的格式很奇怪。

有人知道为什么会这样吗?我的代码中是否遗漏了某些内容,或者可能与我正在使用的服务器有关?

输出应该只有以下文本:

一些文字boiii

这就是我所看到的:

����1J ( )*+, -./0*12*34 56 5789:()VCodeLineNumberTableLocalVariableTablethisLMyTestServlet;doPostR(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Vrequest'Ljavax/servlet/http/HttpServletRequest;响应(Ljavax/servlet/http/HttpServletResponse;异常;?$MyTestServlet doGet 函数调用@ABsome 文本 boiii 文本/htmlCBUTF-8DBEFGHBIjava/lang/异常 MyTestServletjavax/servlet/http/HttpServletjavax/servlet/ServletExceptionjava/io/IOException&javax/servlet/http/HttpServletResponsegetOutputStream%()Ljavax/servlet/ServletOutputStream;!javax/servlet/ServletOutputStreamprintln(Ljava/lang/String;)VsetContentTypesetCharacterEncodinggetWriter()Ljava/io /PrintWriter;java/io/PrintWriterwriteclose!/��I+,��#$ !�6,��N,�, �,�:-�� �N�14 *+,-.&/,01442564#"#&$%666&'

PS:所有源代码/详细信息都在另一个问题中。谢谢!

【问题讨论】:

您使用的 url 是什么?看起来您正在获取二进制 .class 文件,而不是运行 servlet 的输出。 @SteveFrancisco $.get("WEB-INF\\classes\\MyTestServlet.class", function(responseText) ... 好的,您只是将.class 文件加载到浏览器中,而不是调用servlet。如果你在你的服务器上设置了一个 servlet,你应该通过 servlet 别名来访问它。这告诉服务器使用您提供的任何参数在服务器上运行代码。您在这里所做的只是要求服务器将 .class 文件提供给您,它确实做到了。 【参考方案1】:
    从 tomcat.apache.org 下载一个 Tomcat,并将其解压到 c:\tomcat\ 将 index.html 重命名为 index1.jsp 更改.get("/ServletTest4/ServerTest")

    改变

    小服务程序测试 /Servlet测试

    再次构建您的项目。

    在 c:\tomcat\ 下找到 webapps 文件夹

    从 ..\target\ 复制 ServletTest4 文件夹并将其粘贴到 网络应用\

    进入 c:\tomcat 下的 bin\

    点击startup.bat启动tomcat

    浏览器:http://localhost:8080/ServletTest4/index1.jsp

【讨论】:

谢谢!我现在试试这个,看起来我上传到的服务器是 Apache/2.2.15 (Red Hat) 并且没有 tomcat。

以上是关于Java Servlet 字符串到 JQuery Ajax 输出乱码的主要内容,如果未能解决你的问题,请参考以下文章

Ajax 将带有两个数组的 JSON 对象发送到一个 servlet 并在没有 jQuery 的情况下在 java servlet 中解析

JQuery $.ajax() post - java servlet 中的数据

使用 Ajax 进行 Java Servlet DB 查询 - 查询时间慢且查询字符串并不总是完全传递给 servlet

Java Servlet - 将 servlet 映射到除字符串之外的每个 URL

Jquery书写ajax

Java JSP Jquery AJAX Servlet