`

Tomcat的invoker使用总结

阅读更多

Tomcat的invoker使用总结

invoker为方便servlet的开发与调试开启了一道大门,免去了开发一个servlet就要在web.xml文件中添加相应配置信息的麻烦。以下是位于$TOMCAT_HOME/conf/web.xml文件中对于invoker的说明:

<!-- The "invoker" servlet, which executes anonymous servlet classes      -->
<!-- that have not been defined in a web.xml file.  Traditionally, this   -->
<!-- servlet is mapped to the URL pattern "/servlet/*", but you can map   -->
<!-- it to other patterns as well.  The extra path info portion of such a -->
<!-- request must be the fully qualified class name of a Java class that  -->
<!-- implements Servlet (or extends HttpServlet), or the servlet name     -->
<!-- of an existing servlet definition.     This servlet supports the     -->
<!-- following initialization parameters (default values are in square    -->
<!-- brackets):                                                           -->
<!--                                                                      -->
<!--   debug               Debugging detail level for messages logged     -->
<!--                       by this servlet.  [0]                          -->

简单翻译如下:invoker可以运行没有在web.xml文件中配置的servlet。默认情况下,通过在URL中添加“/servlet/*”来进行映射,当然也可以通过其他URL模式进行映射。被访问的Java类必须使用完全限定名,同时还需要实现Servlet(或者HttpServlet)接口,或则是实现继承自Servlet接口的其他子接口。

将Tomcat安装目录下conf目录中的web.xml文件打开,找到如下两端代码,去掉其注释即可打开invoker功能:
(1)

<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>

(2)

<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

来个例子:
web应用myapp的目录结构如下:

myapp
|——otherfiles
|——WEB-INF
     |——classes
          |——mypack
               |——HelloWorld.class

打开invoker功能之后,访问HelloWorld.class的URL为:http://localhost:8080/myapp/servlet/mypack.HelloWorld

如果没有打开invoker功能,那么还需要在myapp应用的web.xml文件中添加如下配置信息:

<servlet>
<description>just for test</description>
<display-name>test servlet</display-name>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>mypack.HelloWorld</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/servlet/HelloWorld</url-pattern>
</servlet-mapping>

然后通过如下URL访问HelloWorld:http://localhost:8080/myapp/servlet/HelloWorld

缺点:会暴露一些开发信息比如类的完全限定名,而且如果完全限定名很长的话,URL也不如在web.xml进行配置的美观简练,所以仅限开发调试时用。

分享到:
评论

相关推荐

    http invoker 做post测试

    HTTP Invoker 是一个Java框架,主要用于在分布式系统中进行远程方法调用(RPC)。...在这个场景下,“http invoker 做post测试...同时,了解如何正确地配置和使用HTTP Invoker进行测试,是提升开发效率和产品质量的关键。

    使用httpInvoker提供远程服务

    【使用httpInvoker提供远程服务】 在分布式系统中,远程服务调用是常见的需求,Spring框架提供了多种远程服务支持,其中包括HttpInvoker。HttpInvoker是Spring框架的一部分,它允许开发者使用HTTP协议进行远程方法...

    Tomcat在linux下的安装

    - **激活Invoker Servlet**:同样,如果需要使用Invoker Servlet,需要在`/usr/local/tomcat/conf/web.xml`文件中取消相关`&lt;servlet-mapping&gt;`的注释。 5. **启动Tomcat**: - 重启系统使环境变量设置生效。 - ...

    Spring HttpInvoker介绍

    公司内部讲义,比较了SOA,RMI和Spring HttpInvoker。并介绍了Spring HttpInvoker的基本使用方法。

    httpinvoker的使用实例

    服务端还需要配置Servlet容器(如Tomcat)来处理HTTP请求,确保`http-invoker-listener`监听器加载HTTPInvoker的服务。 在客户端,你需要创建一个`HttpInvokerRequestExecutor`,用于执行HTTP调用,然后配置`...

    FastMethodInvoker.rar

    在`FastMethodInvoker.rar`这个压缩包文件中,可能包含了一个自定义实现的`FastMethodInvoker`类或者一个演示如何使用这种技术的示例项目。这个类或项目可以帮助开发者理解和应用这种快速调用方法,从而在特定情况下...

    Spring的HttpInvoker使用示例 (可下载源码)

    NULL 博文链接:https://lggege.iteye.com/blog/369151

    HttpInvoker.zip http调试工具

    本文将深入探讨HttpInvoker的特点、使用方法以及其在Web调试中的价值。 首先,我们来看HttpInvoker的核心特性。HttpInvoker允许开发者模拟各种HTTP请求,包括GET、POST、PUT、DELETE等常见操作,同时也支持自定义头...

    IIS与Tomcat整合

    - 使用`E:\apache-tomcat-5.5.23\bin`目录下的`startup.bat`脚本启动Tomcat服务。 4. **验证Tomcat安装:** - 通过浏览器访问`http://localhost:8080`,若能看到Tomcat的欢迎页面,则表示安装成功。 #### 四、...

    Spring HttpInvoker的封装

    本篇文章将深入探讨Spring HttpInvoker的原理以及如何对其进行封装,以便在实际项目中更便捷地使用。 **1. Spring HttpInvoker简介** HttpInvoker是Spring Remoting(远程调用)的一种实现方式,它基于HTTP协议,...

    springboot-httpinvoker-demo.zip

    本篇将深入探讨SpringBoot HTTP Invoker的原理、配置以及实际应用场景,旨在帮助开发者更好地理解和使用这一工具。 一、HTTP Invoker概述 HTTP Invoker是Spring框架提供的一个基于HTTP协议的远程调用机制,它通过...

    Hessian 、 HttpInvoker 、 XFire 、 Axis

    总结来说,Hessian、HttpInvoker、XFire和Axis是四种不同的远程调用技术,各有优缺点。通过服务池的设计模式,可以实现对这些技术的统一管理和使用,降低开发复杂度,提高代码的可读性和可维护性。这种设计在大型...

    如何使用tomcat--学习笔记

    【如何使用Tomcat——学习笔记】 Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web部分,包括Servlet和JSP规范。本教程将详细解释如何配置和...持续学习和实践,会使你在Tomcat使用上更加得心应手。

    Http Invoker

    虽然在某些用户看来,Http Invoker可能并不是最易用或者功能最全面的工具,但其核心概念和使用方法对于理解和实践接口测试仍然是有价值的。 **接口测试的重要性** 接口测试是软件测试的一种关键类型,主要检查系统...

    Eclipse工程Http Invoker Service & Client

    【Eclipse工程Http Invoker Service & Client】是一个基于Eclipse集成开发环境的项目,它主要涉及到了使用HTTP协议来实现服务端(Service)与客户端(Client)之间的远程调用技术。Http Invoker是Spring框架的一个...

    httpinvoker.zip

    在本文中,我们将深入探讨HTTP Invoker的工作原理、使用方法以及它在不同场景下的应用。 HTTP Invoker 主要基于HTTP协议,这是互联网上应用最广泛的一种数据通信协议。它允许客户端(如浏览器或应用程序)向Web...

    spring-httpinvoker-demo

    Spring HTTP Invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用,也就是说,可以通过防火墙,并使用java的序列化机制在网络间传递对象。客户端可以很轻松的像调用本地对象一样调用远程服务器上的...

    Spring HttpInvoker

    Spring HttpInvoker,是一套基于Maven+Spring+SpringMVC+MyBatis框架,还包含了Invoker的客户端及服务器端的demo实例

    用Http Invoker实现RCP客户端与后台的交互

    本文将深入探讨如何使用Http Invoker实现RCP客户端与后台的交互,以及相关知识点。 1. **Http Invoker的基本概念**: - Http Invoker是Spring框架的一个组件,它利用HTTP协议来传输Java对象,实现了客户端与服务器...

    Linux下Tomcat的安装

    同样,为了启用Invoker Servlet,需要在`$TOMCAT_HOME/conf/web.xml`中取消相应的`servlet-mapping`块的注释。 如果希望Tomcat监听80端口而不是默认的8080端口,需要修改`server.xml`中的`&lt;Connector&gt;`元素,将port...

Global site tag (gtag.js) - Google Analytics