`

web.xml中load-on-startup标签的含义及struts jstl应用

阅读更多
在servlet的配置当中,<load-on-startup>5</load-on-startup>的含义是:

标记容器是否在启动的时候就加载这个servlet。

当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;

当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。

正数的值越小,启动该servlet的优先级越高。


Servlet   specification:

        The   load-on-startup   element   indicates   that   this   servlet   should   be   loaded   (instantiated   and   have   its   init()   called)   on   the   startup   of   the   web   application.   The   optional   contents   of   these   element   must   be   an   integer   indicating   the   order   in   which   the   servlet   should   be   loaded.   If   the   value   is   a   negative   integer,   or   the   element   is   not   present,   the   container   is   free   to   load   the   servlet   whenever   it   chooses.     If   the   value   is   a   positive   integer   or   0,   the   container   must   load   and   initialize   the   servlet   as   the   application   is   deployed.   The   container   must   guarantee   that   servlets   marked   with   lower   integers   are   loaded   before   servlets   marked   with   higher   integers.   The   container   may   choose   the   order   of   loading   of   servlets   with   the   same   load-on-start-up   value.

example:

<servlet>  
 <servlet-name>initservlet</servlet-name>  
 <servlet-class>com.bb.eoa.util.initServlet</servlet-class>  
 <init-param>  
  <param-name>log4j-init-file</param-name>  
  <param-value>config/log.properties</param-value>  
 </init-param>  
 <load-on-startup>2</load-on-startup>  
</servlet>  

 

在配置struts应用时,我发现如果不配置<load-on-startup>2</load-on-startup>

<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>
		<load-on-startup>2</load-on-startup>
	</servlet>

 

那么当在JSP页面里面使用struts jstl时会报错误:

如logon.jsp页面如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html:html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<html:form action="logon.do">
	UserName:<html:text property="userName" ></html:text>
	Password:<html:text property="password"></html:text>
	<html:submit>submit</html:submit>
</html:form>
</body>
</html:html>

 如果不配置<load-on-startup>2</load-on-startup>
那么运行时报错如下:

java.lang.NullPointerException: Module 'null' not found.
	org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:755)
	org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:735)
	org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:818)
	org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:488)
	org.apache.jsp.Logon_jsp._jspx_meth_html_005fform_005f0(Logon_jsp.java:138)
	org.apache.jsp.Logon_jsp._jspx_meth_html_005fhtml_005f0(Logon_jsp.java:111)
	org.apache.jsp.Logon_jsp._jspService(Logon_jsp.java:80)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

 

所以解决在使用struts jstl时出现以上错误时,应在web.xml中配置<load-on-startup>2</load-on-startup>

分享到:
评论

相关推荐

    javaWEB总结(2): load-on-startup节点

    这个节点通常出现在Servlet的配置文件——web.xml中,它用于指定Servlet在Web应用程序启动时的加载顺序。`load-on-startup`元素的值是一个整数,表示Servlet的加载优先级。下面我们将深入探讨`load-on-startup`节点...

    Tomcat中用web.xml控制Web应用详解

    Tomcat 中 web.xml 文件是 Web 应用的核心配置文件,负责管理 Web 应用的生命周期、Servlet 的加载顺序、Filter 的配置等。下面对 web.xml 文件中的重要元素进行详细解释。 context-param 元素 context-param 元素...

    详解servlet配置load-on-startup的作用

    在Servlet的配置文件web.xml中,我们可以通过设置&lt;load-on-startup&gt;标签来控制Servlet的加载行为。 load-on-startup的作用可以概括为以下几个方面: 1. 指定Servlet的加载顺序:通过设置load-on-startup的值,我们...

    web.xml配置文件详解

    - `&lt;load-on-startup&gt;`:指定Servlet在应用启动时是否自动加载以及加载的顺序。正值表示自动加载,负值或不设置则表示延迟加载。 7. **&lt;servlet-mapping&gt;**:用于定义Servlet的映射规则。 - `&lt;servlet-name&gt;`:与...

    struts1中web.xml配置详解

    在 struts1 框架中,web.xml 文件是必不可少的配置文件之一,它用于配置 Struts 应用程序的核心组件 ActionServlet。本文将详细解释 web.xml 文件中的配置项和相关知识点。 1. 配置 Struts 的 ActionServlet 在 ...

    用web.xml控制Web应用的行为

    在开发Java Web应用程序时,`web.xml`是一个关键配置文件,它定义了Web应用的行为和结构。本篇文章将深入探讨如何使用`web.xml`来控制Web应用的各种特性。 1. **定义头和根元素** `web.xml`文件通常以`&lt;web-app&gt;`...

    Tomcat中web.xml文件的详细说明

    Tomcat 中的 web.xml 文件是用于配置 Web 应用的核心文件,它定义了 Web 应用的基本信息、Filter、Servlet、Session 等信息。本文将详细介绍 web.xml 文件的结构和各个元素的作用。 1. 文件头部声明 web.xml 文件...

    web.xml_(详解).docx

    4. `&lt;load-on-startup&gt;`:此标签用于指定Servlet在Web应用启动时加载的顺序。数值越小,Servlet越早被加载。如果省略或者值为负数,服务器会根据需要懒加载Servlet。 5. `&lt;servlet-mapping&gt;`:这个标签用于映射...

    web.xml详解

    `web.xml`是Java Web应用程序的核心配置文件,它遵循Java EE规范中的定义,用于定义Web应用的组件、监听器、过滤器以及它们之间的映射关系。在这个文件中,你可以配置Servlet、过滤器、会话超时、错误页面、欢迎文件...

    web.xml 详解

    对于需要在应用程序启动时立即可用的servlet或JSP页面,可以通过设置`load-on-startup`属性来指定其加载顺序。 **示例**: ```xml &lt;servlet-name&gt;MyServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;...

    web.xml配置文件详解[文].pdf

    `&lt;load-on-startup&gt;`元素决定Servlet在Web应用启动时的加载顺序。 7. `&lt;servlet-mapping&gt;`: 为Servlet设置映射,使得特定的URL可以调用Servlet。`&lt;servlet-name&gt;`引用Servlet的名称,`&lt;url-pattern&gt;`定义请求的URL...

    web.xml详解(web-app_2_3.dtd)

    在Java Web开发中,`web.xml`是部署描述文件的核心部分,它定义了Web应用程序的各种配置信息。本文将详细解析`web-app_2_3.dtd`中定义的主要元素及其作用,帮助开发者更好地理解和应用这些配置。 #### 1. `icon`...

    WEB.XML详解

    &lt;load-on-startup&gt;元素用于指示Web容器在Web应用启动时是否加载和初始化servlet。它的值是一个整数,如果未指定或者值为负数,则Web容器会在servlet被首次请求时才加载并初始化。如果值为正数,容器则会在Web应用...

    解析web.xml中在Servlet中获取context-param和init-param内的参数

    在Java Web开发中,`web.xml`是应用的部署描述符,它包含了应用程序的各种配置信息。其中,`context-param`和`init-param`是两个重要的元素,用于设置应用级和Servlet级的初始化参数。理解它们的用法和如何在Servlet...

    web.xml文件中各个标签的介绍

    web.xml 文件中各个标签的介绍 web.xml 文件是 Java Web 应用程序的核心配置文件,用于描述 Web 应用程序的...web.xml 文件中的这些标签都是 Web 应用程序的重要组成部分,它们共同构成了 Web 应用程序的架构和配置。

    apache-tomcat-8.5.61-windows-x64.zip

    Apache Tomcat 是一款开源的Java Servlet容器,它实现了Java EE中的Web应用服务器规范,特别是Servlet和JSP。这个"apache-tomcat-8.5.61-windows-x64.zip"压缩包是针对Windows 64位系统的Apache Tomcat 8.5.61版本的...

    apache-tomcat-8.5.97-windows-x.zip

    - 使用SSL/TLS加密传输,通过修改server.xml中的Connector配置。 8. **监控和管理工具**: - Tomcat提供了一个管理Web应用,例如Manager App和Host Manager,允许用户通过Web界面管理应用部署和服务器配置。 - ...

    官方原版apache-tomcat-9.0.33-windows-x64.zip

    10. **扩展性**:Tomcat可以与其他技术如Spring、Struts、Hibernate等集成,构建复杂的Web应用程序。它也支持插件系统,例如mod_jk或mod_proxy_ajp,用于与Apache HTTP Server集成。 11. **社区支持**:作为开源...

    最新版windows apache-tomcat-8.5.59-windows-x64.zip

    在实际部署和管理过程中,了解如何配置`context.xml`来设置全局资源,或者通过修改`server.xml`中的Connector元素调整服务器性能(如最大连接数、线程池大小等)是非常重要的。同时,理解如何使用Tomcat的Manager...

    最新版windows apache-tomcat-9.0.68-windows-x64.zip

    2. **conf目录**:存放Tomcat的主要配置文件,例如`server.xml`(定义服务器配置)、`web.xml`(全局Web应用配置)和`context.xml`(特定应用上下文配置)。 3. **lib目录**:包含Tomcat运行时所需的JAR文件,如...

Global site tag (gtag.js) - Google Analytics