tomcat启动时载入某个servlet

gavanwanggw gavanwanggw     2022-09-01     727

关键词:

     当我们做一个java项目时,有几个功能都须要载入servlet或者实现某个共同的方法,尽管我们一味地在每个功能中依次载入也不是不能够,可是当某个servlet 或者方法被频繁地载入和应用。我们将面向对象的思想置于不顾却也真的说只是去。

     所以。对于这类的servlet我们须要在Tomcat启动时直接载入,比方初始化信息、读取配置文件等需求时,我们就能够通过web.xml的配置文件对来实现这个需求:

    首先,AbstractItemServlet 类中封装了相应的Init方法:

<span style="font-family:FangSong_GB2312;font-size:18px;">package com.bjpowernode.drp.util.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

import com.bjpowernode.drp.util.BeanFactory;

/**
 * 
 * 负责系统在server启动时初始化
 * @author chao
 *
 */
public class InitServlet extends HttpServlet {

	@Override
	public void init() throws ServletException {		
		System.out.println("创建BeanFactory。。。

。。"); //将抽象工厂放到servletContext中 BeanFactory beanFactory = BeanFactory.getInstance(); this.getServletContext().setAttribute("beanFactory", beanFactory); } }</span>

      其次。在项目的配置文件web.xml(路径为:/WebRoot/WEB-INF/web.xml)中对抽象出来的servlet进行配置:

<span style="font-family:FangSong_GB2312;font-size:18px;">      <!-- 设置tomcat一启动就运行InniServlet -->
	<servlet>
	   <servlet-name>InitServlet</servlet-name>
	   <servlet-class>com.bjpowernode.drp.util.servlet.InitServlet</servlet-class>
	   <load-on-startup>2</load-on-startup>
	</servlet></span>

      这样就能够实如今Tomcat启动时调用com.bjpowernode.drp.util.servlet.InitServlet的init()方法。

     当中。<load-on-startup>N</load-on-startup> 的含义是:标记容器是否在启动的时候就载入这个servlet。当值为0或者大于0时。表示容器在应用启动时就载入这个servlet。当是一个负数时或者没有指定时。则指示容器在该servlet被选择时才载入。正数的值越小,启动该servlet的优先级越高。

     有了这种方法,我们既能够省去每次调用该方法的运行时间和占用空间,又能够完美地实现面向对象的思想。

那我们又何乐而不为呢?

                       技术分享

java程序里运行tomcat启动的时候就执行某个类里的方法

...有的java文件,包括web.xml,applicationContext.xml,struts.xml等,以及servlet和filter,然后进行初始化,所以,在servlet的初始化init()方法中调用service()方法即可参考技术A在web.xml中配置这个servlet的时候给加个load-on-startup=1这个属性,就可以了。 参... 查看详情

如何让 servlet 过滤器在 Tomcat 中的应用程序启动时停止加载?

】如何让servlet过滤器在Tomcat中的应用程序启动时停止加载?【英文标题】:HowdoIgetservletfilterstostoploadingonapplicationstartupinTomcat?【发布时间】:2011-03-3100:11:04【问题描述】:下面是我的部署描述符。我正在使用SpringMVC,但我有一个... 查看详情

java中如何让web服务器启动的时候自动运行web程序中某个类的某个

1、首先让需要自动运行的类继承javax.servlet.http.HttpServlet2、把需要自动运行的类中写一个init方法。(servlet应用程序启动的入口就是init方法)public void init()            System.out.println("这样在web容器启动的时候,就会执... 查看详情

java示例代码_每当加载上下文(tomcat启动)时,在java web应用程序中自动运行servlet/操作

java示例代码_每当加载上下文(tomcat启动)时,在java web应用程序中自动运行servlet/操作 查看详情

javaweb开发入门---tomcat/servlet/jsp

  在做javaweb开发时,首先就要安装tomcat。tomcat是什么呢?它就是一个web服务器,也叫web容器,我们把写好的代码(jsp,html)放到它里面,然后启动它,就可以从外部进行访问(浏览器地址栏中输入localhost进行访问)。你可能还... 查看详情

Spring boot:无法启动嵌入式 Tomcat servlet 容器

】Springboot:无法启动嵌入式Tomcatservlet容器【英文标题】:Springboot:UnabletostartembeddedTomcatservletcontainer【发布时间】:2017-09-2014:58:31【问题描述】:我是SpringBoot新手,在运行我的应用程序时遇到了错误。我正在学习一个教程,我相... 查看详情

servlet

一、下载二、安装三、使用1)部署项目 1)myeclipse会将java代码编译过后的class文件,放在WebRoot/WEB-INF/classes文件夹下 2)只要将数据放在webapps的某个目录(项目名)下,就可以通过浏览器访问了!2)启动服务器 1)运行bin/startup.bat3)集成... 查看详情

