Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 运行servlet时发生Eclipse内部浏览器错误_Java_Eclipse_Servlets - Fatal编程技术网

Java 运行servlet时发生Eclipse内部浏览器错误

Java 运行servlet时发生Eclipse内部浏览器错误,java,eclipse,servlets,Java,Eclipse,Servlets,我使用运行在Ubuntu12.04上的EclipseEeJuno来测试简单的servlet。因此,我在Eclipse中使用以下命令安装了一个web工具包 sudo apt-get install libwebkitgtk-1.0-0 当我运行servlet时,内部浏览器会显示我在servlet中使用的html标记。像这样(这个问题在Firefox中不会发生) 你好,来自servlet!!! 下面是servlet的代码 package org.javaweb; import java.io.

我使用运行在Ubuntu12.04上的EclipseEeJuno来测试简单的servlet。因此,我在Eclipse中使用以下命令安装了一个web工具包

sudo apt-get install libwebkitgtk-1.0-0
当我运行servlet时,内部浏览器会显示我在servlet中使用的html标记。像这样(这个问题在Firefox中不会发生)

你好,来自servlet!!!
下面是servlet的代码

package org.javaweb;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class SimpleServlet
*/
@WebServlet("/SimpleServlet")
public class SimpleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter printWriter = response.getWriter();
    printWriter.println("<h3>Hello from servlet!!!</h3>");
}

}
package org.javaweb;
导入java.io.IOException;
导入java.io.PrintWriter;
导入javax.servlet.ServletException;
导入javax.servlet.annotation.WebServlet;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
/**
*Servlet实现类SimpleServlet
*/
@WebServlet(“/SimpleServlet”)
公共类SimpleServlet扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
/**
*@参见HttpServlet#doGet(HttpServletRequest请求,HttpServletResponse响应)
*/
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
PrintWriter PrintWriter=response.getWriter();
printWriter.println(“来自servlet的你好!!!”;
}
}
错误在哪里?? 如何纠正这个问题


谢谢大家!

我想您必须提到正确的响应类型text/html。如中所示,将其添加到现有代码中,它应该可以正常工作:

            response.setContentType("text/html;charset=UTF-8");

Firefox或web浏览器一般都非常智能,可以猜测它是否是HTML内容,并与Eclipse的内部浏览器相比正确地呈现它。

我想您必须提到正确的响应类型text/HTML。如中所示,将其添加到现有代码中,它应该可以正常工作:

            response.setContentType("text/html;charset=UTF-8");

Firefox或web浏览器一般都非常智能,可以猜测它是否是HTML内容,并与Eclipse的内部浏览器相比能够正确地呈现它。

尝试将内容类型设置为HTML

response.setContentType("text/html");

我猜eclipse内置浏览器并不总是在等待html内容,而firefox或任何其他普通浏览器总是在未提供内容类型的情况下填充内容类型。

尝试将内容类型设置为html

response.setContentType("text/html");

我猜eclipse内置浏览器并不总是在等待html内容,而firefox或任何其他普通浏览器如果不提供内容类型,则总是填充内容类型。

yeh。。你太棒了。它解决了这个问题。如果你能解释一下,当我在Windows7上运行这个时,我不需要提及响应类型和内部浏览器工作正常。为什么我需要在Ubuntu上这样做?这一定是因为Eclipse for Windows和Ubuntu OS中的默认web浏览器不同。您可以通过进入Eclipse->preferences->General->Network Connection->Web browser来检查默认的浏览器设置,并查看Windows 7和Ubuntu 12.04yeh上的默认设置。。你太棒了。它解决了这个问题。如果你能解释一下,当我在Windows7上运行这个时,我不需要提及响应类型和内部浏览器工作正常。为什么我需要在Ubuntu上这样做?这一定是因为Eclipse for Windows和Ubuntu OS中的默认web浏览器不同。您可以通过进入Eclipse->preferences->General->Network Connection->Web browser来检查默认浏览器设置,并查看Windows 7和Ubuntu 12.04上的默认设置。如果您能解释一下,当我在Windows 7上运行时,我不需要提及响应类型,内部浏览器工作正常。为什么我需要在Ubuntu上这么做?Eclipse正在使用SWT。SWT浏览器使用不同的渲染器,具体取决于您使用的操作系统。我不确定eclipse在这方面是如何实现的,但默认的SWT渲染器是IE for Windows和WebKitGTK/Mozilla for Linux。当你在Ubuntu12上时,WebKitGTK应该已经安装好了,这就是SWT浏览器默认使用的(Mozilla只是一个备用选项)。eclipse中应该有一个选项可以切换回Mozilla(它应该可以按照要求工作,而不设置内容类型)。非常感谢您的回答和描述性解释,这对我帮助很大。如果您能解释一下,当我在Windows7上运行时,我不需要提及响应类型和内部浏览器是否正常工作。为什么我需要在Ubuntu上这么做?Eclipse正在使用SWT。SWT浏览器使用不同的渲染器,具体取决于您使用的操作系统。我不确定eclipse在这方面是如何实现的,但默认的SWT渲染器是IE for Windows和WebKitGTK/Mozilla for Linux。当你在Ubuntu12上时,WebKitGTK应该已经安装好了,这就是SWT浏览器默认使用的(Mozilla只是一个备用选项)。eclipse中应该有一个选项可以切换回Mozilla(它可以根据需要工作,而不需要设置内容类型)。非常感谢您的回答和描述性解释,这对我帮助很大。