【问题标题】:Apache Tomcat server not displaying HTML created in doGet() method in Intellij Idea 14 UltimateApache Tomcat 服务器不显示在 Intellij Idea 14 Ultimate 中的 doGet() 方法中创建的 HTML
【发布时间】:2015-04-17 02:32:17
【问题描述】:

首先,我在 Mac OSx 上运行它。我已经下载了最新的 Apache Tomcat 二进制版本,并将其链接到我在 intellij 中的设置中。它运行但它在 Safari 中显示一个空白页面。这是我的 doGet 方法中的代码:

protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter pw = response.getWriter();
    pw.println("<!DOCTYPE html>");
    pw.println("<html>");
    pw.println("<head lang=en>");
    pw.println("<meta charset= UTF-8>");
    pw.println("<script src= https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js></script>");
    pw.println("<script src = javascript.js></script>");
    pw.println("<link rel=stylesheet type=text/css href=style.css>");
    pw.println("<title>Info</title>");
    pw.println("</head>");
    pw.println("<body><h1>HELLO</h1></body>");
    pw.flush();
    pw.close();
}

我实验室的文件结构如下:

- Lab 5
    -.idea
    -lib
    -out
    -src
        -InfoServlet.java
    -web
        -WEB-INF
        -index.jsp
        -style.css

另外需要注意的是,默认打开的网址是:

http://localhost:8080

它是 8080 是可以接受的,因为我将端口设置为那个。会不会是我的 servlet 没有打开到正确的 URL 页面?

非常感谢任何帮助!

【问题讨论】:

  • 你的 web.xml 文件在哪里?
  • @ScaryWombat 在 WEB-INF 伴侣中。

标签: java macos apache tomcat intellij-idea


【解决方案1】:

您应该在@WebServlet 注释中提供servlet 的工件(您的servlet 的url)。工件被添加到urlPatterns 属性中。您还可以指定 servlet 的多个路径。不要忘记 urlPatterns 是类似数组的属性。示例:

@WebServlet(name = "TestServlet", urlPatterns = {"/test","/servlets/test"})
public class TestServlet extends HttpServlet
{
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Test</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>This is a test designed to provoke an emotioanl response...Shall we continue?</h1>");
        out.println("</body>");
        out.println("</html>");
        out.flush();
    }
}

还要确保您正确配置了您的 tomcat 服务器及其工件。我的 tomcat 8 服务器也有同样的问题。This link 帮助了我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-12
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    • 2022-12-22
    • 2013-09-15
    • 1970-01-01
    • 2015-04-03
    相关资源
    最近更新 更多