Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 服务器启动| | tomcat | | eclipse时未执行侦听器类_Java_Eclipse_Tomcat - Fatal编程技术网

Java 服务器启动| | tomcat | | eclipse时未执行侦听器类

Java 服务器启动| | tomcat | | eclipse时未执行侦听器类,java,eclipse,tomcat,Java,Eclipse,Tomcat,我正在研究eclipse、struts和tomcat。 下面是我的web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2

我正在研究eclipse、struts和tomcat。 下面是我的web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>streetmall</display-name>
 <context-param>
  <param-name>imagePath</param-name>
  <param-value>D:\\OrderID_images</param-value>
 </context-param>
 <listener>
  <listener-class>jaha.Customer.util.ApplicationScopeInit</listener-class>
 </listener>
 <servlet>
  <servlet-name>action</servlet-name>
  <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  <init-param>
   <param-name>config</param-name>
   <param-value>/WEB-INF/struts-config.xml</param-value>
  </init-param>
  <init-param>
   <param-name>debug</param-name>
   <param-value>3</param-value>
  </init-param>
  <init-param>
   <param-name>detail</param-name>
   <param-value>3</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet>
  <servlet-name>action_tmp</servlet-name>
  <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  <init-param>
   <param-name>config</param-name>
   <param-value>/WEB-INF/struts-config.xml</param-value>
  </init-param>
  <init-param>
   <param-name>debug</param-name>
   <param-value>3</param-value>
  </init-param>
  <init-param>
   <param-name>detail</param-name>
   <param-value>3</param-value>
  </init-param>
  <load-on-startup>0</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>action</servlet-name>
  <url-pattern>*.do</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
  <welcome-file>welcome.jsp</welcome-file>
 </welcome-file-list>

 <login-config>
  <auth-method>BASIC</auth-method>
 </login-config>

  <description>MySQL Test App</description>
  <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/TestDB</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref></web-app>

街道购物中心
图像路径
D:\\OrderID\u图像
jaha.Customer.util.ApplicationScopeInit
行动
org.apache.struts.action.ActionServlet
配置
/WEB-INF/struts-config.xml
调试
3.
细节
3.
1.
行动计划
org.apache.struts.action.ActionServlet
配置
/WEB-INF/struts-config.xml
调试
3.
细节
3.
0
行动
*.做
welcome.jsp
基本的
MySQL测试应用程序
数据库连接
jdbc/TestDB
javax.sql.DataSource
容器
我的问题是,当我启动tomcat服务器时,我的lister类没有被执行。甚至我也推出了一些System.out.println()。这些消息也不会出现在控制台上。。请帮我摆脱这个

早些时候,我发现类未找到异常。但后来我创建了一个新项目并进行了部署。现在我遇到了这个问题 谢谢

公共类ApplicationScopeInit实现ServletContextListener
{
公共void contextInitialized(ServletContextEvent事件)
{
尝试
{
ClassLoader=Thread.currentThread().getContextClassLoader();
System.out.println(“使用上下文类加载器读取states.properties”);
InputStream iStream=loader.getResourceAsStream(“jaha/Customer/states.properties”);
Properties props=新属性();
System.out.println(“将流直接加载到properties对象中”);
道具载荷(iStream);
//按键查找并将它们作为NameValuePair集合加载到ArrayList中
枚举keyEnum=props.propertyNames();
//使用排序集保存状态名称和值
//定义要提供的匿名内部类
//树集的比较算法
@抑制警告(“未选中”)
Set stateSet=新树集(
新比较器()
{
公共整数比较(对象a、对象b)
{
LabelValueBean nvpA=(LabelValueBean)a;
LabelValueBean nvpB=(LabelValueBean)b;
字符串valA=nvpA.getLabel();
字符串valB=nvpB.getLabel();
返回valA.compareTo(valB);
}
}
);
LabelValueBean nvp=null;
字符串keyName=null;
字符串标签=null;
while(keyEnum.hasMoreElements())
{
keyName=(字符串)keyEnum.nextElement();
label=props.getProperty(keyName);
nvp=新的LabelValueBean(标签,键名);
stateSet.add(nvp);
}
System.out.println(“获取ServletContext并将属性设置为应用程序范围对象”);
ServletContext=event.getServletContext();
setAttribute(“STRUTS\u EXAMPLE\u STATES”,stateSet);
//装货承运人-联邦快递、UPS等。。
List carrierList=new ArrayList();
添加(新的LabelValueBean(“UPS”,“UPS”));
添加(新的LabelValueBean(“USPS”、“USP”);
carrierList.add(新的LabelValueBean(“联邦快递”、“FDX”));
setAttribute(“STRUTS\u示例\u CARRIERS”,carrierList);
//.setAttribute(“STRUTS_示例_CARRIERS”,carrierList);
}
捕获(ioe异常ioe)
{
ioe.printStackTrace();
}
试一试{
System.out.println(“在服务器启动时填充类别”);
HashMap hm=CategoryManager.PopulateCategory();
ServletContext=event.getServletContext();
context.setAttribute(“产品”,hm);
}
捕获(例外e)
{
System.out.println(“$$$$$$$$$$$$$$$初始化所有参数时出现问题”);
}
}
公共无效上下文已销毁(ServletContextEvent事件)
{
event.getServletContext().removeAttribute(“STRUTS_示例_状态”);
event.getServletContext().removeAttribute(“STRUTS_示例_”);
event.getServletContext().removeAttribute(“产品”);
}
}

右键单击maven Web项目,然后在部署程序集下的目标文件夹中添加包含侦听器类的文件夹

例如,如果包com.company.listeners中存在ServletContextListener实现,则部署程序集应具有以下文件夹映射:

target/<applicationname>/WEB-INF/classes/com/company/listeners

我认为这与tomcat中的类加载器层次结构以及用于加载侦听器的类加载器(以及该类加载器可用的类)有关。

我们可以看到您的侦听器类吗?您好,我添加了类请参见。我使用了您的设置,并且能够在服务器启动时看到我的消息打印。您确定服务器启动正常吗?没有stacktrace?我在控制台中没有找到任何stacktrace。甚至我的雄猫也能正常起床。我也可以在控制台中看到我的类名“Applicationscopeinit”。您解决了这个问题吗?我也有同样的问题。谢谢
target/<applicationname>/WEB-INF/classes/com/company/listeners
WEB-INF/classes/com/company/listeners