图书管理系统配置的load-on-startup无效,但是菜品管理系统是正常的,什么原因?
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>shenjw_library</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>InitServlet</display-name>
<servlet-name>InitServlet</servlet-name>
<servlet-class>com.shenjw.servlet.InitServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>InitServlet</servlet-name>
<url-pattern>/InitServlet</url-pattern>
</servlet-mapping>
<servlet>
<display-name>LoginServlet</display-name>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.shenjw.servlet.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/LoginServlet</url-pattern>
</servlet-mapping>
<servlet>
<display-name>RegistServlet</display-name>
<servlet-name>RegistServlet</servlet-name>
<servlet-class>com.shenjw.servlet.RegistServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RegistServlet</servlet-name>
<url-pattern>/RegistServlet</url-pattern>
</servlet-mapping>
<servlet>
<display-name>CategoryServlet</display-name>
<servlet-name>CategoryServlet</servlet-name>
<servlet-class>com.shenjw.servlet.CategoryServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CategoryServlet</servlet-name>
<url-pattern>/CategoryServlet</url-pattern>
</servlet-mapping>
<servlet>
<display-name>AddBookServlet</display-name>
<servlet-name>AddBookServlet</servlet-name>
<servlet-class>com.shenjw.servlet.AddBookServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AddBookServlet</servlet-name>
<url-pattern>/AddBookServlet</url-pattern>
</servlet-mapping>
<servlet>
<display-name>SelectBookServlet</display-name>
<servlet-name>SelectBookServlet</servlet-name>
<servlet-class>com.shenjw.servlet.SelectBookServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SelectBookServlet</servlet-name>
<url-pattern>/SelectBookServlet</url-pattern>
</servlet-mapping>
<filter>
<filter-name>EncodeFilter</filter-name>
<filter-class>com.shenjw.filter.EncodeFilter</filter-class>
<init-param>
<param-name>charset</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>AuthFilter</filter-name>
<filter-class>com.shenjw.filter.AuthFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthFilter</filter-name>
<url-pattern>/server.jsp</url-pattern>
</filter-mapping>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>shenjw_food</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<description></description>
<display-name>InitServlet</display-name>
<servlet-name>InitServlet</servlet-name>
<servlet-class>com.shenjw.servlet.InitServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>InitServlet</servlet-name>
<url-pattern>/InitServlet</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>FoodAddServlet</display-name>
<servlet-name>FoodAddServlet</servlet-name>
<servlet-class>com.shenjw.servlet.FoodAddServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FoodAddServlet</servlet-name>
<url-pattern>/FoodAddServlet</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>FoodDeleteServlet</display-name>
<servlet-name>FoodDeleteServlet</servlet-name>
<servlet-class>com.shenjw.servlet.FoodDeleteServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FoodDeleteServlet</servlet-name>
<url-pattern>/FoodDeleteServlet</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>FoodUpdateServlet</display-name>
<servlet-name>FoodUpdateServlet</servlet-name>
<servlet-class>com.shenjw.servlet.FoodUpdateServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FoodUpdateServlet</servlet-name>
<url-pattern>/FoodUpdateServlet</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<display-name>SelectServlet</display-name>
<servlet-name>SelectServlet</servlet-name>
<servlet-class>com.shenjw.servlet.SelectServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SelectServlet</servlet-name>
<url-pattern>/SelectServlet</url-pattern>
</servlet-mapping>
</web-app>
我之前有些servlet里使用了注解,后来删除了,全部使用配置文件来配置,servlet解析正常,但是就是无法应用启动的时候InitServlet自动创建
正在回答
通过load-on-startup是可以在应用启动的时候加载配置的Servlet的:
这是我的测试代码:
需要初始化的类:

web.xml配置文件:

控制台输出信息:

是完成了类的初始化。建议同学参考这段代码,对应自己的代码,再检查一下。
祝学习愉快!
- 参与学习 人
- 提交作业 1088 份
- 解答问题 10204 个
如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星