在Java web应用程序中首先调用默认servlet
我希望在以以下方式访问java web应用程序时,首先调用我的在Java web应用程序中首先调用默认servlet,java,servlets,Java,Servlets,我希望在以以下方式访问java web应用程序时,首先调用我的SampleServlet: http://server:8080/appname/ 有什么方法可以实现这一点吗?不确定您的意思,但您需要将servlet映射到“/” 小样本 / 不确定您的目标是什么,但web应用程序初始化可以通过ServletContextListener实现: public class AppListener implements ServletContextListener { public void
SampleServlet
:
http://server:8080/appname/
有什么方法可以实现这一点吗?不确定您的意思,但您需要将servlet映射到“/”
小样本
/
不确定您的目标是什么,但web应用程序初始化可以通过ServletContextListener实现:
public class AppListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
// place your code here
}
public void contextDestroyed(ServletContextEvent event) {
}
}
稍后在web.xml中:
<web-app>
<listener>
<listener-class>
package.AppListener
</listener-class>
</listener>
...
</web-app>
package.AppListener
...
使用Servlet调用您的Servlet。如果您想将Servlet设置为您的主页,那么这对我来说很有用
主页
...
在主页上显示内容
主页Servlet
主页servlet
com.cantorva.gigcalendar.servlets.HomepageServlet
...
主页servlet
/主页
这意味着通过您指定的URL到达您的应用程序的用户将受到servlet的欢迎。它还为位于“/homepage”的主页创建别名,但您不必使用该别名
如果您想在启动时运行一些代码,那么看起来是正确的。如果您想在启动时运行代码,确实应该可以。如果您有遗留问题,并且必须使用servlet,那么启动时的参数加载可以为您实现以下目的:
<servlet>
<servlet-name>SampleServlet</servlet-name>
<display-name>SampleServlet</display-name>
<description>Sample Servlet</description>
<servlet-class>...</servlet-class>
<init-param>...</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
小样本
小样本
示例Servlet
...
...
1.
load-on-startup标签指定在web应用程序启动时自动加载servlet;数值只是给那些在启动时加载的人一个加载顺序。如果未指定任何值,则当容器决定需要加载servlet时(通常是在第一次访问时)将加载servlet。在应用程序的生命周期中,这将被调用一次。海报要求每个请求访问一次的内容。imho,这个问题不清楚你是否可以投票否决它。我把这个问题解释为“当用户出现时”,意思是显示servlet生成的页面而不是运行代码。埃里克森:是的,我知道它只会被调用一次,而不是每次请求调用一次。这个问题不清楚,这就是为什么我开始回答“不确定你的目标是什么”。事实上,我在应用程序启动时就理解了这个问题(这是我一直在寻找的),现在我看到它有双重解释。所以答案是正确的,伊姆霍。
<welcome-file-list>
<welcome-file>homepage</welcome-file>
</welcome-file-list>
...
<servlet>
<description>Shows stuff on the homepage</description>
<display-name>Homepage Servlet</display-name>
<servlet-name>HomepageServlet</servlet-name>
<servlet-class>com.cantorva.gigcalendar.servlets.HomepageServlet</servlet-class>
</servlet>
...
<servlet-mapping>
<servlet-name>HomepageServlet</servlet-name>
<url-pattern>/homepage</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SampleServlet</servlet-name>
<display-name>SampleServlet</display-name>
<description>Sample Servlet</description>
<servlet-class>...</servlet-class>
<init-param>...</init-param>
<load-on-startup>1</load-on-startup>
</servlet>