我正在使用Eclipse IDE,一个HelloServlet.java和index.jsp文件。
当我右键单击我的项目并单击" Run As"程序执行。然后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文件。
答案 0 :(得分: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>
答案 1 :(得分:0)
我要做的是在ServletContextListener中收集数据a,然后使用上下文属性与页面共享数据:adding it to the context和retrieving it for the page using the expression language。