我有一个正在运行的应用程序,使用Spring远程处理HttpInvoker来公开服务。
我在web.xml中有这个定义:
<servlet>
<servlet-name>remoting</servlet-name>
<servlet class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>remoting</servlet-name>
<url-pattern>/remoting/*</url-pattern>
</servlet-mapping>
服务出口商:
<bean name="/AccessMgtService" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
<property name="service" ref="employeeService"/>
<property name="serviceInterface" value="com.xxx.service.EmployeeService"/>
</bean>
在客户端:
<bean id="remoteAccessService" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
<property name="serviceUrl" value="http://localhost:8180/HRManRemote/remoting/EmployeeService"/>
<property name="serviceInterface" value="com.xxx.service.EmployeeService"/>
</bean>
我现在已经为我的HRManRemote应用程序添加了Restful服务。
我的请求映射如下:
@Controller
public class EmployeeController {
@RequestMapping(value="/rest/employees", method=RequestMethod.GET)
@ResponseBody List<Employee> getEmployees() {
...
}
我遇到了网址格式的问题。我无法弄清楚应该使用哪个url来调用Rest服务。
http://localhost:8180/HRManRemote/remoting/rest/employees
也不http://localhost:8180/HRManRemote/rest/employees
的工作。服务器告诉我没有为此URL定义资源
你认为我应该使用什么网址? 我应该使用不同的请求映射吗?
非常感谢提前
吉勒
答案 0 :(得分:0)
编辑您的调度程序servlet映射,如下所示:
<servlet-mapping>
<servlet-name>remoting</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
从浏览器点击http://localhost:8180/HRManRemote/rest/employees
并确保在弹簧配置文件中扫描EmployeeController
。
答案 1 :(得分:0)
我希望以下内容:http://localhost:8180/HRManRemote/remoting/AccessMgtService/rest/employees
我认为您的网站名为HRManRemote,您将被绑定到端口8180?如果是这样,那么远程处理来自web.xml,来自bean配置的AccessMgtService,以及来自Controller的其余部分