javaweb之servlet的生命周期

相关方法init():只会调用一次,并且是在servlet对象创建的时候的触发,一般用于做初始化工作service():处理请求和产生响应的,一次请求调用一次destroy():只会调用一次,servlet从容器中移除时触发tomcat启动时,servlet默认没有创... 查看详情

写一个servlet,启动tomcat报错(代码片段)

错误如下  显示Servlet的映射无效,后来发现在web.xml配置servlet-mapping的url-pattern中的请求名前面忘记加/,加上后解决问题。 查看详情

怎么在tomcat启动时自动执行一个java类获得本项目服务器的ip和端口

...务器的时候启动一个类,可以在web.xml中配置,如下:<servlet>    <servlet-name></servlet-name>    <servlet-class></servlet-class>    <init-param>      <param-name>basedir</param-name>      <param-value>&l... 查看详情

spring再tomcat启动后,初始化完成后,自动执行一次某个类,怎么做

...启动前执行的操作:这里你可增加一个Listener类(implementsServletContextListener),然后在web.xml中记得配置一下<listener><listener-class>包名.自定义的Listener</listener-class></listener>第一个解决;第二个:新增一个类,通过... 查看详情

过滤器(转载)

1 什么是过滤器过滤器JavaWeb三大组件之一,它与Servlet很相似!不它过滤器是用来拦截请求的,而不是处理请求的。当用户请求某个Servlet时,会先执行部署在这个请求上的Filter,如果Filter“放行”,那么会继承执行用户请求的Se... 查看详情

复习jsp/servlet技术

                              第一章  动态网页开发基础Tomcat目录机构/bin   存放各种平台下用于启动和停止Tomcat的脚本文件/conf   存放Tomcat服务器的各种配置文件/lib    存... 查看详情

Tomcat servlet 应用程序的后台线程 [重复]

】Tomcatservlet应用程序的后台线程[重复]【英文标题】:BackgroundThreadforaTomcatservletapp[duplicate]【发布时间】:2010-10-2123:25:36【问题描述】:我对Tomcat不是很熟悉,在我看来,它基本上被抽象为一个cgi服务器,可以在调用之间保存JVM... 查看详情

servlet3.0规范注解规范(代码片段)

Servlet3.0规范(一)注解规范一、基本使用在Servlet3.0时支持注解启动,不再需要web.xml配制文件。1.1Servlet3.0注解Servlet3.0常用注解:@WebServlet@WebFilter@WebInitParam@WebListener@WebServlet("/hello")publicclassHelloServertextendsHttpServlet@Overrideprotectedvoid... 查看详情

servlet介绍(代码片段)

1.Tomcat服务器的目录结构-bin(存放启动和关闭Tomcat的脚本文件)-conf(存放Tomcat服务器的各种配置文件)-lib(存放Tomcat服务器的支持jar包)-logs(存放Tomcat的日志文件)-temp(存放Tomcat运行时产生的临时文件ÿ... 查看详情

过滤器(filter)

1 什么是过滤器过滤器JavaWeb三大组件之一,它与Servlet很相似!不它过滤器是用来拦截请求的,而不是处理请求的。当用户请求某个Servlet时,会先执行部署在这个请求上的Filter,如果Filter“放行”,那么会继承执行用户请求的Se... 查看详情

修改应用下的servlet的url-pattern值后,tomcat启动问题

修改Servlet对应的url-pattern值后,tomcat启动报错,无法访问部署在tomcat下的应用,重写servlet配置也不行,请问还要修改哪里才能生效?参考技术A错误贴出来看看。 查看详情