![](/img/trans.png)
[英]How to hit a servlet class with ServletContextListener from Jsp page button click
[英]How to implement ServletContextListener in servlet accessed through Jsp
我有一個需求,我需要調用從jsp頁面命中的ServletContextListener的contextInitialized和contextDestroyed方法。根據我的需要,我必須使用一些從Jsp頁面接收到的計時器輸入參數,但我無法實現這個...
我已經創建了一個服務端,但是該servlet不是根據要求的,因此請求不會從jsp形式轉到servlet,並且我知道在servlet中添加什么以從jsp頁面獲得匹配和輸入。
這是我的Servlet頁面。
@WebListener()
public class MyContext implements ServletContextListener {
//private ScheduledExecutorService sched;
Timer timer = new Timer();
@Override
public void contextInitialized(ServletContextEvent event) {
//sched = Executors.newSingleThreadScheduledExecutor();
//sched.scheduleAtFixedRate(new MyTask(), 0, 5, TimeUnit.SECONDS);
Calendar date = Calendar.getInstance();
date.set(
//Calendar.DAY_OF_WEEK,Calendar.TUESDAY);
Calendar.DAY_OF_MONTH, 12);
date.set(Calendar.HOUR, 00);
date.set(Calendar.MINUTE, 11);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
timer.schedule(
new MyTask(),
date.getTime(),
1000 * 60 * 60 * 24 * 7);
}
@Override
public void contextDestroyed(ServletContextEvent event) {
//sched.shutdownNow();
timer.cancel();
}
}
這是我的jsp頁面。
<form action="MyContext" method="GET">
<label>Set Date: </label>
<input type="text" name="date" id="date">
<label>Set Time: </label>
<input type="text" name="time" id="time">
<input type="Submit" name="Submit" value="Submit" id="Submit">
</form>
這是我的web.xml文件..
<servlet>
<servlet-name>MyContext</servlet-name>
<servlet-class>MyContext</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyContext</servlet-name>
<url-pattern>/MyContext</url-pattern>
</servlet-mapping>
<listner>
<listner-class>
MyContext
</listner-class>>
</listner>>
請大家幫我,如何從jsp到servlet頁面(上下文)獲取用戶輸入。
提前致謝...
您不能將任何數據從JSP傳遞到那些方法,因為它們是Web應用程序的生命周期方法。 在看到jsp之前,使用contextInitialized
觸發方式。
ServletContextListener
用於初始化和清除應用程序中使用的資源。 請參考這篇文章以適當地使用ServletContextListener。
如果要根據用戶的請求更改計時器的超時,則必須:
event.getServletContext().setAttribute("timer",timer);
getServletContext().getAttribute("timer")
從servlet訪問計時器 application
范圍內
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.