Servlets 为web服务和servlet配置web.xml
我对restles不熟悉。正在尝试配置web.xml(在JBoss上)。我有两个条目,一个用于servlet(与webservices无关),另一个用于webservices,使用Restlet。以下是参赛作品Servlets 为web服务和servlet配置web.xml,servlets,restlet,web.xml,Servlets,Restlet,Web.xml,我对restles不熟悉。正在尝试配置web.xml(在JBoss上)。我有两个条目,一个用于servlet(与webservices无关),另一个用于webservices,使用Restlet。以下是参赛作品 <servlet> <servlet-name>AuthenticationServlet</servlet-name> <servlet-class>com.safeid.web.server.api.servlet.Authe
<servlet>
<servlet-name>AuthenticationServlet</servlet-name>
<servlet-class>com.safeid.web.server.api.servlet.AuthenticationServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AuthenticationServlet</servlet-name>
<url-pattern>/authenticate/*</url-pattern>
</servlet-mapping>
<!-- Start of Entries for the REST Web Services. -->
<context-param>
<param-name>org.restlet.application</param-name>
<param-value>com.safeid.web.server.SafeIDRouterApplication</param-value>
</context-param>
<servlet>
<servlet-name>RestletServlet</servlet-name>
<servlet-class>com.noelios.restlet.ext.servlet.ServerServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>RestletServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- END of Entries for the REST Web Services.-->
AuthenticationServlet
com.safeid.web.server.api.servlet.AuthenticationServlet
2.
AuthenticationServlet
/鉴定/*
org.restlet.application
com.safeid.web.server.SafeIDRouterApplication
RestletServlet
com.noelios.restlet.ext.servlet.ServerServlet
1.
RestletServlet
/*
两者不能同时工作。在上面的设置中,Restlet可以工作。然而,当我改变
RestletServlet
/*
差不多
<servlet-mapping>
<servlet-name>RestletServlet</servlet-name>
<url-pattern>/credential/*</url-pattern>
</servlet-mapping>
RestletServlet
/凭证/*
Restlet停止工作,AuthenticationServlet工作正常。我在这里遗漏了什么?看起来您遗漏了以下示例中的init参数
<servlet>
<servlet-name>MyApplication</servlet-name>
<servlet-class>org.restlet.ext.servlet.ServerServlet</servlet-class>
<init-param>
<param-name>org.restlet.application</param-name>
<param-value>my.class.that.extends.Application.MyApplication</param-value>
</init-param>
</servlet>
我的申请
org.restlet.ext.servlet.ServerServlet
org.restlet.application
my.class.that.extends.Application.MyApplication
您需要一个扩展org.restlet.Application的类(至少在restlet2.0中是这样)。我也遇到了类似的挫折。也许我的发现会有所帮助 我的应用程序类中有如下路由器条目:
router.attach("/users", UsersResource.class);
<servlet-mapping>
<servlet-name>Sandbox</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Sandbox</servlet-name>
<url-pattern>/users/*</url-pattern>
</servlet-mapping>
http://www.mywebsite.com/users
http://www.mywebsite.com/rest/users
当我的servlet映射是这样的时候,一切都很顺利:
router.attach("/users", UsersResource.class);
<servlet-mapping>
<servlet-name>Sandbox</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Sandbox</servlet-name>
<url-pattern>/users/*</url-pattern>
</servlet-mapping>
http://www.mywebsite.com/users
http://www.mywebsite.com/rest/users
您必须将其更改为:
http://www.mywebsite.com/users/users
当然,您可以将url模式设置为您想要的任何形式:
<servlet-mapping>
<servlet-name>Sandbox</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
url模式被剥离,您可以从应用程序类中获得任何用于自己路由目的的剩余内容
HTH最后一个映射应该可以工作。“休息停止工作”是什么意思?到底发生了什么?您是否调用了正确的URL,资源是否位于正确的位置?请从开发人员的角度,而不是最终用户的角度来阐述。不工作,我的意思是这是一个404错误。哦。。我有。上面的web.xml片段与我面临的问题有关。我现在正在考虑将webservice与servlet/war代码的其余部分分离。