【问题标题】:two servlets which point on the same package and webservice两个指向同一个包和 web 服务的 servlet
【发布时间】:2016-07-21 10:30:52
【问题描述】:

谁能告诉我我所做的是否正确?

我有这个 web.xml 文件,其中声明了我的 servlet,我想创建另一个访问 [reach] 相同 web 服务的 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" );
    }

有什么想法吗?? 谢谢你

【问题讨论】:

标签: java spring web-services jsp servlets


【解决方案1】:

您可以使用任意数量的 Dispatcher Servlet,但每个 Dispatcher Servlet 都需要使用自己的 xml 文件进行配置。

因此,对于名为“api”的 servlet,您必须将配置文件命名为:“api-servlet.xml”。

现在,您需要设置“webservice-servlet.xml”,您的“webservice”调度程序 servlet 才能工作。

您可以参考以下答案:

How does DispatcherServlet work if we have multiple XML Configuration file?

Multiple application context, multiple dispatcher servlets?

【讨论】:

  • 谢谢你的回答,其实我有三个 XML 文件 web.xml 和 webservice-servlet.xml 和 api-servlet.xml,但是还是不行!
  • 这个webservice-servlet.xmlapi-web-servlet.xml,这个api-servlet.xmlapi-r-servlet.xml,这两个XML文件都有关于beans/context annotation和base-package的信息
  • 你能告诉我我应该在第二个 servlet 中放什么吗? webservice-servlet.xml??
  • 尝试将它们准确命名为 webservice-servlet.xml 和 api-servlet.xml ?
  • 你能告诉我在 webservice-servlet.xml 中能找到什么吗??
猜你喜欢
  • 2013-03-23
  • 2011-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-22
  • 2016-10-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多