[英]two servlets which point on the same package and webservice
任何人都可以告诉我我在做什么吗?
我有一个带有内部声明的servlet的web.xml文件,我想创建另一个访问[到达]同一webservice的servlet。
它不起作用,我不知道我在想什么,请您能帮忙吗? 这是我的servlet和代码:
<!-- old servlet-->
<servlet>
<servlet-name>api</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-config/api-r-servlet.xml</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>api</servlet-name>
<url-pattern>/sitesApi/*</url-pattern>
</servlet-mapping>
<!-- my secod servmet V2 -->
<servlet>
<servlet-name>webservice</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-config/api-web-servlet.xml</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>webservice</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
因此,对于我的其他XML文件api-web-servlet来说,它是完全相同的:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"
>
<context:annotation-config/>
<context:component-scan base-package="com.me.project.rest.api" />
<mvc:annotation-driven />
</beans>
对于我的URL测试,我使用: http:// localhost:8080 / sitesApi / v1 / mysite?id = 1&fields = site.name ,它可以正常工作,但是当我尝试使用其他servlet时,它却没有: http:// localhost:8080 / api / v1 / mysite?id = 1&fields = site.name
*******版本*****
@RequestMapping(value = "/v1/mySite", method = RequestMethod.GET)
public @ResponseBody
Object SitesV1( @RequestParam(value = "ajouterstatus", required = false) Integer ajouterstatus,
@RequestParam(value = "monadresse", required = false) String monadresseHttpServletRequest request, HttpServletResponse responseHttp{
try {
appname = request.getHeaders( "Name" ).nextElement().toString();
} catch ( Exception e ) {
return new Result( "", ": AppName is Empty" );
}
所以与另一种方法完全一样
@RequestMapping(value = "/v2/mySite", method = RequestMethod.GET)
public @ResponseBody
Object SitesV2( @RequestParam(value = "ajouterstatus", required = false) Integer ajouterstatus,
@RequestParam(value = "monadresse", required = false) String monadresseHttpServletRequest request, HttpServletResponse responseHttp{
try {
appname = request.getHeaders( "Name" ).nextElement().toString();
} catch ( Exception e ) {
return new Result( "", ": AppName is Empty" );
}
任何想法 ?? 谢谢
您可以根据需要使用任意数量的Dispatcher Servlet,但是每个服务器都需要使用自己的xml文件进行配置。
因此,对于名为“ api”的servlet,必须将配置文件放置在名为“ api-servlet.xml
”的位置。
现在,您需要具有“ webservice-servlet.xml
”才能使“ webservice”调度程序servlet起作用。
您可以参考以下答案:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.