【问题标题】:How to invoke init on program execution? Servlet, JSP如何在程序执行时调用 init?小服务程序,JSP
【发布时间】:2014-04-16 02:48:29
【问题描述】:

我正在使用 Eclipse IDE、HelloServlet.java 和 index.jsp 文件。

当我右键单击我的项目并单击“运行方式”时,程序将执行。然后生成 JSP 文件,但首先,我需要我的 servlet 收集一些数据,并将其发送到 JSP 文件。

目前,我必须单击 JSP 文件中的按钮来执行我的 Servlet(HelloServlet.java 文件)。我需要它,反之亦然,程序启动时,HelloServelt 的 init 方法触发,收集我的数据并将其发送到 JSP 文件。

也许,有人可以帮助我实现这一目标。

index.jsp

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
         "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Hello Servlet</title>
</head>
<body>
Add
<form action="HelloServlet">
        <input type="text" value="x" />
    </form>


<hr/>
</body>
</html>

HelloServlet.java

public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloServlet() {
        super();
        // TODO Auto-generated constructor stub
        System.out.println("Constructor initializing");
    }

    public void init(ServletConfig config) throws ServletException {
         String x = "data collected!";
         System.out.println("init initializing");
    }

同样,调用 servlet 的唯一方法似乎是单击 JSP 文件中的文本字段。我需要在程序执行时调用 Servlet,然后将该数据提供给 JSP 文件。

【问题讨论】:

  • 旁注:是时候更新到 HTML5 DOCTYPE

标签: jsp jakarta-ee servlets


【解决方案1】:

在 web.xml 中,您需要添加 &lt;load-on-startup&gt; 标记以在应用程序部署到服务器时加载 servlet。这是 servlet 的基础知识。

<servlet>
    <servlet-name>Servlet</servlet-name>
    <display-name>Simple Servlet</display-name>
    <servlet-class>com.package.ServletClass</servlet-class>
    <load-on-startup>0</load-on-startup>
</servlet>

【讨论】:

    【解决方案2】:

    我要做的是在ServletContextListener 中收集数据a,然后使用上下文属性与页面共享数据:adding it to the contextretrieving it for the page using the expression language

    【讨论】:

      猜你喜欢
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      • 2011-03-01
      • 2023-03-15
      • 1970-01-01
      • 2014-08-10
      • 1970-01-01
      相关资源
      最近更新 更多