2014-04-16 57 views
0

我正在使用Eclipse IDE,一個HelloServlet.java和index.jsp文件。如何在程序執行時調用init? Servlet,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文件。

+2

*旁註:*時間更新爲HTML5 DOCTYPE – Raptor

回答

2

在web.xml中,您需要添加<load-on-startup>標記以在應用程序在服務器中部署時加載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>