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 是一个Java框架,主要用于在分布式系统中进行远程方法调用(RPC)。...在这个场景下,“http invoker 做post测试...同时,了解如何正确地配置和使用HTTP Invoker进行测试,是提升开发效率和产品质量的关键。
【使用httpInvoker提供远程服务】 在分布式系统中,远程服务调用是常见的需求,Spring框架提供了多种远程服务支持,其中包括HttpInvoker。HttpInvoker是Spring框架的一部分,它允许开发者使用HTTP协议进行远程方法...
- **激活Invoker Servlet**:同样,如果需要使用Invoker Servlet,需要在`/usr/local/tomcat/conf/web.xml`文件中取消相关`<servlet-mapping>`的注释。 5. **启动Tomcat**: - 重启系统使环境变量设置生效。 - ...
公司内部讲义,比较了SOA,RMI和Spring HttpInvoker。并介绍了Spring HttpInvoker的基本使用方法。
服务端还需要配置Servlet容器(如Tomcat)来处理HTTP请求,确保`http-invoker-listener`监听器加载HTTPInvoker的服务。 在客户端,你需要创建一个`HttpInvokerRequestExecutor`,用于执行HTTP调用,然后配置`...
在`FastMethodInvoker.rar`这个压缩包文件中,可能包含了一个自定义实现的`FastMethodInvoker`类或者一个演示如何使用这种技术的示例项目。这个类或项目可以帮助开发者理解和应用这种快速调用方法,从而在特定情况下...
NULL 博文链接:https://lggege.iteye.com/blog/369151
本文将深入探讨HttpInvoker的特点、使用方法以及其在Web调试中的价值。 首先,我们来看HttpInvoker的核心特性。HttpInvoker允许开发者模拟各种HTTP请求,包括GET、POST、PUT、DELETE等常见操作,同时也支持自定义头...
- 使用`E:\apache-tomcat-5.5.23\bin`目录下的`startup.bat`脚本启动Tomcat服务。 4. **验证Tomcat安装:** - 通过浏览器访问`http://localhost:8080`,若能看到Tomcat的欢迎页面,则表示安装成功。 #### 四、...
本篇文章将深入探讨Spring HttpInvoker的原理以及如何对其进行封装,以便在实际项目中更便捷地使用。 **1. Spring HttpInvoker简介** HttpInvoker是Spring Remoting(远程调用)的一种实现方式,它基于HTTP协议,...
本篇将深入探讨SpringBoot HTTP Invoker的原理、配置以及实际应用场景,旨在帮助开发者更好地理解和使用这一工具。 一、HTTP Invoker概述 HTTP Invoker是Spring框架提供的一个基于HTTP协议的远程调用机制,它通过...
总结来说,Hessian、HttpInvoker、XFire和Axis是四种不同的远程调用技术,各有优缺点。通过服务池的设计模式,可以实现对这些技术的统一管理和使用,降低开发复杂度,提高代码的可读性和可维护性。这种设计在大型...
【如何使用Tomcat——学习笔记】 Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web部分,包括Servlet和JSP规范。本教程将详细解释如何配置和...持续学习和实践,会使你在Tomcat使用上更加得心应手。
虽然在某些用户看来,Http Invoker可能并不是最易用或者功能最全面的工具,但其核心概念和使用方法对于理解和实践接口测试仍然是有价值的。 **接口测试的重要性** 接口测试是软件测试的一种关键类型,主要检查系统...
【Eclipse工程Http Invoker Service & Client】是一个基于Eclipse集成开发环境的项目,它主要涉及到了使用HTTP协议来实现服务端(Service)与客户端(Client)之间的远程调用技术。Http Invoker是Spring框架的一个...
在本文中,我们将深入探讨HTTP Invoker的工作原理、使用方法以及它在不同场景下的应用。 HTTP Invoker 主要基于HTTP协议,这是互联网上应用最广泛的一种数据通信协议。它允许客户端(如浏览器或应用程序)向Web...
Spring HTTP Invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用,也就是说,可以通过防火墙,并使用java的序列化机制在网络间传递对象。客户端可以很轻松的像调用本地对象一样调用远程服务器上的...
Spring HttpInvoker,是一套基于Maven+Spring+SpringMVC+MyBatis框架,还包含了Invoker的客户端及服务器端的demo实例
本文将深入探讨如何使用Http Invoker实现RCP客户端与后台的交互,以及相关知识点。 1. **Http Invoker的基本概念**: - Http Invoker是Spring框架的一个组件,它利用HTTP协议来传输Java对象,实现了客户端与服务器...
同样,为了启用Invoker Servlet,需要在`$TOMCAT_HOME/conf/web.xml`中取消相应的`servlet-mapping`块的注释。 如果希望Tomcat监听80端口而不是默认的8080端口,需要修改`server.xml`中的`<Connector>`元素,将port...